国标GB/T 28181详解:国标GBT28181-2022的客户端主动发起历史视音频回放流程
目录
一、定义
二、作用
1、提供有效的数据回顾机制
2、增强监控系统的功能性
3、保障数据传输与存储的可靠性
4、实现精细化的操作与控制
5、促进监控系统的集成与发展
三、历史视音频回放的基本要求
四、命令流程
1、流程图
2、流程描述
五、协议接口
1、会话控制协议
2、历史视音频回放控制协议
六、产品说明
七、参考
一、定义
在国标GBT28181中,定义了客户端主动发起历史视音频回放流程,它允许客户端主动发起对存储在服务器或设备上的历史音视频数据的回放请求。整个流程基于SIP、SDP和RTP/RTCP等网络通信协议,确保了数据的稳定传输和精确控制。
二、作用
在国标GB/T28181-2022中,定义的历史视音频回放流程,有如下几个方面的作用:
1、提供有效的数据回顾机制
历史音视频回放流程允许用户或相关机构回顾和分析过去的监控录像。这对于事件调查、安全管理以及后续的决策制定都具有重要意义。例如,在发生安全事件后,可以通过回放录像来查找线索或证据。
2、增强监控系统的功能性
回放功能是现代监控系统不可或缺的一部分。通过定义标准化的回放流程,GB/T28181确保了不同系统之间的兼容性和互操作性,从而提高了监控系统的整体功能性。
3、保障数据传输与存储的可靠性
流程中明确规定了数据的传输和存储方式,这有助于确保历史音视频数据的完整性和可靠性。标准化的流程还降低了数据损坏或丢失的风险。
4、实现精细化的操作与控制
该流程支持对音视频数据的精细化操作,如暂停、播放、快进、慢放等。这为用户提供了灵活且便捷的控制方式,以满足不同场景下的回放需求。
5、促进监控系统的集成与发展
作为国家标准,GB/T28181的定义有助于推动监控系统的标准化和集成化。统一的回放流程标准使得不同厂商和系统能够更容易地实现互联互通,从而促进了整个监控行业的发展。
三、历史视音频回放的基本要求
根据《GB/T28181-2022》第9章关于历史视音频回放的描述,GB28181的历史视音频视频回放应满足以下基本要求:
- 应采用SIP协议(IETFRFC3261)中的INVITE方法实现会话连接,采用SIP扩展协议(IETFRFC2976) INFO方法的消息体携带视音频回放控制命令,采用RTP/RTCP协议(IETFRFC3550)实现媒体传输。媒体回放控制命令引用MANSRTSP协议中的PLAYPAUSE、TEARDOWN的请求消息和应消息,具体见附录B。
- 历史媒体回放的信令流程分为客户端主动发起和第三方呼叫控制两种方式,联网系统可选择其中一种或两种结合的实现方式。第三方呼叫控制的第三方控制者宜采用B2BUA实现,有关第三方呼叫控制见IETFRFC3725。
- 媒体流接收者可为包括SIP客户端、SIP设备(如视频解码器),媒体流发送者可为SIP设备网关、媒体服务器。
- 历史视音频的回放应符合附录K规定的媒体流保活机制。
四、命令流程
1、流程图
客户端主动发起的历史媒体回放流程符合如下流程图:

2、流程描述
其中,信令1、8、9、10、11、12为SIP服务器接收到客户端的呼叫请求后通过 B2BUA 代理方式建立 媒体流接受者与媒体服务器之间的媒体链接信令过程,信令2~7为SIP服务器通过三方呼叫控制建立 媒体服务器与媒体流之间的媒体链接信令过程,信令13~16为媒体流接收者进行回放控制信令过程,信令17~20为媒体流发送者回放、下载到文件结束向媒体接收者发送通知消息过程,信令21~24为断 开媒体流接收者与媒体服务器之间的媒体链接信令过程,信令25~28为SIP服务器断开媒体服务器与 媒体流发送者之间的媒体链接信令过程。
命令流程描述如下:
a) 1:媒体流接收者向SIP服务器发送Invite消息,消息头域中携带Subject字段,表明点播的视频源 ID、发送方媒体流序列号、媒体流接收者ID、接收端媒体流序列号标识等参数,SDP消息体中s字 段为“Playback”代表历史回放,u字段代表回放通道ID和回放类型,t字段代表回放时间段。
b) 2:SIP服务器收到Invite请求后,通过三方呼叫控制建立媒体服务器和媒体流发送者之间的 媒体连接。向媒体服务器发送Invite消息,此消息不携带SDP消息体。
c) 3:媒体服务器收到SIP服务器的Invite请求后,回复200OK 响应,携带 SDP消息体,消息体 中描述了媒体服务器接收媒体流的IP、端口、媒体格式等内容。
d) 4:SIP服务器收到媒体服务器返回的200OK 响应后,向媒体流发送者发送Invite请求,请求 中携带消息3中媒体服务器回复的200OK 响应消息体,s字段为“Playback”代表历史回放,u 字段代表回放通道ID和回放类型,t字段代表回放时间段,增加y字段描述 SSRC 值,f字段 描述媒体参数。
e) 5:媒体流发送者收到SIP服务器的Invite请求后,回复200OK 响应,携带 SDP消息体,消息 体中描述了媒体流发送者发送媒体流的IP、端口、媒体格式、SSRC字段等内容。
f) 6:SIP服务器收到媒体流发送者返回的200OK 响应后,向媒体服务器发送 ACK 请求,请求 中携带消息5中媒体流发送者回复的200OK 响应消息体,完成与媒体服务器的Invite会话 建立过程。
g) 7:SIP服务器收到媒体流发送者返回的200OK 响应后,向媒体流发送者发送 ACK 请求,请 求中不携带消息体,完成与媒体流发送者的Invite会话建立过程。
h) 8:完成三方呼叫控制后,SIP服务器通过B2BUA 代理方式建立媒体流接收者和媒体服务器之 间的媒体连接。在消息1中增加SSRC值,转发给媒体服务器。
i) 9:媒体服务器收到Invite请求,回复200OK 响应,携带SDP消息体,消息体中描述了媒体服 务器发送媒体流的IP、端口、媒体格式、SSRC值等内容。
j) 10:SIP服务器将消息9转发给媒体流接收者。
k) 11:媒体流接收者收到200OK响应后,回复 ACK消息,完成与SIP服务器的Invite会话建立过程。
l) 12:SIP服务器将消息11转发给媒体服务器,完成与媒体服务器的Invite会话建立过程。
m)13:在回放过程中,媒体流接收者通过向SIP服务器发送会话内Info消息进行回放控制,包括 视频的暂停、播放、快放、慢放、随机拖放播放等操作,Info消息体见附录 B。
n) 14:SIP服务器收到消息13后转发给媒体流发送者。
o) 15:媒体流发送者收到消息14后回复200OK 响应。
p) 16:SIP服务器将消息15转发给媒体流接收者。
q) 17:媒体流发送者在文件回放结束后发送会话内 Message消息,通知SIP服务器回放已结束, 消息体格式参见 A.2.5媒体通知。
r) 18:SIP服务器收到消息17后转发给媒体流接收者。
s) 19:媒体流接收者收到消息18后回复200OK 响应,进行链路断开过程。
t) 20:SIP服务器将消息19转发给媒体流发送者。
u) 21:媒体流接收者向SIP服务器发送 BYE消息,断开消息1、10、11建立的同媒体流接收者的 Invite会话。
v) 22:SIP服务器收到 BYE消息后回复200OK 响应,会话断开。
w)23:SIP服务器收到 BYE 消息后向媒体服务器发送 BYE 消息,断开消息8、9、12建立的同媒体服务器的Invite会话。
x) 24:媒体服务器收到 BYE消息后回复200OK 响应,会话断开。
y) 25:SIP服务器向媒体服务器发送BYE消息,断开消息2、3、6建立的同媒体服务器的Invite会话。
z) 26:媒体服务器收到 BYE消息后回复200OK 响应,会话断开。
aa) 27:SIP服务器向媒体流发送者发送 BYE 消息,断开消息4、5、7建立的同媒体流发送者的 Invite会话。
bb) 28:媒体流发送者收到 BYE消息后回复200OK 响应,会话断开。
五、协议接口
1、会话控制协议
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文本信息包括:会话名称和意图、会话持续时间、构成会话的媒体和有关接收媒体的信息(地 址等)。Invite请求以时间段方式获取历史图像。
f) 定位历史视音频数据的信息在SDP协议格式的消息体中携带,应包含设备名和时间段信息,规定 如下:
1)媒体流接收者应在 SDP协议格式的消息体中包括 u行(见IETFRFC4566—2006的5.5), u行应填写产生历史媒体的媒体源(如某个摄像头)的设备 URI,应符合6.1.2的规定。设备 URI应包含媒体源设备编码,媒体源设备编码成为检索历史媒体数据的设备名信息。
2)媒体流接收者应在 SDP协议格式的消息体中包括t行(见IETFRFC4566—2006的5.9), t行的开始时间和结束时间组成检索历史媒体数据的时间段信息。
2、历史视音频回放控制协议
历史视音频回放控制协议满足以下要求:
a) 视音频回放控制流程是采用SIP消息INFO实现视音频播放、暂停、进/退和停止等视音频回放控制命令的过程;
b) 视音频回放控制请求消息在INFO方法的消息体中携带,回放控制请求消息应符合MANSRTSP协议的请求消息的部分定义,包括PLAY、PAUSE、TEARDOWN;
c) 视音频回放控制应答消息可在INFO方法的200OK响应消息体中携带,回放控制应答消息应符合MANSRTSP协议的应答消息定义,视音频回放控制命令的详细描述应符合附录B的规定;
d) 携带MANSRTSP请求和应答命令的INFO消息头Content-type字段为Content-type:Apd)plication/MANSRTSP。
六、产品说明
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视频监控平台产品概要说明》
文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨。
相关文章:
国标GB/T 28181详解:国标GBT28181-2022的客户端主动发起历史视音频回放流程
目录 一、定义 二、作用 1、提供有效的数据回顾机制 2、增强监控系统的功能性 3、保障数据传输与存储的可靠性 4、实现精细化的操作与控制 5、促进监控系统的集成与发展 三、历史视音频回放的基本要求 四、命令流程 1、流程图 2、流程描述 五、协议接口 1、会话控…...
Vue项目安装axios报错npm error code ERESOLVE npm error ERESOLVE could not resolve解决方法
在Vue项目中安装axios时报错 解决方法:在npm命令后面加--legacy-peer-deps 例如:npm install axios --save --legacy-peer-deps 因为别的需求我把node版本重装到了最新版(不知道是不是这个原因),后来在项目中安装axi…...
【Linux】Centos7升级内核的方法:yum更新(ELRepo)
😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深…...
【CSS】object-fit 和 object-position 属性详解
目录 object-fit属性属性值:使用场景: object-position 属性语法:例如:使用场景: object-fit和object-position是CSS属性,用于控制图像或视频在其容器中的适应和定位方式。 object-fit属性 属性值…...
【算法专题--栈】最小栈--高频面试题(图文详解,小白一看就会!!)
目录 一、前言 二、题目描述 三、解题方法 ⭐解题方法--1 ⭐解题方法--2 四、总结 五、共勉 一、前言 最小栈这道题,可以说是--栈专题--,比较经典的一道题,也是在面试中频率较高的一道题目,通常在面试中,面试官可…...
Vite项目构建chrome extension,实现多入口
本项目使用Vite5 Vue3进行构建。 要使用vite工程构建浏览器插件,无非就是要实现popup页面和options页面。这就需要在项目中用到多入口打包(生成多个html文件)。 实现思路: 通过配置vite工程,使得项目打包后有两个h…...
【vector模拟实现】附加代码讲解
vector模拟实现 一、看源代码简单实现1. push_backcapacity(容量)sizereserve(扩容)operator[ ] (元素访问) 2. pop_back3. itorator(迭代器)4.insert & erase (头插…...
本地运行ChatTTS
TTS 是将文字转为语音的模型,最近很火的开源 TTS 项目,本地可以运行,运行环境 M2 Max,差不多每秒钟 4~~5 个字。本文将介绍如何在本地运行 ChatTTS。 下载源码 首先下载源代码 git clone https://github…...
应用解析 | 面向智能网联汽车的产教融合解决方案
背景介绍 随着科技的飞速发展,智能网联汽车已成为汽车产业的新宠,引领着未来出行的潮流。然而,行业的高速发展也带来了对高素质技术技能人才的迫切需求。为满足这一需求,推动教育链、人才链与产业链、创新链的深度融合࿰…...
华为设备动态路由OSPF(单区域+多区域)实验
动态路由OSPF的配置 OSPF分类两种情况:单区域 多区域路由 OSPF单区域路由配置 OSPF:开放最短路径优先的路由协议。属于大型动态路由协议,适用于中大型的园区网。 网络拓扑: 配置步骤: 1.完成基本配置(略&a…...
R语言探索与分析19-CPI的分析和研究
一、选题背景 CPI(居民消费价格指数)作为一个重要的宏观经济指标,扮演着评估通货膨胀和居民生活水平的关键角色。在湖北省这个经济活跃的地区,CPI的波动对于居民生活、企业经营以及政府宏观经济政策制定都具有重要的影响。因此&a…...
【C++ | 拷贝构造函数】一文了解C++的 拷贝(复制)构造函数
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-06-07 2…...
【工具】Vmware17 安装mac(13.6.7)虚拟机
目录 0.简介 1.环境 2.详细步骤 2.1下载mac镜像(可以选择你所需要的) 2.2 VMware安装 1)创建新的虚拟机 2)选择【典型】,点击下一步 3)选择【安装程序光盘映像文件】,点击浏览ÿ…...
mac node版本切换 nvm install nvm ls-remote N/A问题
mac 使用nvm 切换node版本失败或者 nvm install &nvm ls-remote N/A问题 一、出现情况 输入 nvm install v16.18.0输出结果 Version 16.18.0 not found try nvm is-remote•to browse available versions.输入 nvm ls-remote输出结果 N/A二、原因分析 1. 镜像包获取…...
牛客小白月赛95
vp,为后面的比赛做准备 A.相遇 #include <iostream> #include <vector> #include <algorithm> #include <set> #include <unordered_map> #include <cstring> #include <cstdio> #include <string> #include <…...
Python实现调用并执行Linux系统命令
😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主。 🤓 同时欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深…...
古字画3d立体在线数字展览馆更高效便捷
在数字时代的浪潮中,大连图书馆以崭新的面貌跃然屏幕之上——3D全景图书馆。这座承载着城市文化精髓与丰富知识资源的数字图书馆,利用前沿的三维建模技术,为我们呈现了一个全新的知识世界。 随时随地,无论您身处何地,只…...
编写程序,提示用户输入以米/秒(m/s)为单位的速度v和以米/秒的平方(m/s)为单位的加速度 a,然后显示最短跑道长度。
(物理:求出跑道长度)假设一个飞机的加速度是a而起飞速度是v,那么可以使用下 面的公式计算出飞机起飞所需的最短跑道长度: 编写程序,提示用户输入以米/秒(m/s)为单位的速度v和以米/秒的平方(m/s)为单 位的加速度 a,然后显示最短跑道长度。下面…...
k8s 对外发布(ingress)
在k8s中,service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制; 对集群外部,他类似负载均衡器,可以在集…...
FL Studio21.2.7最新中文破解版免费激活,音乐制作全掌握!
在数字音乐制作的海洋中,你是否曾因软件的复杂操作、高昂费用而望而却步?是否梦想拥有一款既强大又亲民的音乐制作工具,让你的创作激情不受束缚?今天,让我们一起探索FL Studio21——这款官方中文破解激活码及免费版下载…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
人工智能 - 在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型
在Dify、Coze、n8n、FastGPT和RAGFlow之间做出技术选型。这些平台各有侧重,适用场景差异显著。下面我将从核心功能定位、典型应用场景、真实体验痛点、选型决策关键点进行拆解,并提供具体场景下的推荐方案。 一、核心功能定位速览 平台核心定位技术栈亮…...
