如何搭建一套最简单的音视频流媒体系统?

2020-04-22 17:38:54 浏览数 (1)

2013年,4G网络时代到来,使得监控视频可以通过移动终端实现无障碍传递,民用市场发展具备了基础。大数据分析打开安防智能化和安防运营市场,公安报警功能,人脸识别功能,数据分析功能逐渐成为用户关注的重点。而在2019年,商用5G的开启,也让安防行业在新的技术条件下,诞生新的商业模式。

如何将各种各样的安防摄像机、NVR进行统一接入和管理,也成为了可视化安防服务新的论题。EasyNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到EasyNVR,EasyNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且EasyNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发。

怎样建设一套属于自己的EasyNVR流媒体系统

第一步:设备对接协议的选择

设备对接协议有RTSP、Onvif协议,指从设备取流的协议方式,还有国标GB/T28181协议,是指向设备取流,这几种都是通过设备所支持的协议过程从而获取设备回调的音视频数据,例如海康的NetSDK、国家电网视频平台A/B接口等。

而如何选择取流协议,主要是看自身的应用需求。假如设备只有海康的,则可以用海康的SDK来取流,可是如果设备包含各种厂家,且不是固定的,则建议采用RTSP这种国际标准的取流方式。

以RTSP取流为例,我们在开源或者商用领域有很多可选的,比如ffmpeg和EasyRTSPClient(https://github.com/EasyDSS/easyRTSPClient)。

第二步:数据处理与分析

当我们已经获取到音视频流后,接下来则是需要将流统一Demux为ES流进行下一步处理,例如海康SDK输出的大部分流为PS流,这就要求我们将PS解析成ES的音视频数据,再基于ES的音频、视频数据进行例如:快照、视频信息、转码、视频分析等多种操作。

第三步:推流与分发

以海康SDK流为例,进行了初步的数据处理后,下面则是需要将ES音视频数据通过librtmp或者EasyRTMP(https://github.com/EasyDSS/EasyRTMP)推送到nginx-rtmp或者EasyDSS(www.easydss.com)流媒体服务器进行高性能分发和存储,并提供一系列的对外管理接口。

第四步:接口化处理

完成了以上3步,只能算是跑通了整个数据流程,我们还需要对整个流程进行控制,例如,当有客户端请求观看的时候,我们才启动取流、转码、推流、分发的过程,当用户停止观看或者一段时间内超时未进行服务端保活,服务端即停止整个流转的过程。

同时,我们需要将对某个设备的取流、取录像的过程均以接口的形式对外输出,这样一套底层可以提供给多个现场,多种项目使用。

第五步:EasyNVR流媒体平台界面展现

0 人点赞