rtsp transport rtp/avp(/udp)和rtp/avp/tcp区别

来源:互联网 发布:贵州大数据管理局地址 编辑:程序博客网 时间:2024/05/29 15:24

在rtsp的setup命令中需要客户端确定是使用tcp传输还是建立udp传输,具体命令类似:

1.设定tcp传输方式:

RTSP里有一种模式是Interleaved Mode,是在信令的TCP通道上承载RTP/RTCP。主要是为了穿防火墙的,还能利用TCP的可靠性。

在RTP/RTCP上再加上一个Interleaved Channel头。一共是4bytes:

byte 1 : '$'  作为Interleaved channel开始的标志。
byte 2 : channel id。 在RTSP-SETUP消息中确定。一般来说0-video RTP;1-video RTCP ;2-AUDIO RTP;3 AUDIO-RTCP
byte 3-4: RTP包的长度。

interleaved,因为采用TCP方式传送,所以传送的RTP,RTCP包都在同一个链路上,为了区分,就像上面说的,interleaved中0表示是RTP的通道,1表示是RTCP的通道.体现在包上面就是在RTP,RTCP包上封装了一层interleaved frame,格式如下:
Magic:0x24
Channel:0x01(表示RTCP)
Length:84
(以后添加具体格式)


2.设定udp传输方式:


两者的区别归纳如下:

1.使用udp传输需要为每一个连接设定本机的rtp和rtcp对应的两个端口用于rtp和rtcp的通讯,而tcp方式不需要

2.在收包的过程中,TCP流式和UDP包式的不同.