在当今的视频监控领域,GB/T28181协议作为中国国家标准委员会发布的重要技术规范,发挥着举足轻重的作用。这一标准不仅为视频监控系统的设备接入、视频流传输、设备控制等功能提供了明确的技术指导,还极大地促进了不同厂家设备之间的兼容性和互操作性。本文将深入探讨GB/T28181协议中的流类型。
GB/T28181中的流类型
(一)PS码流抓包分析
GB/T28181的视频流采用PS格式进行封装。PS数据包由四个部分组成,分别是Pack_header、System_header、Program_stream_map和PES_pakcet。起始四个字节分别为000001BA、000001BB、000001BC、000001C0(音频)或000001E0(视频)。
对于音频采样率,GB28181音频采样率为固定值,通道数为1,采样率为8kHz。码流id基于RTP的PS封装,首先按照ISO/IEC13818-1:2019将视音频流封装成PS包,再将PS包以负载的方式封装成RTP包。
PS包中各部分的具体数据结构参见ISO/IEC13818-1:2019中的相关描述。系统头应包含对PS包中码流种类的描述,其中视频和音频的流ID取值如下:
视频流ID为0xE0;
音频流ID为0xC0。
针对本文件规定的几种视音频格式,PSM中流类型的取值如下:
1)MPEG-4视频流为0x10;
2)H.264视频流为0x1B;
3)SVAC视频流为0x80;
4)G.711A律音频流为0x90;
5)G.711U律音频流为0x91;
6)G.722.1音频流为0x92;
7)G.723.1音频流为0x93;
8)G.729音频流为0x99;
9)SVAC音频流为0x9B;
10)AAC音频流为0x0F。
PS包的RTP封装格式参照IETFRFC2250,RTP的主要参数设置如下:
1)负载类型为96;
2)编码名称为PS;
3)时钟频率为90kHz;
4)SDP描述中“m”字段的“media”项为video。
(二)视频预览中的码流选择
在视频预览中,不同设备对于主码流和子码流的选择方式有所不同。以大华NVR和IPC为例,a字段可携带媒体类型参数,采用大华设备私有协议。具体方式为:
a=streamprofile:码流类型(取值为整型,0为主码流,1为子码流,2为第三码流,以此类推);
a=streamnumber:码流编号(取值为整型。0:主码流,1为子码流,2为第三码流,以此类推)。
对于海康IPC,如果摄像头支持码流选择,在GB28181平台接入的配置页面,可以选择28181码流索引来确定主码流或子码流。
在实际项目中,因不同应用场景或受到网络带宽影响需要实现按需拉流。例如,在网络带宽有限的情况下,可以选择子码流进行视频预览,以保证视频的流畅性;而在需要高清画质的场景下,可以选择主码流。这样可以根据实际需求灵活选择码流,提高视频监控的效率和质量。
综上所述,通过合理选择和应用这些流类型,我们可以构建出高效、稳定、兼容的视频监控系统,为公共安全、城市管理、企业安防等领域提供有力的技术支持。随着技术的不断发展,GB/T28181协议将在EasyGBS领域发挥越来越重要的作用,为我们的生活和工作带来更多的便利和安全。