RTSP可用于向服务器拉去媒资, 邀请服务器加入会与或者向演示中加入额外的媒资.
RTSP服务器记录连接的状态, 可以基于可靠连接或者不可靠连接.
Interleaved模式
用途: 用于某些环境下, RTSP协议必须和数据混织在一起
缺点: 增加了复杂度
条件: 只能用于TCP_RTSP
方法: RTP包被两个$
包裹, 后面跟着1字节的channel标识符, 后面跟着二进制被包裹的长度, (占用两字节, 网络序), 后面紧跟着流数据, 后面不仅没有CRLF, 反而包含了上层协议的头部. 每一个$
包括了一个上层协议单元, 比如RTP.
当上层协议是RTP的时候, server还要同时在TCP中交织RTCP消息. 缺省值是在TCP包在第一个可用channel发送
C->S: SETUP rtsp://foo.com/bar.file RTSP/1.0
CSeq: 2
Transport: RTP/AVP/TCP;interleaved=0-1
S->C: RTSP/1.0 200 OK
CSeq: 2
Date: 05 Jun 1997 18:57:18 GMT
Transport: RTP/AVP/TCP;interleaved=0-1
Session: 12345678
C->S: PLAY rtsp://foo.com/bar.file RTSP/1.0
CSeq: 3
Session: 12345678
S->C: RTSP/1.0 200 OK
CSeq: 3
Session: 12345678
Date: 05 Jun 1997 18:59:15 GMT
RTP-Info: url=rtsp://foo.com/bar.file;
seq=232433;rtptime=972948234
S->C: $\000{2 byte length}{"length" bytes data, w/RTP header}
S->C: $\000{2 byte length}{"length" bytes data, w/RTP header}
S->C: $\001{2 byte length}{"length" bytes RTCP packet}