国标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——这款官方中文破解激活码及免费版下载…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
