安防摄像头互联网直播方案LiveGBS设计文档

 

LiveGBS设计文档

1、介绍

28181协议全称为GB/T28181《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是由公安部科技信息化局提出,由全国安全防范报警系统标准化技术委员会(SAC/TC100)归口,公安部一所等多家单位共同起草的一部国家标准(如下简称28181)。28181协议在全国平安城市、交通、道路等监控中普遍采用,若想作统一的大监控平台,则支持28181协议接入是必不可少的。
LiveGBS是基于GB28181,为了知足能够集中统一管理和观看全部摄像头、硬盘录像机等设备而设计的,将传统安防摄像头实现Web端无插件播放。前端

2、功能介绍

 

  • 提供用户管理及Web可视化页面管理;
  • 提供设备状态管理,可实时查看设备是否掉线等信息;
  • 实时流媒体处理,PS(TS)转ES;
  • 实时快照、视频数据获取;
  • 设备状态监测;
  • 云台控制;
  • 录像检索、回放;
  • 提供RTMP、HTTP-FLV、HLS等多种协议流输出;
  • 对外提供服务器获取状态、信息,控制等HTTP API接口;

3、系统架构

LiveGBS实现了从安防设备(IPC、NVR…)到能够互联网直播的一条通道。知足客户使用的同时提供了标准的RESTful API接口,供用户集成开发。
以下是LiveGBS的架构图:
在这里插入图片描述web

3.一、展示层

Web前端

基于HTML/HTML5/Vue/CSS3开发web前端页面,兼容主流浏览器。展示层和数据层彻底分离,经过跨域实现先后端数据通讯。数据库

Web播放器

本身封装的一套集Video.js、Flash、flv.js与一体,并优化了一些性能问题,增长了截图、自适应宽高、极速/流畅模式切换等功能,同时提供对应调用接口。后端

Restful接口

基于特定业务,采用Restful标准接口,对外提供数据服务。跨域

3.2 服务层

服务层按照功能模块划分为信令管理服务LiveCMS和流媒体管理服务LiveSMS两个核心模块。浏览器

LiveCMS

LiveCMS负责IPC、NVR、视频平台等设备接入管理的同时,提供与用户交互的功能,响应全部用户的请求。有用户权限管理,对于设备端操做的权限管理等。缓存

  1. LiveCMS与设备之间经过GB28181协议保持注册与交互,包括设备注册、云台控制等;
  2. LiveCMS与用户之间经过自动的Web界面或Restful接口完成客户请求;
  3. LiveCMS从Redis数据库检索全部设备状态以及LiveSMS的状态;
  4. LiveCMS经过SIP信令通知LiveSMS开始处理流数据;
    在这里插入图片描述

LiveSMS

LiveSMS是接收设备端PS视频流数据并转成ES流,而后打包成RTMP、HTTP-FLV、HLS直播流进行分发。当一台LiveSMS服务器性能不够时,能够采用LiveSMS集群部署。
每一个LiveSMS从启动开始都会向同一个Redis中更新本身的配置、负载、以及本身当前处理的流的状态信息。LiveCMS在接收到用户请求时会从Redis中获取全部LiveSMS的信息,选择合适的LiveSMS来处理当前的请求。安全

  1. LiveSMS接收设备的PS流后,Demux成ES流
  2. 使用ES流能够保存图片
  3. ES流推送给自身的流媒体分发服务器,分发出RTMP、HLS、FLV、RTSP流, 同时能够推送给用户自定义的CDN等流媒体服务。

LiveSMS中包含的流媒体分发服务相比普通的流媒体直播服务增长了对于各类视频流的兼容、HTTP-FLV的支持、流信息统计、缓存的控制等。同时对于须要RTSP流的用户,可扩展RTSP转发服务。服务器

后期扩展

LiveGBS已经知足绝大部分场景下关于GB28181设备的接入和访问。
LiveGBS开放了全部功能的API接口,可扩展接入到统一的云平台来管理和访问全部现场的LiveGBS。架构

相关文章
相关标签/搜索