JavaCV音视频开发宝典:使用JavaCV和springBoot实现websocket-flv直播服务,无需流媒体服务,浏览器网页flv.js播放器直接播放rtsp,rtmp等实时视频
《JavaCV音视频开发宝典》专栏目录导航
《JavaCV音视频开发宝典》专栏介绍和目录
硬核注意:本文默认读者已经熟练掌握springboot和websocket的前置知识并了解流媒体音视频技术。
前言
前面我们已经讲了webm直播,http-flv直播,本章就直接开始动手实现websocket-flv直播。
关于flv格式的起源与发展等等基本知识在上一章:
《JavaCV音视频开发宝典:使用JavaCV和springBoot实现http-flv直播服务,无需流媒体服务,浏览器网页flv.js转封装方式播放rtsp,rtmp和桌面投屏实时画面》中基本上都讲过了,不再赘述,有兴趣的可以去看看。
websocket-flv是为了解决http-flv的一些弊端而出现的流媒体传输技术。
websocket-flv是要解决什么问题呢?
这就不得不提到浏览器的http有连接限制,一般而言,浏览器http连接数最大不超过6个连接,比如常用的chrome浏览器的最大http连接数是6个,大部分浏览器http连接数限制如下图所示:
与大部分http接口使用短连接不同的是,http-flv是长连接,而且不会释放,会一直占用http连接,所以浏览器端过多使用http长连接(超过6个)之后会导致浏览器http连接阻塞,无法发送任何http连接,也无法请求任何http接口。
websocket-flv兼容性
现代浏览器(chrome、safari、firefox、edge、IE11+等)都可以直接播放websocket-flv格式视频。
利用浏览器的mse特性,来使用基于flv.js转封装技术的播放器来播放JavaCV实现的websocket-flv直播。
参考资料
本文转载自:https://eguid.blog.csdn.net/article/details/123492398,完整查看本章请到:https://eguid.blog.csdn.net/article/details/123492398
---end---
本文来自博客园,作者:eguid,没有作者允许禁止转载,取得作者同意后转载需注明作者名和原文链接:https://www.cnblogs.com/eguid/p/16015559.html