DSP

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

2019-07-13 16:59发布

在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包式的不同.