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包式的不同.
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮