引子:
ONVIF协议是监控领域的国际标准,现在基本所有的大厂IPC摄像头都支持此协议。如果想开发一套录播系统,支持IPC摄像头的集中录制,点播回放,以及实时监控流调度,提供的点播协议需要支持rtsp和HLS,可以利用的开源技术有哪些呢?
本文提供的基本解决方案如下
IPC 1------>
IPC 2 ------> 基于onvif + live555 + ffmpeg 的Recorder ===>Darwin Streaming Server(DSS 提供RTSP点播和直播)
IPC N-----> ===>nginx rtmp模块提供HLS的点播和直播
具体说明如下:
onvif代码有自动生成工具,具体的onvif 客户端代码github.com上一搜一大把,有需要的可以email联系我。
live555实现rtsp流媒体的抓取
ffmpeg实现录制文件格式的存储,ts分片以及HLS m3u8的实现。对于RTSP直播需要扩展一下Darwin Streaming Server。对于HLS的直播只要注意直播m3u8的格式,不要弄成跟点播格式一样就行,具体可以参考链接:https://developer.apple.com/library/content/technotes/tn2288/_index.html
再用mysql作为录制文件记录管理数据库,提供一套Web界面:录制点管理,录制文件管理, 磁盘管理,VLC activeX提供播放支持等。
一个完整的基于开源计算架构的IPC录播服务器就成型。
参考文献:
为Darwin Streaming Server扩展TS文件格式支持