http://blog.csdn.net/evsqiezi/article/details/22881151
1、
当使用TCP协议承载RTSP/RTP时,所有的命令和媒体数据都将通过RTSP端口,通常是554,进行发送
2、
SETUP阶段请求TCP连接,sdp里应有如下信息
Transport: RTP/AVP/TCP;interleaved=0-1
或Transport: RTP/AVP/TCP;unicast;interleaved=0-1
interleaved=0-1指明了信道号,信道说明见3
3、
有信道的概念
信道 0 和 1 对流数据以及控制信息进行交织,控制信道为奇数,数据信道为偶数
4、
SETUP之后,RTP数据将通过用来发送RTSP命令的TCP Socket进行发送。RTP数据将以如下格式进行封装:
| magic number | channel number | embedded data length | data |
magic number : 1 字节,值为 0x24
channel number:1 字节,信道号
embedded data length:2字节,其后的数据长度
data:被打包的数据,比如rtp包数据,或者原始的udp数据
5、
SETUP信令返回Session,Session = "Session" ":" session-id [ ";" "timeout" "=" delta-seconds ],比如下:
Session: 536547452;timeout=60
一旦会话(SESSION)被创建,接下来的每一个RTSP命令都必须加上session_id,so that the server can identify the stream。另外,"timeout"的值是可选