【RTSP/RTP流媒体】7、RTP数据包的传输方式

来源:互联网 发布:Mac可以装精简版w10 编辑:程序博客网 时间:2024/06/07 00:22

RTP数据包的传输方式是由RTSP协议的SETUP方法确定的。SETUP请求的Transport 域详细列出了客户端能接受的数据传输参数 ;SETUP响应的Transport 域包含服务器选定的传输参数。 例如,通过unicast(单播)| multicast(多播)参数确定。对于unicast(单播)而言,传输层协议可以选取TCP或UDP。RTP/AVP或RTP/AVP/UDP表示传输层协议选取UDP,RTP/AVP/TCP表示传输层协议选取TCP。

7.1、UDP

         SETUP请求及响应示例:

SETUPrtsp://10.137.10.103/test.mpg/track1 RTSP/1.0

CSeq: 3

User-Agent:LibVLC/2.1.5 (LIVE555 Streaming Media v2014.05.27)

Transport:RTP/AVP;unicast;client_port=61948-61949

RTSP/1.0 200 OK

CSeq: 3

Date: Fri, May 082015 06:19:14 GMT

Transport:RTP/AVP;unicast;destination=10.137.10.107;source=10.137.10.103;client_port=61948-61949;server_port=6970-6971

Session:1072919D;timeout=65

l  RTP/AVP

传输层协议采用UDP。

l  unicast

单播。

l  client_port=61948-61949

客户端在61948端口接收RTP包,61949端口接收RTCP包。

l  server_port=6970-6971

服务器通过6970端口发送RTP包,6971端口发送RTCP包。

7.2、TCP

SETUP请求示例:

SETUP rtsp://10.137.10.103/test.mpg/track2RTSP/1.0

CSeq: 5

User-Agent:LibVLC/2.1.5 (LIVE555 Streaming Media v2014.05.27)

Transport: RTP/AVP/TCP;unicast;interleaved=0-1

Session: 03E71A10

RTSP/1.0 200 OK

CSeq: 5

Date: Fri, May 082015 06:17:48 GMT

Transport: RTP/AVP/TCP;unicast;destination=10.137.10.107;source=10.137.10.103;interleaved=0-1

Session:03E71A10;timeout=65

l  RTP/AVP/TCP

传输层协议采用TCP。

l  unicast

单播。

l  interleaved=0-1

RTSP/RTP/RTCP共用一条TCP连接。在RTP/RTCP包前面加4字节头,以区分RTSP/RTP/RTCP,如下:

0

1

2

3

                  $                   

             channel               

length

l  $

同步字节,固定为0x24 ,表示后面的是一个RTP或RTCP包。

l  channel

通道号,用于区分RTP/RTCP包,对应interleaved=0-1标识的通道号。以interleaved=0-1为例,则channel为0表示该RTP包,channel为1表示为RTCP包。

l  length

RTP/RTCP包长度,不包括该4字节头。
0 0