GB28181协议简介以及学习GB28181协议所涉及的名词汇总(入门篇)
1.GB/T 28181 —2016协议简介:
近年来,国内视频监控应用发展迅猛,系统接入规模不断扩大,涌现了大量平台提供商,平台提供商的接入协议各不相同,终端制造商需要给每款终端维护提供各种不同平台的软件版本,造成了极大的资源浪费。各地视频大规模建设后,省级、国家级集中调阅,对重特大事件通过视频掌握现场并进行指挥调度的需求逐步涌现,然而不同平台间缺乏统一的互通协议。在这样的产业背景下,基于终端标准化、平台互联互通的需求,GB/T28181应运而生。 GB28181标准规定了公共安全视频监控联网系统(以下简称联网系统) 的互联结构, 传输、 交换、 控制的基本要求和安全性要求, 以及控制、 传输流程和协议接口等技术要求。
2.GB28181包含的的主要功能有以下几个部分(后续文章中对其各个功能进行解析介绍):
- SIP代理向服务器发起注册和注销;
- 实时视音频点播;
- 设备控制(上下左右、焦距、巡航、预置位、布/撤防、辅助开关、看守卫等);
- 报警事件通知和分发;
- 网络设备信息和查询;
- 状态信息报送(与心跳保活连用);
- 设备视音频文件检索;
- 历史视音频回放;
- 视音频文件下载;
- 校时;
- 订阅和通知;
- 语音广播和语音对讲。
以上功能就是GB28181协议所要介绍的主要内容,整个GB28181协议都是围绕以上功能进行展开介绍的 。
3.GB28181项目的设计思路逻辑图如下:
4.SIP协议(从此处开始将介绍所需的必备知识储备简介):
SIP协议:会话初始协议(支持语音、视频、数据等多媒体业务)。GB28181协议是以sip协议为核心进行规定的。
5.网络传输协议要求:
联网系统网络层为ip协议,传输层为tcp/udp协议。
6.IP协议:
IP协议:是tcp/ip协议的核心,所有的TCP/UDP/IMCP/IGMP都是以ip协议传输的,ip不是可靠协议,一般用于网络层中的点对点通信等。
7.GB28181协议——流媒体几种传输方式(UDP、TCP被动、TCP主动模式):
- UDP协议:(User Datagram Protocol)用户数据包协议。简单、快速、可靠度低。
- TCP协议:(Transmission Control Protocol)传输控制协议。复杂、缓慢、可靠。
- UDP:平台监听UDP端口,通过INVITE信令告知设备端UDP端口号,设备端通过告知的端口创建UDP SOCKET,设备端通过这个SOCKET主动向平台传输码流。
- TCP被动:平台监听TCP端口,通过INVITE信令告知设备端的TCP端口号,设备通过这个连接主动向 平台传输码流。
- TCP主动:在UDP模式和TCP被动模式中,平台端是server,设备端是client,但是在TCP主动模式中, 设备端为server,平台端为client。设备端告知平台端监听的TCP端口情况(通过SDP协议),当设备端监 听到平台端连接时,将主动向这个连接发起码流。
8.SDP协议:
SDP协议:描述多媒体会话的应用层协议(文本协议)。以下为各个字段的含义。
V:协议版本 O:所有者/创建者会话标识 S:会话名 U:视音频文件的URI
C:连接信息 T:回放/下载时的开始/结束时间 M:媒体描述类型(video/audio)
B:宽带信息 A:零或多个媒体行属性 Y:一般指一路数据流的id F:一般指媒体描述
9.控制描述协议(MANSCDP):
(1)请求命令:Contral(控制)、Query(查询)、Notify(通知)。
(2)应答命令:Response(请求动作应答)。
(3)全局类型名称及说明:deviceIDType(设备编码类型)、statusType(状态类型)、resultType(结果类型);PTZType(控制码类型)、recordType(录像控制类型)、guardType(布防/撤防控制类型);itemType(设备目录项类型)、itemFileType(文件目录项类型)。
10.MESSAGE消息头含义:
Message消息体格式如下:
Messagesip:目的设备编码@目的域名或IP地址端口SIP/2.0
To:sip:目的设备编码@目的域名
Content-Length:消息实体的字节长度
CSeq:1Message
Call-ID:a84b4c76e66710
Via:SIP/2.0/UDP 源域名或IP地址
From:<sip:源设备编码@源域名>;tag=237f57dc
Content-Type:Application/MANSCDP+xml
Max-Forwards:69
Header |
含义说明 |
Via |
Via头域是被服务器插入request中,用来检查路由环的,并且可以使response根据via找到返回的路 |
Max-Forwards |
用于表示这个包最多可以传送多少跳,每经过一跳都会减一当Max-Forwards==0系统会返回483。默认为70 |
From |
表示请求的发起者 |
To |
表示请求的接收者 |
Call-ID |
对话的地址ID |
Contact |
包含源的URI信息,用来给响应方直接和源建立连接用 |
Content-Type |
指明消息体的类型 (SDP会话描述协议) |
Content-Length |
指明消息体的字节大小 |
11.常见的状态码:
状态码 |
含义 |
1xx |
临时响应、表示请求消息正在被处理 |
2xx(200) |
成功响应、表示请求已被成功接收完全理解并接收(成功响应) |
3xx(302) |
重定向响应、表示需采取进一步完成请求(临时迁移) |
4xx |
客户机错误、表示请求消息中包含语法错误信息或服务器无法完成客户机的请求 |
5xx(504) |
服务器错误、表示服务器无法合法完成请求(服务器超时) |
6xx(600) |
全局故障 、表示任何服务器都无法完成该请求(全忙) |
12.Method请求行方法:
Method |
方法说明 |
REGISTER |
注册联系信息 |
INVITE |
发起会话请求 |
ACK |
INVITE 请求的响应的确认(与INVITE配套使用) |
CANCEL |
取消请求 |
BYE |
终结会话(与INVITE配套使用) |
OPTIONS |
查询服务器能力 |
MESSAGE |
RFC3428对Sip协议的扩展,增加了MESSAGE方法。采用Pager Model进行通信,传递不超过1300字节的数据。 |
13.设备编码规则:编码规则A;编码规则B。
编码规则A:系统编码(20位)==中心编码(8位)+行业编码(2位)+类型编码(3位)+序号(7位)。
eg:37030000001320000023代表:山东省淄博市的社会治安路面接入网络摄像机(IPC)编码序号。
编码规则B:系统编码(16位)==中心编码(8位)+行业编码(2位)+序号(4位)+类型编码(2位)。
eg:3703000000002302代表:山东省淄博市的社会治安路面接入序号数字视频解码设备。
14.视音频的封装格式:先PS----->后RTP打包封装后进行推流拉流。
在gb28181中视音频数据是先按照ISO/IEC13818-1:2000将其封装为PS包后,再将PS包以负载形式封装为 RTP包。
PS包结构 == System Heade(系统头)+PSM(程序流图)+PESV(视频PES包)+PESA(音频PES包。如下:典型的视频关键帧PS包结构。
PS包头 | System header | PSM | PESV | PESA |
15.基于RTP的视音频基本流封装:直接将视音频数据以负载形式封装成RTP包。
- 视频流负载形式的RTP封装:
- MPEG4(负载类型97)、H264(负载类型98)、H265(负载类型98);
- 音频流的负载形式的RTP封装:
- G711A(负载类型8)、SVAC(负载类型20)、G7231(负载类型4);
16.RTP协议解析:
RTP协议 == RTP Header(RTP头部占12byte) + RTP Payload(RTP负载);
RTP payload=NALU(网络提取单元层)=NAL header(占1byte=8bit)+H264原始码流(RBSP);
RTP payload=NALU(网络提取单元层)/分包后的FU-A(分片单元)/PPS(图像参数集)+SPS(序列参数集);
17.MTU(最大传输单元):
MTU的默认值一般为1500byte,一般NALU(或FU-A)需小于MTU
FU-A的分片格式:12byte的RTP头+fu-a分片
18.RTMP与RTSP的联系与区别:
(1)联系:二者都是流媒体协议用于传输视音频数据流的。
(2)区别:
RTMP:实时消息协议(Real Time Messaging Protocol)。
底层协议:TCP。
一般用于第三方流媒体应用(B站等)。
RTSP:实时流协议(Real Time Streaming Protocol)。
底层协议:TCP和UDP。
一般用于IP摄像头、物联网设备等。
总结:
参考资料:
《GBT 28181-2016 公共安全视频监控联网系统信息传输、交换、控制技术要求》
GB28181协议简介以及学习GB28181协议所涉及的名词汇总(入门篇)相关推荐
- stomp协议简介 服务器客户端通讯协议
一.STOMP协议介绍 STOMP即Simple (or Streaming) Text Orientated Messaging Protocol,简单(流)文本定向消息协议,它提供了一个可互操作的 ...
- 《从零开始学习ASP.NET MVC 1.0》-开天辟地入门篇
<从零开始学习ASP.NET MVC 1.0> 文章导航 (一) 开天辟地入门篇 (二) 识别URL的Routing组件 (三) Controller/Action 深入解析与应用实例 ( ...
- 学习笔记---程序员练级攻略(入门篇、修养篇、专业基础篇、软件设计篇、高手成长篇)
根据极客时间 左耳朵耗子 整理,请忽略每一行最后的数字 文章目录 1. 入门篇 47 2. 修养篇 51 3. 专业基础篇 56 4. 软件设计篇 60 5. 高手养成 63 1. 入门篇 47 1. ...
- 趣谈网络协议1-为什么学习网络协议
来自极客时间<趣谈网络协议> 学习过程遇见问题:一看觉得懂,一问就打鼓,一用就糊涂. 1.为什么要学习网络协议 一般编译过程: 词法分析: 词法分析是编译的第一阶段.词法分析器的主要任务是 ...
- DHCP协议格式、DHCP服务搭建、DHCP协商交互过程入门学习
相关学习资料 http://www.rfc-editor.org/rfc/rfc2131.txt http://baike.baidu.com/view/7992.htm?fromtitle=DHCP ...
- 【计算机网络】网络层 : BGP 协议 ( BGP 协议简介 | BGP 协议信息交换 | BGP 协议报文格式 | BGP-4 常用报文 | RIP 、OSPF、BGP 协议对比 )
文章目录 一.路由选择协议分类 二.BGP 协议 简介 三.BGP 协议 信息交换过程 三.BGP 协议 报文格式 四.BGP 协议 特点 五.BGP-4 协议的 四种报文 六.RIP .OSPF.B ...
- Modbus通讯协议简介
Modbus协议简介 Modbus协议最初由Modicon公司开发出来,此协议支持传统的RS-232.RS-422.RS-485和以太网设备,许多工业设备,包括PLC,DCS,智能仪表等都在使用Mod ...
- SPI (串行外围设备接口) 协议简介
1.SPI协议简介 1.1 SPI协议概括 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口.是Motorola首先在其MC68HCXX系列处理 ...
- 学习版pytest内核测试平台开发万字长文入门篇
前言 2021年,测试平台如雨后春笋般冒了出来,我就是其中一员,写了一款pytest内核测试平台,在公司落地.分享出来后,有同学觉得挺不错,希望能开源,本着"公司代码不要传到网上去,以免引起 ...
最新文章
- MyEclipse优化浅析
- JavaScript:动态选中CheckBox
- 音视频技术开发周刊 | 191
- SpringBoot应用和PostgreSQL数据库部署到Kubernetes上的一个例子
- mui.init方法配置
- java web类名_带有Java的Selenium Webdriver:使用一个命令定位具有多个类名的元素
- (71)FPGA时钟双沿约束如何做?
- python 读取数据库内存爆_解决python读取几千万行的大表内存问题
- (node:62099) ExperimentalWarning: The fs.promises API is experimental
- 【Codeforces	1421	D】Hexagons,贪心,模拟
- Halcon之 Variation Model(转)
- Vs2015常见错误码:error LNK2019: 无法解析的外部符号;error C2011:类型重定义;
- 01.FFmpeg下载以及安装
- acme部署https证书
- CCD靶面尺寸对应的宽高和对角线长度
- 阿里云视频点播相关代码
- C#调用科大讯飞离线语音合成TTS
- 【博学谷学习记录】超强总结,用心分享 | java基础
- 真实的玻璃反光效果PS图层样式
- ubuntu apt update时W: GPG error http://ppa.launchpad.net lucid Release没有公钥无法验证NO_PUBKEY签名问题解决