WEB前端直接播放RTSP/RTMP视频流,支持H.265/H.264硬解,300毫秒延迟,同时播放20路不卡顿

2023-12-18 14:29:29 0点赞 0收藏 0评论

现在越来越多的摄像头开始支持H.265,因为H.265相比H.264压缩更高,网络传输消耗的资源更少,并且画质更清晰,但是H.265在浏览器中却并不普及,虽然2022年 9 月份,Chrome 发布 M106 版本,开始支持硬件解码,但是WebRTC 并不支持直接传输 h265 视频流。

关于网页播放摄像头RTSP视频流,网上有很多免费开源方案,大多数是通过把RTSP转码成HLS或者RTMP视频流,然后通过Flash插件播放,但是大多数延迟非常高(比如:HLS延迟达到十几秒),并且播放多路或者播放高清视频也非常容易卡顿(服务器转码,资源消耗非常大)。

下面介绍两种用的比较多的方案:

1.ffmpeg +flvjs + websocket + node

原理:利用ffmpeg(开源)把RTSP转码成FLV,用 websocket 传输FLV流,最后用 flvjs(bilibili 开源)在浏览器播放。具体的技术细节可以自行搜索。

效果:延迟2秒以上,播放多路的时候比较占用CPU资源,并且存在卡顿和花屏的情况,要求不高的非商业可以使用。

2.猿大师播放器,官网:http://www.yuanplayer.com/

原理:通过猿大师提供的内嵌网页专利技术,底层调用VLC控件可实现在Chrome、Firefox、Edge等高版本浏览器中低延迟、多路同时播放RTSP实时视频流。

WEB前端直接播放RTSP/RTMP视频流,支持H.265/H.264硬解,300毫秒延迟,同时播放20路不卡顿

效果:因为调用的是VLC控件播放,和用VLC桌面播放器直接播放效果是一样的,VLC默认缓存是1000,所以延迟是1S左右,如果要降低延迟可以通过修改降低缓存来实现,最低可以到300毫秒左右,同时可以播放20路以上视频不卡顿,适合对延迟要求高的场景,如交通、公安、消防等。

多路播放视频效果:

低延迟效果视频效果:

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松