一、现有方案
在浏览器中实现播放RTSP实时视频流,大体上有如下几个方案:
1.浏览器插件方案
此方案主要适用于在IE及Chrome45以下版本的浏览器,在年前是绝对主流的选择。使用ActiveX播放控件或NPAPI播放插件实际调用的是本地原生程序进行直接播放,从而可充分利用本机硬件解码和硬件加速渲染播放,可实现低延迟、低成本多路稳定播放的良好效果。一般使用VLC这个最流行的开源跨平台多媒体播放器,IE及Chrome、Firefox低版本浏览器分别有对应的播放插件实现,VLC对移动端支持也非常好。此方案非常灵活,可以方便的对接各品牌的视频流,也可以很容易实现截图和录像功能。缺点是需要额外安装VLC客户端软件,对个别明确要求不能用插件的场景不适用。摄像头厂家一般也会提供适配的播放插件,比如海康威视提供的播放控件Web版,是和自己的DSS系统捆绑使用的,但不支持在Firefox高版本中运行。
2.先转码再转流方案此方案需要架设一个或多个视频流转码服务器,先在服务器上对RTSP流用ffmpeg进行转码串流成RTMP,然后前端使用VideoJS再调用AdobeFlashPlayer进行播放,然而年开始基于Chromium内核的所有浏览器彻底取消了对FlashPlayer的支持,VideoJS因此失效。不过幸好还有开源的替代播放方案flv.js(