国标GB/T 28181详解:国标GBT28181-2022第三方呼叫控制的视音频文件下载流程

目录

一、定义

1、国标GB/T 28181

2、第三方呼叫控制的视音频文件下载流程

二、作用

1、提供有效的数据回顾机制

2、增强监控系统的功能性

3、保障数据传输与存储的可靠性

4、实现精细化的操作与控制

5、促进监控系统的集成与发展

6、提供清晰的信令流程和操作规范

三、视音频文件下载的基本要求

四、命令流程

1、流程图 

2、流程描述

五、协议接口

六、产品说明

七、参考


一、定义

1、国标GB/T 28181

        国标GB28181GB/T 28181-2022)《公共安全视频监控联网系统信息传输、交换、控制技术要求》是一部关于公共安全视频监控联网系统的国家标准,该标准在20221230日发布,并于202371日正式实施。

2、第三方呼叫控制的视音频文件下载流程

        在国标GB/T28181-2022中,第三方呼叫控制的视音频文件下载流程是指通过标准的接口和协议,实现不同视频监控系统间的视频和音频文件的传输。流程主要基于SIP(会话初始协议)、SDP(会话描述协议)和RTP(实时传输协议)等网络通信协议。整个流程涉及SIP服务器、媒体服务器、媒体流发送者和媒体流接收者等多个实体。

二、作用

        在国标GB/T28181-2022中,定义的第三方呼叫控制的视音频文件下载流程,作用主要体现在以下几个方面:

1、提供有效的数据回顾机制

(1)允许用户或相关机构通过下载存储在服务器或设备上的历史视音频文件,进行回顾和分析。

(2)对于事件调查、安全管理以及后续的决策制定都具有重要意义。

2、增强监控系统的功能性

        通过定义标准化的下载流程,GB/T 28181确保了不同系统之间的兼容性和互操作性,提高了监控系统的整体功能性。

3、保障数据传输与存储的可靠性

(1)流程中明确规定了数据的传输和存储方式,有助于确保历史视音频数据的完整性和可靠性。

(2)降低了数据损坏或丢失的风险。

4、实现精细化的操作与控制

(1)该流程支持对音视频数据的精细化操作,如暂停、播放、快进、慢放等。

(2)为用户提供了灵活且便捷的控制方式,以满足不同场景下的回放和下载需求。

5、促进监控系统的集成与发展

(1)作为国家标准,GB/T 28181的定义有助于推动监控系统的标准化和集成化。

(2)统一的下载流程标准使得不同厂商和系统能够更容易地实现互联互通,从而促进了整个监控行业的发展。

6、提供清晰的信令流程和操作规范

(1)流程中详细描述了从建立媒体连接到下载请求与传输,再到下载进度与通知以及断开连接的整个流程。

(2)为开发人员和用户提供了清晰的操作规范和参考指南,提高了系统的易用性和稳定性。

三、视音频文件下载的基本要求

        视音频文件下载满足以下基本要求:

        a)SIP服务器接收到媒体接收者发送的视音频文件下载请求后向媒体流发送者发送媒体文件下载命令,媒体流发送者采用 RTP将视频流传输给媒体流接收者,媒体流接收者直接将视频流保存为媒体文件。媒体流接收者可以是用户客户端或联网系统,媒体流发送者可以是媒体设备或联网系统。

        b)媒体流接收者或SIP服务器可通过配置查询(见9.5.3.3)等方式获取媒体流发送者支持的下载发送倍速,并在请求的SDP消息体中携带指定下载倍速(见附录 G)。媒体流发送者可在Invite请求对应的200OK 响应SDP消息体中扩展携带下载文件的大小参数(见附录 G),以便于媒体流接收者计算下载进度,当媒体流发送者不能提供文件大小参数时,媒体流接收者应支持根据码流中取得的时间计算下载进度。

        c)视音频文件下载宜支持附录 K 规定的媒体流保活机制。

四、命令流程

1、流程图 

        第三方呼叫控制的视音频文件下载流程符合如下流程图:

2、流程描述

        其中,信令1~6为SIP服务器通过三方呼叫控制建立媒体服务器与媒体流发送者之间的媒体链接 信令过程,信令7~12为SIP服务器通过三方呼叫控制建立媒体流接收者与媒体服务器之间的媒体链 接信令过程,信令13~14为媒体流发送者回放、下载到文件结束向媒体接收者发送下载完成通知消息, 信令15~18为断开媒体流接收者与媒体服务器之间的媒体链接信令过程,信令19~22为断开媒体服 务器与媒体流发送者之间的媒体链接信令过程。 命令流程描述如下:

        a) 1:SIP服务器向媒体服务器发送Invite消息,此消息不携带SDP消息体;

        b) 2:媒体服务器收到SIP服务器的Invite请求后,回复200OK 响应,携带SDP消息体,消息体 中描述了媒体服务器接收媒体流的IP、端口、媒体格式等内容;

        c) 3:SIP服务器收到媒体服务器返回的200OK 响应后,向媒体流发送者发送Invite请求,请求 中携带消息2中媒体服务器回复的200OK 响应消息体,s字段为“Download”代表下载,u字 段代表下载通道ID和下载视频类型,t字段代表下载时间段,增加y字段描述 SSRC 值,f字 段描述媒体参数,可扩展a字段携带下载倍速参数,规定此次下载设备发流倍速,若不携带默 认为1倍速;

        d) 4:媒体流发送者收到SIP服务器的Invite请求后,回复200OK 响应,携带SDP消息体,消息 体中描述了媒体流发送者发送媒体流的IP、端口、媒体格式、SSRC字段等内容,可扩展a字段 携带文件大小参数;

        e) 5:SIP服务器收到媒体流发送者返回的200OK 响应后,向媒体服务器发送 ACK 请求,请求 中携带消息4中媒体流发送者回复的200OK 响应消息体,完成与媒体服务器的Invite会话 建立过程;

        f) 6:SIP服务器收到媒体流发送者返回的200OK 响应后,向媒体流发送者发送 ACK 请求,请 求中不携带消息体,完成与媒体流发送者的Invite会话建立过程;

        g) 7:SIP服务器向媒体流接收者发送Invite消息,此消息不携带SDP消息体;

        h) 8:媒体流接收者收到SIP服务器的Invite请求后,回复200OK 响应,携带SDP消息体,消息 体中描述了媒体流接收者接收媒体流的IP、端口、媒体格式等内容;

        i) 9:SIP服务器收到媒体流接收者返回的200OK 响应后,向媒体服务器发送Invite请求,请求 中携带消息8中媒体流接收者回复的200OK 响应消息体,s字段为“Playback”代表历史回 放,增加y字段描述SSRC值;

         j) 10:媒体服务器收到SIP服务器的Invite请求后,回复200OK 响应,携带SDP消息体,消息体 中描述了媒体服务器发送媒体流的IP、端口、媒体格式、SSRC字段等内容;

        k) 11:SIP服务器收到媒体服务器返回的200OK 响应后,向媒体流接收者发送 ACK 请求,请求 中携带消息10中媒体服务器回复的200OK 响应消息体,完成与媒体流接收者的Invite会话 建立过程,可扩展a字段携带文件大小参数;

        l) 12:SIP服务器收到媒体服务器返回的200OK 响应后,向媒体服务器发送 ACK 请求,请求中 不携带消息体,完成与媒体服务器的Invite会话建立过程;

        m)13:媒体流发送者在文件下载结束后发送会话内 Message消息,通知SIP服务器下载已结束, 消息体格式参见 A.2.5媒体通知;

        n) 14:SIP服务器收到 Message消息后回复200OK 响应,进行链路断开过程;

        o) 15:SIP服务器向媒体流接收者发送 BYE 消息,断开消息7、8、11建立的同媒体流接收者的 Invite会话;

        p) 16:媒体流接收者收到 BYE消息后回复200OK 响应,会话断开;

        q) 17:SIP服务器向媒体服务器发送 BYE消息,断开消息9、10、12建立的同媒体服务器的Invite 会话;

        r) 18:媒体服务器收到 BYE消息后回复200OK 响应,会话断开;

        s) 19:SIP服务器向媒体服务器发送 BYE 消息,断开消息1、2、5建立的同媒体服务器的Invite 会话;

        t) 20:媒体服务器收到 BYE消息后回复200OK 响应,会话断开;

        u) 21:SIP 服务器向媒体流发送者发送 BYE 消息,断开消息3、4、6建立的同媒体流发送者的 Invite会话;

        v) 22:媒体流发送者收到 BYE消息后回复200OK 响应,会话断开。

五、协议接口

        a)SIP消息头域(如 TO、FROM、Cseq、Call-ID、Max-Forwards和 Via等)的详细定义符合相关 SIP消息的 RFC文档的规定。

        b)消息头域 Allow 字段应支持Invite、ACK、Info、CANCEL、BYE、OPTIONS和 Message方法,不排除支持其他SIP和SIP扩展方法。

        c)消息头 Content-type字段为 Content-type:application/sdp。

        d)历史媒体下载流程中携带消息体的请求和响应的消息体应采用 SDP协议格式定义。有关 SDP的详细描述见IETFRFC4566。

        e)SDP文本信息包括:会话名称和意图、会话持续时间、构成会话的媒体和有关接收媒体的信息(地址等)。

        f)INVITE请求以时间段方式获取历史图像。

        g)定位历史媒体数据的信息在 SDP 协议格式的消息体中携带,应包含设备名和时间段信息,规定如下:

               1) 媒体流接收者应在 SDP协议格式的消息体中包括 u行(见IETFRFC4566—2006的5.5),u行表明视音频文件的 URI,具体定义见附录 G;

                2) 媒体流接收者应在 SDP协议格式的消息体中包括t行(见IETFRFC4566—2006的5.9),

t行的开始时间和结束时间组成检索历史媒体数据的时间段信息。

六、产品说明

        AS-V1000视频监控平台能够多种方式接入国内和国际主流品牌的视频监控平台、视频相关设备、外围设备等;支持国际和国内的一些标准对接协议,包括RTSP协议、Onvif协议、GB/T28181协议、ehome协议、大华主动注册协议等等。

        AS-V1000视频监控平台能够完美支持GB/T28181各个版本,通过公安一所的GB/T28181全项检测。既可以作为GB/T28181的上级,也可以作为GB/T28181的下级,还能够进行GB/T28181的互联(同时作为上级,又可以作为下级);能够通过GB/T28181进行多达8级的级联。目前AS-V1000视频监控平台也已经完全支持最新的GB/T28181-2022版本。        

        可以通过通信协议,接入IPC、DVR、DVS、NVR、编码器、解码器等硬件设备、以及一些大型的软件或者硬件形式的视频监控平台,包括海康威视、浙江大华、苏州科达、杭州宇视等主流品牌;对于有些特定品牌的平台,也能够通过SDK接口、私有协议等方式接入进入平台;反过来,本平台也提供开放接口,能够接入到其他标准或者非标准的平台。​

七、参考

        《GB/T 28181-2022 公共安全视频监控联网系统信息传输、交换、控制技术要求》

        《GB/T 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》

        《AS-V1000视频监控平台产品概要说明》

        《国标GB/T 28181详解:国标GBT28181-2022客户端主动发起的视音频文件下载流程


文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。


在基于GBT28181的SIP协议组件开发中,SIP服务端流程是非常关键的一部分。本文将介绍如何使用eXosip2实现SIP服务端流程。 一、eXosip2简介 eXosip2是一个基于SIP标准的开源协议栈,它提供了一组API,可以用来实现SIP客户端和服务端。eXosip2具有高度的可移植性和灵活性,可以在不同平台上运行。eXosip2的主要特点包括: 1. 遵循SIP标准,功能齐全。 2. 支持IPv4和IPv6协议栈。 3. 支持TLS和SRTP协议。 4. 提供了一组易于使用的API,方便开发人员进行二次开发。 5. 可以在不同的平台上运行,包括Linux、Windows、Android等。 二、eXosip2的使用 1. 安装eXosip2库 首先需要安装eXosip2库,可以通过以下命令在Ubuntu下安装: sudo apt-get install libexosip2-dev 2. 初始化eXosip2 在使用eXosip2之前,需要初始化eXosip2库,这可以通过调用eXosip_init函数来实现。例如: eXosip_t *g_eXosipContext=NULL; g_eXosipContext = eXosip_malloc(); if (g_eXosipContext!=NULL) { iRet = eXosip_init(g_eXosipContext); } 3. 注册SIP服务器 使用eXosip2可以实现SIP服务器的注册,这可以通过调用eXosip_register_build函数构造注册消息,然后通过调用eXosip_register_send发送注册消息。例如: eXosip_event_t *pEvent = NULL; osip_message_t *pMsg = NULL; int iRet = 0; iRet = eXosip_register_build_initial_register(g_eXosipContext, "sip:192.168.1.100", "sip:192.168.1.100", "sip:192.168.1.100", 3600, &pMsg); if (iRet == 0) { iRet = eXosip_register_send_register(g_eXosipContext, pMsg); osip_message_free(pMsg); } 4. 接收SIP消息 使用eXosip2可以接收SIP消息,这可以通过调用eXosip_listen函数实现。例如: while (1) { iRet = eXosip_listen(g_eXosipContext, 0, &pEvent); if (iRet >= 0) { switch (pEvent->type) { case EXOSIP_REGISTRATION_SUCCESS: // 注册成功 break; case EXOSIP_REGISTRATION_FAILURE: // 注册失败 break; case EXOSIP_MESSAGE_NEW: // 收到新的SIP消息 break; } eXosip_event_free(pEvent); } } 5. 回复SIP消息 使用eXosip2可以回复SIP消息,这可以通过调用eXosip_message_build_response函数构造回复消息,然后通过调用eXosip_message_send_response发送回复消息。例如: osip_message_t *pMsg = NULL; int iRet = 0; iRet = eXosip_message_build_response(pEvent->tid, 200, &pMsg); if (iRet == 0) { iRet = eXosip_message_send_response(g_eXosipContext, pEvent->tid, 200, pMsg); osip_message_free(pMsg); } 三、总结 本文介绍了如何使用eXosip2实现SIP服务端流程。eXosip2是一个功能齐全、易于使用的SIP协议栈,可以方便地实现SIP客户端和服务端。在GBT28181的SIP协议组件开发中,eXosip2是一个非常好的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值