RTSP可用于向服務(wù)器拉去媒資, 邀請(qǐng)服務(wù)器加入會(huì)與或者向演示中加入額外的媒資.
RTSP服務(wù)器記錄連接的狀態(tài), 可以基于可靠連接或者不可靠連接.
Interleaved模式
用途: 用于某些環(huán)境下, RTSP協(xié)議必須和數(shù)據(jù)混織在一起
缺點(diǎn): 增加了復(fù)雜度
條件: 只能用于TCP_RTSP
方法: RTP包被兩個(gè)$包裹, 后面跟著1字節(jié)的channel標(biāo)識(shí)符, 后面跟著二進(jìn)制被包裹的長(zhǎng)度, (占用兩字節(jié), 網(wǎng)絡(luò)序), 后面緊跟著流數(shù)據(jù), 后面不僅沒(méi)有CRLF, 反而包含了上層協(xié)議的頭部. 每一個(gè)$包括了一個(gè)上層協(xié)議單元, 比如RTP.
當(dāng)上層協(xié)議是RTP的時(shí)候, server還要同時(shí)在TCP中交織RTCP消息. 缺省值是在TCP包在第一個(gè)可用channel發(fā)送
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}