现在的位置: 首页 > 综合 > 正文

终端模拟rtsp回话过程

2013年10月21日 ⁄ 综合 ⁄ 共 3320字 ⁄ 字号 评论关闭

http://www.cnblogs.com/foxmin/archive/2012/03/11/2389861.html

1. telnet 192.168.1.98 81
2. Ctrl+]
3. 回车
4. 将待发送的请求(see following example.)粘贴在光标处。Windowns 下好像只能一个一个敲, 痛苦....
 
OPTIONS rtsp://30.0.0.17/pinball.wmv RTSP/1.0
CSeq: 1
User-Agent: WMPlayer/11.0.5721.5251 guid/b4112aa1-c1da-4f3a-9d43-978db491b5d9
Content-Length: 0
 
5. 回车再回车 添加空行
 
 
简单的rtsp交互过程:
       C表示rtsp客户端,S表示rtsp服务端
1.C->S:OPTION request       //询问S有哪些方法可用
1.S->C:OPTION response    //S回应信息中包括提供的所有可用方法
 
2.C->S:DESCRIBE request      //要求得到S提供的媒体初始化描述信息
2.S->C:DESCRIBE response    //S回应媒体初始化描述信息,主要是sdp
 
3.C->S:SETUP request             //设置会话的属性,以及传输模式,提醒S建立会话
3.S->C:SETUP response          //S建立会话,返回会话标识符,以及会话相关信息
 
4.C->S:PLAY request        //C请求播放
4.S->C:PLAY response            //S回应该请求的信息
 
S->C:发送流媒体数据,即rtp包。此时需要新建一个udp回话来接受摄像头发送的包。
 
5.C->S:TEARDOWN request      //C请求关闭会话
5.S->C:TEARDOWN response //S回应该请求
 
 
 
rtsp中常用方法: 
 
1. OPTION
目的是得到服务器提供的可用方法:
OPTIONS rtsp://192.168.20.136:5000/xxx666 RTSP/1.0
CSeq: 1 //每个消息都有序号来标记,第一个包通常是option请求消息
User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)
 
服务器的回应信息包括提供的一些方法,例如:
RTSP/1.0 200 OK 
Server: UServer 0.9.7_rc1
Cseq: 1 //每个回应消息的cseq数值和请求消息的cseq相对应
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, SCALE,GET_PARAMETER //服务器提供的可用的方法
 
2. DESCRIBE 
C向S发起DESCRIBE请求,为了得到会话描述信息(SDP):
DESCRIBE rtsp://192.168.20.136:5000/xxx666 RTSP/1.0
CSeq: 2
token: 
Accept: application/sdp
User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10) 
 
服务器回应一些对此会话的描述信息(sdp):
RTSP/1.0 200 OK 
Server: UServer 0.9.7_rc1 
Cseq: 2 
x-prev-url: rtsp://192.168.20.136:5000 
x-next-url: rtsp://192.168.20.136:5000 
x-Accept-Retransmit: our-retransmit 
x-Accept-Dynamic-Rate: 1 
Cache-Control: must-revalidate 
Last-Modified: Fri, 10 Nov 2006 12:34:38 GMT 
Date: Fri, 10 Nov 2006 12:34:38 GMT 
Expires: Fri, 10 Nov 2006 12:34:38 GMT 
Content-Base: rtsp://192.168.20.136:5000/xxx666/ 
Content-Length: 344 
Content-Type: application/sdp 
 
v=0 //以下都是sdp信息
o=OnewaveUServerNG 1451516402 1025358037 IN IP4 192.168.20.136 
s=/xxx666 
u=http:/// 
e=admin@ 
c=IN IP4 0.0.0.0 
t=0 0 
a=isma-compliance:1,1.0,1 
 
a=range:npt=0- 
m=video 0 RTP/AVP 96 //m表示媒体描述,下面是对会话中视频通道的媒体描述
a=rtpmap:96 MP4V-ES/90000 
a=fmtp:96 profile-level-id=245;config=000001B0F5000001B509000001000000012000C888B0E0E0FA62D089028307 a=control:trackID=0 //trackID=0表示视频流用的是通道0
 
3.SETUP 
客户端提醒服务器建立会话,并确定传输模式:
SETUP rtsp://192.168.20.136:5000/xxx666/trackID=0 RTSP/1.0 
CSeq: 3 
Transport: RTP/AVP/TCP;unicast;interleaved=0-1 
User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)
//uri中 带有trackID=0,表示对该通道进行设置。Transport参数设置了传输模式,包的结构。接下来的数据包头部第二个字节位置就是 interleaved,它的值是每个通道都不同的,trackID=0的interleaved值有两个0或1,0表示rtp包,1表示rtcp包,接 受端根据interleaved的值来区别是哪种数据包。
 
服务器回应信息:
RTSP/1.0 200 OK 
Server: UServer 0.9.7_rc1 
Cseq: 3 
Session: 6310936469860791894 //服务器回应的会话标识符
Cache-Control: no-cache 
Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=6B8B4567
 
4.PLAY 
客户端发送播放请求:
PLAY rtsp://192.168.20.136:5000/xxx666 RTSP/1.0 
CSeq: 4 
Session: 6310936469860791894 
Range: npt=0.000- //设置播放时间的范围
User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10)
 
服务器回应信息:
RTSP/1.0 200 OK 
Server: UServer 0.9.7_rc1 
Cseq: 4 
Session: 6310936469860791894 
Range: npt=0.000000- 
RTP-Info: url=trackID=0;seq=17040;rtptime=1467265309 
//seq和rtptime都是rtp包中的信息
 
5.TEARDOWN 
客户端发起关闭请求:
TEARDOWN rtsp://192.168.20.136:5000/xxx666 RTSP/1.0 
CSeq: 5 
Session: 6310936469860791894 
User-Agent: VLC media player (LIVE555 Streaming Media v2005.11.10) 
 
服务器回应:
RTSP/1.0 200 OK 
Server: UServer 0.9.7_rc1 
Cseq: 5 
Session: 6310936469860791894 
Connection: Close 
下面是截图:

抱歉!评论已关闭.