GB/T28181协议介绍

2023-10-25 19:52
文章标签 介绍 协议 gb t28181

本文主要是介绍GB/T28181协议介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GB/T28181协议介绍

文章目录

  • GB/T28181协议介绍
    • 总体介绍
    • GB/T28181基本结构
    • GB/T28181关键协议流程
      • 设备注册
      • 设备目录查询
      • 实时视频播放流程
    • GB/T28181协议总结

说到GB/T28181协议,如果你是从事视频监控领域的工作,那对他一定不陌生,在公共安全、城市治理、政务监管、企事业监管等涉及视频汇聚、视频监控等场景,它已经是视频终端设备、监控平台必须支持的视频协议,可以说是视频监控界的头号玩家,用来规定视频监控系统如何传输、交换和控制信息。本文主要对协议基础知识进行介绍,后续会专门从视频流的角度写一篇文章,详细介绍GB/T28181协议如何进行视频流协议申请、流封装和传输的。

总体介绍

GB/T28181协议,全名叫《安全防范视频监控联网系统信息传输、交换、控制技术要求》,是由中国国家标准委员会发布的一种国家级的标准。它主要对视频监控系统的各个方面做了明确的规定,使得不同厂商生产的视频监控设备能够相互连通,信息共享,提高整个监控系统的效率和可靠性。28181协议从2011年发行第一个版本以来已经连续迭代了3个版本,最新发布版本为GB/T28181-2016,最新的协议文档可通过点击文末的阅读原文获取。在公安、政府、企事业单位等视频监控类项目中,28181协议基本是IPC、NVR、平台、视频边界网关必须支持的流媒体协议。

28181协议包含设备注册、实时音视频点播、设备控制、报警时间通知和分发、设备信息查询、状态信息报送、历史音视频文件检索、历史音视频文件回放和下载、网络校时、订阅和通知、语音对讲和语音广播等内容,具体详细介绍可参考《GB/T28181-2016 安全防范视频监控联网系统信息传输、交换、控制技术要求》,规范文档可关注,发送:协议规范,获取。本文主要介绍下28181基本结构、关键协议流程及应用场景介绍。

GB/T28181基本结构

28181协议基本结构如下如所示:
1

28181协议包含终端侧协议和平台侧协议,终端侧包含IPC、NVR等终端设备,平台侧包含NVR、视频平台、网闸等。IPC通过28181协议接入视频监控平台或NVR;NVR可向下接入IPC,向上接入视频监控平台;GB28181支持多级级联,因此视频监控平台之间可通过28181协议级联,实现协议交换和视频传输。这里视频网闸作为网络安全边界,在公安跨网传输时作为安全网络区域与非安全网络区域之间的网络隔离设施,支持28181的协议通道,因此上下级视频监控平台可直接通过28181协议实现跨网闸通信。
28181协议结构如下图所示:
1
协议包含两个通道会话通道和媒体流通道,会话通道包含信令交互、视频会话,主要基于sip进行扩展,流媒体通道通过RTP/RTCP进行传输,其中传输层协议最新版本28181规范已经可以支持TCP和UDP两种方式。下面对信令交互、音视频会话、音视频传输三种类型的协议进行介绍:

  • 信令交互:信令交互协议是28181协议的基础,其在sip协议的基础上进行了扩展,扩展协议IETF RFC3428规定的MESSAGE方法实现,协议体为xml格式。主要的SIP消息有注册、心跳、设备搜索、设备状态查询、设备控制等。
  • 音视频会话:包含视频预览和视频回放,视频预览采用sip的INVITE、ACK、BYE方法实现,媒体协议通过SDP协议来携带;视频回放采用SIP INVITE实现会话连接,擦用SIP INFO方法实现回放命令控制,控制协议命令引用MANSRTSP的PLAY、PARUSE、TREADOWN等命令。
  • 音视频传输:通过视频会话建立视频传输通道后,通过RTP/RTCP进行视频传输,传输的音视频封包方式为PS流,有关PS流封装方式详解,关注,发送:ps,获取相关文章。

GB/T28181关键协议流程

本文主要介绍关键的协议流程,包含设备注册、设备目录查询、视频播放等流程,要通过28181协议实现流媒体协议的交互,这几个协议流程是绕不开的,有关28181视频流交互的详细解析,后续会单独写一篇文章来介绍。

设备注册

这里以IPC向视频平台注册为例,设备注册流程如下:

1

  1. IPC向视频平台发起Register注册请求,携带设备信息。
  2. 视频平台收到注册请求后,判断是否携带认证信息,如果未携带,则返回401,鉴权失败。
  3. IPC根据平台鉴权的要求,携带Anthorization认证信息,重新发起注册请求。
  4. 平台对认证信息进行认证,认证通过后,返回200,注册成功。

这里要注意鉴权方式,平台回复401时会携带WWW-Authenticate头字段,此字段包含平台支持的鉴权方式,一般方式有basic、digest等。IPC需要根据平台支持的鉴权方式进行认证信息的封装。

设备目录查询

设备目录查询主要查询设备/下级平台的目录结构,通过查询目录结构之后获取设备摄像头列表信息,通过摄像头列表信息,平台才可选择摄像头进行摄像头视频播放等操作,28181所有信令操作流程基本类似,了解了此协议流程,其他信令交互可参照。
1
28181信令交互采用异步交互的方式,请求消息和响应消息异步进行。

1.平台向IPC发起目录查询请求(catlog),携带查询设备ID。
2.设备直接返回200 OK,不携带响应
3.设备向平台发送目录查询响应信息,携带设备目录信息
4.平台接收响应信息,返回200 OK

实时视频播放流程

视频播放采用SIP IETF RFC 3216规定的INVITE、ACK、BYE方法,还是以视频平台向IPC申请视频为例,来说明28181视频播放流程:
1

  1. 视频平台向IPC发起INVITE请求,SDP携带视频播放信息。
  2. IPC收到INVITE请求后,根据SDP携带的信息,进行视频流推送准备,返回响应信息,携带SDP音视频描述信息。
  3. 视频平台收到响应信息后,根据SDP音视频描述信息,进行视频流接收准备并返送ACK到IPC。
  4. IPC收到ACK后,进行音视频流推送,音视频流封装为PS格式,并通过RTP/RTCP传输。

GB/T28181协议总结

GB/T 28181协议的应用可以说是无处不在,比如公共安全、城市管理、企事业等监控领域都有它的身影。接下来我们就来聊聊它的应用场景。
GB/T 28181协议作为公共安全领域中的重要标准之一,规范了视频监控联网系统的信息传输、交换和控制,提高了不同厂商生产的视频监控设备的互联互通性和信息共享性。它不仅在公共安全领域中发挥着重要作用,也在智能家居、企业应用和城市管理等领域有着广泛的应用。通过遵循GB/T 28181协议的规定,我们可以有效地提高视频监控系统的可靠性和有效性,保障我们的安全和生活秩序。


有关GB28181更多文章,关注,发送:28181,获取。

这篇关于GB/T28181协议介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/284827

相关文章

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2