GB/T28181实时视频传输模式介绍

GB/T28181实时视频传输模式介绍

1. 概述

在GB/T28181-2022版本中增加了基于TCP的视频传输的两种模式:主动模式和被动模式,UDP是面向端口的无连接方式,无所谓主动和被动。下面分别介绍下各种模式的概念。

  • UDP模式:在《GB/T28181流媒体相关协议详解》的文章中,以详细介绍了此种模式,由国标平台先开启UDP端口监听,发起INVITE时,在SDP媒体描述信息中携带国标服务器的流媒体接收端口,设备测通过此端口主动向国标服务器发送RTP流。
  • TCP被动模式:国标平台侧发起INVTIE请求时携带的SDP中包含a=setup:passive,表示为被动模式,视频连接建立时由设备测主动发起连接,国标平台侧开启TCP监听端口,被动接收设备侧发起的TCP连接。
  • TCP主动模式:国标平台侧发起INVTIE请求时携带的SDP中包含a=setup:active,表示为主动模式,视频连接建立时由国标平台侧主动发起TCP连接,设备测开启TCP监听端口。

有关TCP模式传输流媒体数据的封包方式及SDP相关SDP描述信息参照规范《rfc4571.Framing Real-time Transport Protocol (RTP) and RTP Control Protocol (RTCP) Packets over Conn》,关注,发送:协议规范,获取相关协议。

2. 28181视频传输模式

2.1 UDP被动模式

28181默认的视频流申请协议时基于UDP的通信,老版本的28181协议仅支持此种模式,其通过平台侧绑定UDP端口,设备测主动发送RTP视频流到国标平台,实现视频的传输,此模式在《GB/T28181流媒体相关协议详解》有详细介绍,这里就不再介绍。

2.2 TCP被动模式

TCP被动模式,首先服务器发送INVITE请求时,携带的SDP中媒体描述信息中传输方式为TCP/RTP/AVP,且包含a=setup:passive,表示为被动模式,视频连接建立时由设备测主动发起连接,国标平台被动接收连接,流程图如下图所示:
1

视频会话交互消息实例:

  1. 国标平台发送INVITE请求:
INVITE sip:34020000001320000002@10.45.12.141:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK17911100
From: <sip:34020000002000000001@3402000000>;tag=828911100
To: <sip:34020000001320000002@10.45.12.141:5060>
Call-ID: 580910568
CSeq: 7 INVITE
Max-Forwards: 70
User-Agent: Easy SIP Server
Content-Length: 257
Content-Type: application/sdp
Contact: <sip:34020000002000000001@10.45.12.83:5061>
Subject: 34020000001320000002:0200000002,34020000002000000001:0

v=0
o=34020000002000000001 0 0 IN IP4 10.45.12.83
s=Play
c=IN IP4 10.45.12.83
t=0 0
m=video 30000 TCP/RTP/AVP 96 98 97
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000
a=setup:passive
a=connection:new
y=0200000002

这里媒体描述信息中传输协议类型为:TCP/RTP/AVP,表示TCP传输,视频流传输端口号为30000,携带a=setup:passive表示被动模式。

  1. 设备测发送200 OK响应:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK17911100
From: <sip:34020000002000000001@3402000000>;tag=828911100
To: <sip:34020000001320000002@10.45.12.141:5060>;tag=1748018096
Call-ID: 580910568
CSeq: 7 INVITE
Contact: <sip:34020000001110000002@10.45.12.141:5060>
Content-Type: application/sdp
User-Agent: IP Camera
Content-Length:   203

v=0
o=34020000001110000002 791 791 IN IP4 10.45.12.141
s=Play
c=IN IP4 10.45.12.141
t=0 0
m=video 15060 TCP/RTP/AVP 96
a=setup:active
a=sendonly
a=rtpmap:96 PS/90000
a=filesize:0
y=0200000002

从设备测响应的协议,可以看出,设备侧发送的流媒体为音视频,源端端口为15060,传输方式为TCP,rtp负载类型为96,这里响应携带的a=setup:active,对于设备测是主动发起连接,时主动模式,对于平台侧就是被动模式。

  1. 国标平台发起ACK:
ACK sip:34020000001320000002@10.45.12.141:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK940911118
From: <sip:34020000002000000001@3402000000>;tag=828911100
To: <sip:34020000001320000002@10.45.12.141:5060>;tag=1748018096
Call-ID: 580910568
CSeq: 7 ACK
Max-Forwards: 70
User-Agent: Easy SIP Server
Content-Length: 0
  1. 视频传输通道的建立

1
从上图可以看出,TCP连接由设备侧发起SYN,向服务侧30000端口发起连接,源端端口为15060

  1. RTP流基于TCP的传输

TCP通道建立后,RTP流基于TCP通道进行传输,RTP传输负载类型为96,SSRC为0200000002,其封装方式参照:《rfc4571》,音视频封装格式为PS,有关PS封包格式、RTP/RTCP封装方式,在以前的文章中已经详细介绍过,可关注,发送:rtp,获取rtp相关文章,发送消息ps,获取ps相关文章,这里不做介绍。
在这里插入图片描述
通过wireshark抓包解析出来的传输的TCP负载如上图所示。根据rfc4571,RTP通过tcp传输时,需要带有两个字节的长度,表示rtp数据的长途,实例中为0x0584=1412,表示rtp数据包的长度为1412字节。接下来就是rtp包,解析rtp包头可知,其payload=0x60=96,ssrc=0x0bebc202=0200000002,rtp负载为ps流。

2.3 TCP主动模式

28181视频传输主动模式,除了建立TCP连接的方向是由国标平台主动向设备侧发起TCP连接之外,其他流程与被动模式一致,其流程如下:
1

交互消息实例如下:

  1. 国标平台发送INVITE请求:
INVITE sip:34020000001320000002@10.45.12.141:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK782121095
From: <sip:34020000002000000001@3402000000>;tag=910121095
To: <sip:34020000001320000002@10.45.12.141:5060>
Call-ID: 968120567
CSeq: 11 INVITE
Max-Forwards: 70
User-Agent: Easy SIP Server
Content-Length: 256
Content-Type: application/sdp
Contact: <sip:34020000002000000001@10.45.12.83:5061>
Subject: 34020000001320000002:0200000002,34020000002000000001:0

v=0
o=34020000002000000001 0 0 IN IP4 10.45.12.83
s=Play
c=IN IP4 10.45.12.83
t=0 0
m=video 30001 TCP/RTP/AVP 96 98 97
a=recvonly
a=rtpmap:96 PS/90000
a=rtpmap:98 H264/90000
a=rtpmap:97 MPEG4/90000
a=setup:active
a=connection:new
y=0200000002

SDP携带a=setup:active,表示主动模式,视频通道源端口为30001,TCP/RTP/AVP表示TCP传输。

  1. 设备测发送200 OK响应:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK782121095
From: <sip:34020000002000000001@3402000000>;tag=910121095
To: <sip:34020000001320000002@10.45.12.141:5060>;tag=155643556
Call-ID: 968120567
CSeq: 11 INVITE
Contact: <sip:34020000001110000002@10.45.12.141:5060>
Content-Type: application/sdp
User-Agent: IP Camera
Content-Length:   206

v=0
o=34020000001110000002 2136 2136 IN IP4 10.45.12.141
s=Play
c=IN IP4 10.45.12.141
t=0 0
m=video 15060 TCP/RTP/AVP 96
a=setup:passive
a=sendonly
a=rtpmap:96 PS/90000
a=filesize:0
y=0200000002

从SDP中可知,设备端视频传输的TCP监听端口为15060,被动模式。

  1. 国标平台发起ACK:
ACK sip:34020000001320000002@10.45.12.141:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 10.45.12.83:5061;rport=5061;branch=z9hG4bK304121113
From: <sip:34020000002000000001@3402000000>;tag=910121095
To: <sip:34020000001320000002@10.45.12.141:5060>;tag=155643556
Call-ID: 968120567
CSeq: 11 ACK
Max-Forwards: 70
User-Agent: Easy SIP Server
Content-Length: 0
  1. 视频传输通道的建立:

视频通道的TCP连接,由国标平台主动发起发起SYN,向设备端发起连接建立请求。
1

  1. RTP流基于TCP的传输:

rtp传输与被动模式一致,wireshark抓包如下:
1


关注,发送:28181,获取28181更多相关文章

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GB/T28181-2016是中国国家标准中关于IP视频监控设备与平台的技术规范。该标准是为了促进视频监控行业的发展,提高视频监控系统的互操作性和标准化水平而制定的。 GB/T28181-2016标准规定了视频监控设备与平台之间的通信协议、数据传输方式和接口要求,使得不同厂家生产的设备和平台能够相互连接和通信,实现视频数据的互联互通。这将带来很多好处,比如提高了设备的互操作性和兼容性,可以更方便地进行设备的远程监控和管理。同时,标准化的视频监控系统也可以方便地进行扩展和升级,满足不同规模和需求的用户。 GB/T28181-2016还规定了视频监控设备和平台之间的安全性要求,以确保视频数据在传输过程中的机密性和完整性。这对于保护视频监控系统免受未经授权的访问和攻击有着重要的意义,可以避免视频数据泄露或被篡改。 此外,GB/T28181-2016还包括了视频监控设备和平台的性能指标和测试方法,用于评价设备和平台的质量和性能。这有助于用户选择合适的产品,并提高整个视频监控系统的可靠性和稳定性。 总之,GB/T28181-2016为视频监控设备和平台的互联互通、安全性和质量提供了统一的技术规范,有助于推动视频监控行业的发展和标准化。它提供了便利和保障,使得视频监控系统能够更加高效、安全地工作,为用户提供更好的监控服务和体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

壹零仓

感谢您的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值