TinyGBS是基于GB/T28181-2016(公共安全视频监控联网系统信息传输、交换、控制技术要求)开发的成熟的、敏捷的、产品化的视频汇聚平台,支持标准的监控设备的接入和管理,在多个应用场景中成功落地。实现实时视频调阅、设备控制(云台控制、聚焦控制、拉框放大/缩小、巡航、看守位、预置位)、设备录像回放与控制、语音对讲、告警、H264/H265 多编码格式、支持 UDP/TCP 被动/TCP 主动三种流传输模式、设备状态监测、录像检索、向上级联国标平台等能力,能为大数据等综合管理平台提供极强的视频接入能力能力。
提出问题
将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:
1)获取摄像头视频
2)将视频直播出去
3)网页无插件直播和APP集成
获取摄像头视频,之前主要采取拉流模式,即在知道摄像头ip地址的情况下,可以通过RTSP协议拉取摄像头实时视频。最新的方案是采用GB28181协议,由摄像头主动向平台注册设备信息并发送RTP视频流到平台。视频到达平台后需要进行协议转换,以适应直播要求,通常是将摄像头视频通过rtmp/http等协议转发出来,以满足网页直播和APP播出的要求。要在网页中无插件播放直播视频,现在用的播出协议主要有四种:http-flv、http-mp4、websocket和hls,而rtmp协议由于需要flash支持,目前已经没有人再使用。如果要获得低延迟,以及做到无插件直播,建议选用http-flv、http-mp4、websocket协议。
综合一下,监控摄像头直播的流程大致如下:
摄像头--->(rtp/rtsp)--->服务平台(GB28181平台+流媒体服务器)---(http/hls/websocket)--->网页或APP
实现流程
为了搭建监控直播系统,我们要做如下准备工作: