ffmpeg CCTV 方案对比

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csharp25/article/details/84679939

ffmpeg CCTV一共介绍了4种方案,目的都是为了在网页实现cctv。如果可以接受winform的,建议直接调用NVR的sdk或使用vlc插件实现,这里有个很好的实现(实测rtsp很稳定,如果不是rtsp使用ffmpeg转码即可):

https://github.com/higankanshi/Meta.Vlc

本文做一个对比,介绍一下每种方案的利弊:

1. 使用streamedian。

好处:websocket中间件实现转码,并且video on demand。

缺陷:实测5路摄像头以上不够稳定。播放一段时间就会有延迟。

2. 使用ffserver

好处:开源免费。

缺陷:

1. 配置比较麻烦

扫描二维码关注公众号,回复: 4324132 查看本文章

2. 5路以上不稳定

3. 使用jsmpeg

好处:开源,配置简单。延迟低。

缺陷:

1. cpu占用过多,ubuntu4u 3.0gb 只能开到12路

2. 一个相机需要开2个端口

3. 客户端(外星人pc)cpu12路cpu占用到40%

4. shinobi video

好处:

稳定,16路cpu只占了10%

缺陷:商用收费,1个实例安装需要2000美元

总结:根据具体场景对不同方案进行选择。建议直接做winform,如果一定要在浏览器实现:

如果只需要支持10路以下相机24小时监控,选择jspmeg+websocket;

如果只是定时打开相机,并且只需要同时支持5路以下,选择streamedian。

如果支持路数较多,比如同时32路,取决于硬件价格,如果pc总价格高于2000美元则直接买shinobi video;否则还是选择jsmpeg。

另外,如果考虑购买,土豪还可以选择wowza。其他选择还有red5流媒体服务器,但是pro仍然是收费的;webrtc方案(kurento)笔者不推荐,应用是双向音视频,只是cctv就太over kill了。

猜你喜欢

转载自blog.csdn.net/csharp25/article/details/84679939