视频国标学习

总体介绍

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

28181协议包含设备注册、实时音视频点播、设备控制、报警时间通知和分发、设备信息查询、状态信息报送、历史音视频文件检索、历史音视频文件回放和下载、网络校时、订阅和通知、语音对讲和语音广播等内容。

GB/T28181基本结构

28181协议基本结构如下如所示:
在这里插入图片描述
28181协议包含终端侧协议和平台侧协议,终端侧包含IPC、NVR等终端设备,平台侧包含NVR、视频平台、网闸等。IPC通过28181协议接入视频监控平台或NVR;NVR可向下接入IPC,向上接入视频监控平台;GB28181支持多级级联,因此视频监控平台之间可通过28181协议级联,实现协议交换和视频传输。这里视频网闸作为网络安全边界,在公安跨网传输时作为安全网络区域与非安全网络区域之间的网络隔离设施,支持28181的协议通道,因此上下级视频监控平台可直接通过28181协议实现跨网闸通信。

28181协议结构如下图所示:
在这里插入图片描述

协议包含两个通道会话通道和媒体流通道,会话通道包含信令交互、视频会话,主要基于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流。

GB/T28181关键协议流程

设备注册
这里以IPC向视频平台注册为例,设备注册流程如下:
在这里插入图片描述

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

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

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

28181信令交互采用异步交互的方式,请求消息和响应消息异步进行。
在这里插入图片描述

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

实时视频播放流程
视频播放采用SIP IETF RFC 3216规定的INVITE、ACK、BYE方法,还是以视频平台向IPC申请视频为例,来说明28181视频播放流程:
在这里插入图片描述

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

GB/T28181协议总结

GB/T 28181协议作为公共安全领域中的重要标准之一,规范了视频监控联网系统的信息传输、交换和控制,提高了不同厂商生产的视频监控设备的互联互通性和信息共享性。它不仅在公共安全领域中发挥着重要作用,也在智能家居、企业应用和城市管理等领域有着广泛的应用。

参考文章:https://blog.csdn.net/water1209/article/details/134041202

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/818988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一种基于OpenCV的图片倾斜矫正方法

需求描述: 对倾斜的图片进行矫正,返回倾斜角度和矫正后的图片。 解决方法: 1、各种角度点被投影到一个累加器阵列中,其中倾斜角度可以定义为在最大化对齐的搜索间隔内的投影角度。 2、以不同的角度旋转图像,并为每…

参会记录|全国多媒体取证暨第三届多媒体智能安全学术研讨会(MAS‘2024)

前言:2024年4月13日上午,我与实验室的诸位伙伴共聚江西南昌的玉泉岛大酒店,参加了为期一天半的全国多媒体取证暨第三届多媒体智能安全学术研讨会(MAS’2024)。本届学术研讨会由江西省计算机学会、江西省数字经济学会主…

PHP:IntelliJ IDEA 配置 PHP 开发环境及导入PHP项目

在创建PHP项目之前我们需要安装PHP插件,安装步骤如下:Windows:IntelliJ IDEA Ultimate 安装 PHP 插件-CSDN博客 1、导入已有PHP项目,导入之后选择,File > Setting 选择对应 CLL Interpreter,如果没有操…

GitHub登录收不到邮箱验证码

由于长时间没有登录GitHub,浏览器可能清除了相应的cookie信息,所以需要对应绑定邮箱进行验证,但因为邮箱长时间没有收到验证码,所以给到以下一种可能解决的方法: 需要输入验证码进行验证 我们可以打开QQ邮箱&#xff0…

java的深入探究JVM之类加载与双亲委派机制

前言 前面学习了虚拟机的内存结构、对象的分配和创建,但对象所对应的类是怎么加载到虚拟机中来的呢?加载过程中需要做些什么?什么是双亲委派机制以及为什么要打破双亲委派机制? 类的生命周期 类的生命周期包含了如上的7个阶段&a…

光场相机建模与畸变校正改进方法

摘要:光场相机作为一种新型的成像系统,可以直接从一次曝光的图像中得到三维信息。为了能够更充分有效地利用光场数据包含的角度和位置信息,完成更加精准的场景深度计算,从而提升光场相机的三维重建的精度,需要实现精确…

比特币突然暴跌

作者:秦晋 周末愉快。 今天给大家分享两则比特币新闻,也是两个数据。一则是因为中东地缘政治升温,传统资本市场的风险情绪蔓延至加密市场,引发加密市场暴跌。比特币跌至66000美元下方。杠杆清算金额高达8.5亿美元。 二则是&#x…

Spring(24) Json序列化的三种方式(Jackson、FastJSON、Gson)史上最全!

目录 一、Jackson 方案(SpringBoot默认支持)1.1 Jackson 库的特点1.2 Jackson 的核心模块1.3 Maven依赖1.4 代码示例1.5 LocalDateTime 格式化1.6 统一配置1.7 常用注解1.8 自定义序列化和反序列化1.9 Jackson 工具类 二、FastJSON 方案2.1 FastJSON 的特…

Redis消息队列-基于PubSub的消息队列

7.3 Redis消息队列-基于PubSub的消息队列 PubSub(发布订阅)是Redis2.0版本引入的消息传递模型。顾名思义,消费者可以订阅一个或多个channel,生产者向对应channel发送消息后,所有订阅者都能收到相关消息。 SUBSCRIBE …

【练习】二分查找

1、704 &#xff08;1&#xff09;题目描述 &#xff08;2&#xff09;代码实现 package com.hh.practice.leetcode.array.demo_02;public class BinarySearch_704 {public int search(int[] nums, int target) {int i 0,j nums.length -1;while (i < j){int mid (ij) &…

【QT+QGIS跨平台编译】181:【QGIS+Qt跨平台编译】—【错误处理:找不到_DEBUGA】

点击查看专栏目录 文章目录 一、找不到_DEBUGA二、原因分析三、错误处理 一、找不到_DEBUGA 报错信息&#xff1a; 二、原因分析 采用了非UNICODE&#xff1a; DEFINES - UNICODE没法识别 _DEBUGA 但可以识别 _DEBUG 三、错误处理 修改 _DEBUGA 为 _DEBUG

C语言专项训练

道阻且长&#xff0c;接下来就要开始数据结构的学习&#xff0c;而学不可以不练&#xff0c;在接下来的学习中&#xff0c;数据结构学习的同时&#xff0c;c语言训练也要开始更新了&#xff5e; NO.1 函数 1.void函数声明 这道题一看就秒了(开玩笑)我们在知道答案的同时&#…

Linux多进程开发2 - 进程间通信

1、进程间通信的概念 进程是一个独立的资源分配单元&#xff0c;不同进程之间的资源是独立的&#xff0c;没有关联&#xff0c;不能在一个进程中直接访问另一个进程的资源。但是&#xff0c;进程不是孤立的&#xff0c;不同的进程需要进行信息的交换和状态的传递等&…

【YOLOV5 入门】——Pyside6/PyQt5可视化UI界面后端逻辑

声明&#xff1a;笔记是做项目时根据B站博主视频学习时自己编写&#xff0c;请勿随意转载&#xff01; 一、环境安装 VScode/Pycharm终端进入虚拟环境后&#xff0c;输入下面代码安装pyside6&#xff0c;若用的Pycharm作为集成开发环境&#xff0c;也下载个pyqt5&#xff1a; …

得物 Zookeeper SLA 也可以 99.99% | 得物技术

一、背景 ZooKeeper&#xff08;ZK&#xff09;是一个诞生于2007年的分布式应用程序协调服务。尽管出于一些特殊的历史原因&#xff0c;许多业务场景仍然不得不依赖它。比如&#xff0c;Kafka、任务调度等。特别是在 Flink 混合部署 ETCD 解耦 时&#xff0c;业务方曾要求绝对…

C语言之探秘:访问结构体空指针与结构体空指针的地址的区别(九十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

npm配置阿里镜像库

1、配置阿里云镜像源 #查看当前使用的镜像地址命令 npm config get registry#设置阿里镜像源 npm config set registry http://registry.npmmirror.com 这里要注意下&#xff0c;之前的镜像源地址 https://registry.npm.taobao.org/ 已经不能用了&#xff0c;这里要更改为新…

SpringCloud之LoadBalancer负载均衡器的简单使用

SpringCloud之LoadBalancer负载均衡器的简单使用 loadbalancer用于对提供服务的集群做一个节点的选取规则。 如图所示&#xff0c;load balancer集成在调用方 示例 创建loadbalance-base模块,并引入相关依赖 <dependencies><dependency><groupId>org.spr…

基于有序抖动块截断编码的水印嵌入和提取算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 噪声测试 旋转测试 压缩测试 2.算法运行软件版本 matlab2022a 3.部分核心程序 ............................................................…

STM32—外部中断_按键控制 LED

目录 1 、 电路构成及原理图 2 、编写实现代码 main.c exti.c 3、代码讲解 4、烧录到开发板调试、验证代码 5、检验效果 开发板介绍 相关笔记 此笔记基于朗峰 STM32F103 系列全集成开发板的记录 1 、 电路构成及原理图 外部中断---EXTI EXTI&#xff08;External…