zoukankan      html  css  js  c++  java
  • 实现国标GB28181流媒体服务解决方案

    背景

    28181协议全称为GB/T28181《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是由公安部科技信息化局提出,由全国安全防范报警系统标准化技术委员会(SAC/TC100)归口,公安部一所等多家单位共同起草的一部国家标准(以下简称28181)。

    28181协议在全国平安城市、交通、道路等监控中广泛采用,若想做统一的大监控平台,则支持28181协议接入是必不可少的。如今很多客户都是想在之前使用的28181平台的基础上进行拓展。

    说明

    LiveGBS流媒体服务器是LiveQing提供的流转发服务,负责将GB28181设备/平台推送的PS流转成ES流,然后提供RTSP、RTMP、FLV、HLS多种格式进行分发,实现web浏览器、手机浏览器、微信、PC客户端等各终端无插件播放。
    同时,LiveGB流媒体服务器对外提供HTTP API接口,通过接口可以获知流媒体转发服务的运行状态信息,转发会话信息,服务器配置和版本信息等;

    LiveGBS GB28181流媒体服务器提供以下功能:
    1. 接受和处理GB28181接入服务器的推流请求;
    2. 接受和处理GB28181设备的推流;
    3. 接受和处理GB28181接入服务器的断开推流请求;
    3. 实时流媒体处理,PS(TS)转ES;
    4. 实时快照、视频数据获取;
    5. 设备状态监测;
    6. 云台控制;
    7. 录像检索、回放;
    8. 提供RTSP、RTMP、HTTP-FLV、HLS等多种协议流输出;
    9. 音视频转码;
    10. 对外提供服务器获取状态、信息,控制等http API接口;

    LiveGBS流媒体服务架构图在这里插入图片描述

    流媒体点播详细流程

    LiveGBS分为接入管理服务LiveSIPCMS和流媒体服务LiveSIPSMS。

    1 接入服务器LiveSIPCMS发送Invite请求
    接入服务器LiveSIPCMS向流媒体服务器LiveSIPSMS发送Invite请求,请求流媒体服务返回携带SDP 消息体,消息体中
    描述了媒体服务器LiveSIPSMS接收媒体流的IP、端口、媒体格式等内容;
    Invite请求代码如下:

    2 流媒体服务LiveSIPSMS接受Invite请求处理并ACK应答
    我们在SDP消息体中提供了两种流传输方式,分别是TCP和UDP,通过Invite请求所带的 “rtpovertcp ”参数来控制,TCP方式因为其不丢包的传输方式在GB28181设备推流到公网服务器的方案中得以广泛应用.

    3 接入服务器接收ACK应答并Invite请求设备开始推流
    在InviteDevice请求完成后,我们在返回Response处理过程中做过一次特殊处理,即:如果TCP拉流时发现设备拉流应答中返回其推流模式依然是’RTP/AVP’的UDP模式,我们认为其设备不支持TCP模式,从而向上层返回700,不支持的流媒体传输方式。

    4 Invite设备正常返回200应答并传递给流媒体服务器

    5 流媒体服务接受拉流请求成功应答

    至此,整个拉流过程已经完成,成功通过LiveGBS流媒体软件,使用GB28181协议获取到监控的视频流转成可以在物联网上直播的RTSP、RTMP、HTTP-FLV、HLS格式。

     

  • 相关阅读:
    WM_MOUSEWHEEL消息的处理
    Delphi之TStrings和TStringLists类[转]
    使用mysqladmin命令修改Mysql密码
    AP_发票与预付款核销时预付款带税码
    ORACLE EBS AP发票到付款的数据流
    .关于货币大写的探索
    Oracle SQL 空值排序(Nulls)
    实现主从关系Form中汇总行金额/数量
    巧妙的查看FORM中的 LOV查询语句
    供应商接口的使用
  • 原文地址:https://www.cnblogs.com/kumukim/p/11006565.html
Copyright © 2011-2022 走看看