LIVE555包解析.docx
《LIVE555包解析.docx》由会员分享,可在线阅读,更多相关《LIVE555包解析.docx(10页珍藏版)》请在冰豆网上搜索。
LIVE555包解析
客户端:
Mplayer
服务端:
LIVE555
播放文件格式:
acc
一、OPTIONS
客户端发送请求:
OPTIONSrtsp:
//
192."
168."
0.235:
554RTSP/
1."0
CSeq:
1
User-Agent:
RealMediaPlayerHelixDNAClient/
10."
0.
1."65(win32)//客户端版本,运行的系统ClientChallenge:
ecfc7f451b599180ec25b706ddbd18ee
ClientID:
WinNT_
6."1_
10."
0.
1."65_play32_RN01_EN_686
CompanyID:
YurviqDthCPgn+V3Ms/YiQ==
GUID:
0000-00-00-00-000000
PlayerStarttime:
[03/08/2011:
11:
26:
1008:
00]//流媒体开始播放的时间
Pragma:
initiate-session
RegionData:
0
解析:
此步骤是客户端向服务器询问有哪些方法可以使用。
包里面说明了客户端请求的文件所在的地址和端口,并说明播放器的版本和操作系统平台。
服务端响应请求:
RTSP/
1."0200OK
CSeq:
1
Date:
Wed,Aug03201107:
01:
25GMT//服务器当前时间
Public:
OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE,GET_PARAMETER,SET_PARAMETER//服务器支持的方法
解析:
接收到OPTIONS请求后服务端发出响应报文。
最开始返回状态码200代表请求成功。
然后返回服务器当前时间(GMT)和所支持的方法。
二、DESCRIBE
客户端发送请求:
DESCRIBErtsp:
//
192."
168."
0.235:
554/
21."aacRTSP/
1."0
CSeq:
2
Accept:
application/sdp//定义描述类型
解析:
该方法是客户端像服务端请求描述媒体的详细信息。
包中说明需要描述的媒体文件具体目录和名称,定义客户端能理解的描述类型,要求服务端以SDP包方式来描述媒体信息服务端响应请求:
RTSP/
1."0200OK
CSeq:
2
Date:
Wed,Aug03201107:
01:
26GMT
Content-Base:
rtsp:
//
192."
168."
0.235/
21."aac/
Content-Type:
application/sdp//描述类型
Content-Length:
515//SDP包的长度
第一部分
解析:
这是服务端响应DESCRIBE请求所发回的报文。
以上内容说明描述的媒体文件具体路径和名称,以及所采用的描述类型(sdp),并定义了SDP包内容的长度。
以下的第二部分是SDP包的内容。
v=0
o=-965851INIP4
192."
168."
0.235//IP4即IPV4协议,后面是服务端地址s=AACAudio,streamedbytheLIVE555MediaServer//流媒体格式,服务器信息
i=
21."aac//媒体名称
t=00//媒体开始时间和结束时间,默认00
a=tool:
LIVE555StreamingMediav
2011."0
1."19
a=type:
broadcast
a=control:
*a=range:
npt=0-
a=x-qt-text-nam:
AACAudio,streamedbytheLIVE555MediaServer
a=x-qt-text-inf:
21."aac
m=audio0RTP/AVP96//媒体类型+端口+传输协议+格式列表
c=INIP4
0."
0.
0."0//连接信息
b=AS:
96
a=rtpmap:
96MPEG4-GENERIC/48000/2
a=fmtp:
96
streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3;config=1190
a=control:
track1
第二部分
解析:
该部分是SDP包内容,包括媒体的所有初始化信息。
在传输时SDP包作为RTSP包里的一部分一起发送。
三、SETUP
客户端发送请求:
SETUPrtsp:
//
192."
168."
0.235/
21."aac/track1RTSP/
1."0
CSeq:
3
User-Agent:
MPlayer(LIVE555StreamingMediav
2011."0
3."14)//客户端详细信息
Transport:
RTP/AVP;unicast;client_port=59558-59559//传输协议+传播方式(单播或多播)+接收数据的端口号。
解析:
客户端向服务端发送SETUP请求,要求服务端设置会话属性和流媒体传输方式以建立会话。
包内容包含客户端软件详细信息,以及所需要的传输协议(RTP),传播方式和客户端用来接收数据的端口号。
服务端响应请求:
RTSP/
1."0200OK
CSeq:
3
Date:
Wed,Aug03201107:
01:
26GMT
Transport:
RTP/AVP;unicast;destination=
192."
168."
0.179;source=
192."
168."
0.235;client_port=59558-59559;server_port=6970-6971//传输协议+传播方式+目的IP+源IP+客户端端口+服务端端口Session:
007578//会话标识
解析:
服务端接收到SETUP请求后建立会话,向客户端返回会话详细信息以及会话标识。
会话标识是唯一的。
至此一个会话建立完成。
四、PLAY
客户端发送请求:
PLAYrtsp:
//
192."
168."
0.235/
21."aac/RTSP/
1."0
CSeq:
4
User-Agent:
MPlayer(LIVE555StreamingMediav
2011."0
3."14)//播放器信息
Session:
007578//会话标识
Range:
npt=
0."000-//播放时间范围,从第0秒到文件播放完
解析:
会话建立后,客户端发出PLAY请求播放所申请的流媒体
21."acc。
传输机制按照SETUP命令所设置的进行。
PLAY请求可以发送多次,服务器会将请求放入队列逐个处理。
同时客户端可以定义播放的时间范围,比如从该流媒体的第N秒播放到第M秒。
服务器响应请求:
RTSP/
1."0200OK
CSeq:
4
Date:
Wed,Aug03201107:
01:
26GMT
Range:
npt=
0."000-
Session:
007578
RTP-Info:
url=rtsp:
//
192."
168."
0.235/
21."aac/track1;seq=23335;rtptime=32
解析:
服务器返回确认报文并开始传输流媒体数据。
数据传输一般使用UDP发送。
五、TEARDOWN
客户端发送请求:
TEARDOWNrtsp:
//
192."
168."
0.235/
21."aac/RTSP/
1."0
CSeq:
5
User-Agent:
MPlayer(LIVE555StreamingMediav
2011."0
3."14)
Session:
007578
解析:
流媒体全部传输完毕后,客户端向服务端发出TEARDOWN请求,要求终止该会话。
服务端响应请求:
RTSP/
1."0200OK
CSeq:
5
Date:
Wed,Aug03201107:
01:
57GMT
解析:
服务端响应TEARDOWN请求,发送回响应报文并终止该会话,至此该会话结束,服务器继续等待下一个RTSP请求。
吴润彬
2011/8/11