2024年1月2日发(作者:)

客户端:

Mplayer

服务端:

LIVE555

播放文件格式:

acc

一、OPTIONS

客户端发送请求:

OPTIONS rtsp:

//

192."

168."

0.235:554 RTSP/

1."0

CSeq:

1

User-Agent:

RealMedia Player HelixDNAClient/

10."

0.

1."65 (win32)//客户端版本,运行的系统ClientChallenge:

1 / 12

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:10 08:00]//流媒体开始播放的时间

Pragma:

initiate-session

RegionData:

0

解析:

此步骤是客户端向服务器询问有哪些方法可以使用。包里面说明了客户端请求的文件所在的地址和端口,并说明播放器的版本和操作系统平台。

服务端响应请求:

RTSP/

2 / 12

1."0 200 OK

CSeq:

1

Date:

Wed, Aug 03 2011 07:01:25 GMT//服务器当前时间

Public:

OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE,GET_PARAMETER,SET_PARAMETER//服务器支持的方法

解析:

接收到OPTIONS请求后服务端发出响应报文。最开始返回状态码200代表请求成功。

然后返回服务器当前时间(GMT)和所支持的方法。

二、DESCRIBE

客户端发送请求:

DESCRIBE rtsp:

//

192."

168."

0.235:554/

21."aac RTSP/

1."0

CSeq:

3 / 12

2

Accept:

application/sdp//定义描述类型

解析:

该方法是客户端像服务端请求描述媒体的详细信息。包中说明需要描述的媒体文件具体目录和名称,定义客户端能理解的描述类型,要求服务端以SDP包方式来描述媒体信息服务端响应请求:

RTSP/

1."0 200 OK

CSeq:

2

Date:

Wed, Aug 03 2011 07:01:26 GMT

Content-Base:

rtsp:

//

192."

168."

0.235/

21."aac/

Content-Type:

application/sdp//描述类型

4 / 12

Content-Length:

515//SDP包的长度

第一部分

解析:

这是服务端响应DESCRIBE请求所发回的报文。以上内容说明描述的媒体文件具体路径和名称,以及所采用的描述类型(sdp),并定义了SDP包内容的长度。以下的第二部分是SDP包的内容。

v=0

o=- 96585 1 IN IP4

192."

168."

0.235//IP4即IPV4协议,后面是服务端地址s=AAC Audio, streamed by the

LIVE555 Media Server //流媒体格式,服务器信息

i=

21."aac//媒体名称

t=0 0//媒体开始时间和结束时间,默认0 0

a=tool:

LIVE555 Streaming Media v

2011."0

1."19

a=type:

broadcast

5 / 12

a=control:*a=range:

npt=0-

a=x-qt-text-nam:

AAC Audio, streamed by the LIVE555 Media Server

a=x-qt-text-inf:

21."aac

m=audio 0 RTP/AVP 96//媒体类型+端口+传输协议+格式列表

c=IN IP4

0."

0.

0."0//连接信息

b=AS:96

a=rtpmap:96 MPEG4-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包里的一部分一起发送。

6 / 12

三、SETUP

客户端发送请求:

SETUP rtsp:

//

192."

168."

0.235/

21."aac/track1 RTSP/

1."0

CSeq:

3

User-Agent:

MPlayer (LIVE555 Streaming Media v

2011."0

3."14)//客户端详细信息

Transport:

RTP/AVP;unicast;client_port=59558-59559 //传输协议+传播方式(单播或多播)+接收数据的端口号。

解析:

客户端向服务端发送SETUP请求,要求服务端设置会话属性和流媒体传输方式以建立会话。包内容包含客户端软件详细信息,以及所需要的传输协议(RTP),传播方式和客户端用来接收数据的端口号。

7 / 12

服务端响应请求:

RTSP/

1."0 200 OK

CSeq:

3

Date:

Wed, Aug 03 2011 07:01:26 GMT

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

8 / 12

客户端发送请求:

PLAY rtsp:

//

192."

168."

0.235/

21."aac/ RTSP/

1."0

CSeq:

4

User-Agent:

MPlayer (LIVE555 Streaming Media v

2011."0

3."14)//播放器信息

Session:

007578//会话标识

Range:

npt=

0."000-//播放时间范围,从第0秒到文件播放完

解析:

会话建立后,客户端发出PLAY请求播放所申请的流媒体

9 / 12

21."acc。传输机制按照SETUP命令所设置的进行。PLAY请求可以发送多次,服务器会将请求放入队列逐个处理。同时客户端可以定义播放的时间范围,比如从该流媒体的第N秒播放到第M秒。

服务器响应请求:

RTSP/

1."0 200 OK

CSeq:

4

Date:

Wed, Aug 03 2011 07:01:26 GMT

Range:

npt=

0."000-

Session:

007578

RTP-Info:

url=rtsp:

//

192."

168."

0.235/

21."aac/track1;seq=23335;rtptime=32

10 / 12

解析:

服务器返回确认报文并开始传输流媒体数据。数据传输一般使用UDP发送。

五、TEARDOWN

客户端发送请求:

TEARDOWN rtsp:

//

192."

168."

0.235/

21."aac/ RTSP/

1."0

CSeq:

5

User-Agent:

MPlayer (LIVE555 Streaming Media v

2011."0

3."14)

Session:

007578

解析:

11 / 12

流媒体全部传输完毕后,客户端向服务端发出TEARDOWN请求,要求终止该会话。

服务端响应请求:

RTSP/

1."0 200 OK

CSeq:

5

Date:

Wed, Aug 03 2011 07:01:57 GMT

解析:

服务端响应TEARDOWN请求,发送回响应报文并终止该会话,至此该会话结束,服务器继续等待下一个RTSP请求。

吴润彬

2011/8/11

12 / 12