ffmpeg api推流,谷歌浏览器播放大华、海康威视网络摄像头rtsp视频流方案(hls、m3u8、flv、webrtc、srs、nginx、nginx-rtmp、rtmp)比较
将网络摄像头视频流在主流浏览器中无插件播放,不必局限于ie中使用摄像头厂商自带的插件播放。
尝试了几种方案:
①nginx + nginx-rtmp-module + hls + EasyWasmPlayer.js
②srs + flv + h5
③srs + flv + EasyWasmPlayer.js
④srs + webrtc + jswebrtc
以上所有方案均是将rtsp协议转换为rtmp协议,视频格式均转换为flv。
所有延迟对比前面(下面)时间为大华摄像头ie插件播放,后面(上面)为谷歌浏览器vue项目中播放。
基础准备
我在虚拟机中部署了nginx服务器,nginx-rtmp-module rtmp服务器。
在虚拟机中使用docker部署了srs3和srs-4,只有第四版才支持webrtc
使用ffmpeg api推流,命令行推流都是一样的。
推流代码:
https://blog.csdn.net/m0_46144966/article/details/115416301
从主机推流到虚拟机的服务器上后,在主机谷歌浏览器中拉流播放。
视频流来自大华网络球机。
srs地址和docker安装方式:
https://github.com/ossrs/srs/tree/4.0release
nginx-rtmp-module地址和安装方式:
https://github.com/arut/nginx-rtmp-module
EasyWasmPlayer.js用于播放hls(m3u8)和http/flv协议的视频:
https://www.npmjs.com/package/easywasmplayer
这个一定按照官网给定的方式使用,放在根目录下。
参考:
https://blog.csdn.net/m0_46144966/article/details/115409372