海康大华等网络摄像机监控视频RTSP/RTMP推流网页播放/直播无需插件低延迟解决方案研究 |
您所在的位置:网站首页 › 摄像头分几种 › 海康大华等网络摄像机监控视频RTSP/RTMP推流网页播放/直播无需插件低延迟解决方案研究 |
市面上常见监控视频推流方案简介
当前如果想要将监控视频在浏览器中播放,有几种常见的办法如下: 1、获取摄像头RTSP流,使用FFmpeg或者程序如JavaCV或者其他方式,将其推流成RTMP,通过服务端搭建Nginx进行推流,Nginx需要编译集成RTMP模块,然后浏览器前端用flv.js播放RTMP流的视频。 2、同样采取推流的方式,Nginx实现推流并切片为m3u8,或者HLS方式,本质上是将视频流分片保存然后网页播放,此方案次于第一种。 3、其他一些解决方案,大同小异,各有各的弊端。 以上方案都不是特别完美,要么是延迟高,要么就是不稳定,容易断掉,并且维护也非常麻烦,过程繁琐,容错性低。 上述常见方案实现的痛点总结1、RTSP推RTMP流过程繁琐,需要搭建Nginx,运行时容错性低 2、网页端播放需要安装插件,如播放RTMP流需要Flash插件,然而较新版本Chrome已不支持Flash,用户端使用麻烦 3、虽然有方案可以网页播放RTMP流,但是延迟和资源消耗居高不下 4、使用m3u8播放需要Nginx切片,延迟也很高 5、其他方案稳定性差,容易卡住,或者因为其他不可控因素导致断流 6、耗费精力搭建与运维,部署麻烦 7、其他部分方案门槛搞,需要去学专门的工具类,坑也多,费时费力 本方案特色1、延迟极低,一秒以内,播放稳定,极限测试可以一直播放几天,不掉线 2、支持视频音频同时传输,可以选择关闭音频 3、无需安装web浏览器插件,兼容各种浏览器 4、服务端兼容多平台(Linux,MacOS,Windows),一键运行 5、使用简单,配置方便,后续会增加灵活配置功能 6、可以二次开发,自定义界面,融入现有系统非常方便快捷 本方案应用前置条件只要满足以下两个条件即可使用: 1、需要能获取摄像头RTSP流 2、视频编码为H264,音频编码为aac 效果演示 海康威视摄像头https://www.bilibili.com/video/BV1qV411a7Pd/ 浙江大华摄像头https://www.bilibili.com/video/BV1c5411G7rU/ 方案技术简介与上述方案相比,少了一步转RTMP流的过程,获取原生的RTSP流即可进行操作。通过WS协议与客户端交互,简单高效。 其延迟限大小制与RTSP流获取延迟与网络传输带宽。基本上正常情况下十多路监控视频一起推流可以到达一秒以内延迟,系统CPU,内存占用极小。和海康自带的网页监控平台基本持平(海康平台需要IE浏览器播放,且安装ActiveX插件),用户使用非常不方便。采取这种方式的话,就无需安装Flash插件,兼容多浏览器。 至于程序代码,可以自行选择语言编写,推荐C++与Go,Java也可,核心思想不变,这里提供一个实现好的案例,仅供参考:https://www.yuanmasucai.com/24963.html 参考资料:FFmpegWiki:https://trac.ffmpeg.org/ RTSP协议学习:https://blog.csdn.net/lory17/article/details/60144734 Netty:https://netty.io/ |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |