流媒体协议标准RTSPPPT文档格式.ppt
《流媒体协议标准RTSPPPT文档格式.ppt》由会员分享,可在线阅读,更多相关《流媒体协议标准RTSPPPT文档格式.ppt(26页珍藏版)》请在冰豆网上搜索。
RTP/RTCPRTP/RTCP推荐在推荐在UDPUDP上承载,上承载,RTSPRTSP推荐在推荐在TCPTCP上承载;
上承载;
22:
应用文档作为承载在:
应用文档作为承载在RTPRTP上,负责对具体的媒体进行解释;
上,负责对具体的媒体进行解释;
33:
SDPSDP承载承载RTSPRTSP上,负责媒体会话的会话级、媒体级解释。
上,负责媒体会话的会话级、媒体级解释。
nnRTSPURLRTSPURL提供了基于网页的发布链接;
提供了基于网页的发布链接;
nnRTSPRTSP消息结构消息结构消息头部和消息体;
消息头部和消息体;
nnRTSPRTSP方法方法为客户和服务器提供了交互的指令;
为客户和服务器提供了交互的指令;
nnRTSPRTSP状态状态客户状态和服务器状态;
客户状态和服务器状态;
RTSP媒体控制信道RTSPRTSP是基于文本的协议,语法和是基于文本的协议,语法和HTTPHTTP类似;
最大的区别类似;
最大的区别是一个为有状态的、一个是无状态的。
是一个为有状态的、一个是无状态的。
URLURL举例:
举例:
rtsp_URL=(rtsp:
|rtspu:
)rtsp_URL=(rtsp:
)/host:
portabs_path/host:
portabs_path其中其中rtsprtsp发布表示承载在发布表示承载在tcptcp上,上,rtspurtspu表示承载在表示承载在udpudp上。
上。
发布方式:
11:
直接承载在网页上:
直接承载在网页上冒险岛冒险岛请求方式:
先需要做媒体描述请求请求方式:
先需要做媒体描述请求DESCRIBErtsp:
/192.168.0.124:
554/video/risk.mp4DESCRIBErtsp:
554/video/risk.mp4CSeq:
1CSeq:
122:
以:
以sdpsdp方式承载在网页上方式承载在网页上请求方式:
直接通过请求方式:
直接通过httphttp协议请求协议请求SDPSDP类型信息类型信息GET/video/risk.sdpHTTP/1.1GET/video/risk.sdpHTTP/1.1Host:
Host:
Accept:
application/sdpAccept:
application/sdpnn消息结构举例消息结构举例消息头部消息头部:
C-A:
SETUPrtsp:
/RTSP/1.0SETUPrtsp:
/RTSP/1.0CSeq:
1Transport:
RTP/AVP/UDP;
unicast;
client_port=3056-3057Transport:
client_port=3056-3057A-C:
A-C:
RTSP/1.0200OKRTSP/1.0200OKCSeq:
1Session:
12345678Session:
12345678Transport:
client_port=3056-3057;
Transport:
server_port=5000-5001server_port=5000-500111:
statuslinestatusline请求请求Statusline:
CMDStatusline:
CMD资源资源协议版本号协议版本号响应响应Statusline:
Statusline:
协议版本号协议版本号响应代码响应代码响应描述响应描述22:
消息头部结构:
消息头部结构语法语法RFC889RFC889规定,类似规定,类似HTTP/SIPHTTP/SIP等协议等协议message-header=field-name:
field-valuemessage-header=field-name:
field-value其语义有协议自身规定,一次请求或者响应可以有多个头结构。
其语义有协议自身规定,一次请求或者响应可以有多个头结构。
包体结构:
(在包头和包体之间有一个空行(在包头和包体之间有一个空行仅仅含有回车换行)仅仅含有回车换行)RTSPRTSP包体一般为包体一般为SDPSDP媒体会话信息,媒体会话信息,RTSPRTSP不做包体的解析,不做包体的解析,SDPSDP包体由包体由SDPSDP协议解析。
列如:
协议解析。
C-M:
DESCRIBErtsp:
/RTSP/1.0DESCRIBErtsp:
1Accept:
application/sdpM-C:
M-C:
RTSP/1.02001OKRTSP/1.02001OKContent-type:
application/sdpContent-type:
application/sdpContent-Length:
44Content-Length:
44v=0v=0o=-28908445262890842807INIP4192.16.24.202o=-28908445262890842807INIP4192.16.24.202s=RTSPSessions=RTSPSessioni=Seeabovei=Seeabovet=00t=00m=audio0RTP/AVP0m=audio0RTP/AVP0RTSPRTSP方法列表方法列表methoddirectionobjectrequirementmethoddirectionobjectrequirementDESCRIBEC-SP,SrecommendedDESCRIBEC-SP,SrecommendedANNOUNCEC-S,S-CP,SoptionalANNOUNCEC-S,S-CP,SoptionalGET_PARAMETERC-S,S-CP,SoptionalGET_PARAMETERC-S,S-CP,SoptionalOPTIONSC-S,S-CP,SrequiredOPTIONSC-S,S-CP,Srequired(S-C:
optional)(S-C:
optional)PAUSEC-SP,SrecommendedPAUSEC-SP,SrecommendedPLAYC-SP,SrequiredPLAYC-SP,SrequiredRECORDC-SP,SoptionalRECORDC-SP,SoptionalREDIRECTS-CP,SoptionalREDIRECTS-CP,SoptionalSETUPC-SSrequiredSETUPC-SSrequiredSET_PARAMETERC-S,S-CP,SoptionalSET_PARAMETERC-S,S-CP,SoptionalTEARDOWNC-SP,SrequiredTEARDOWNC-SP,SrequiredRTSPRTSP方法方法rtsprtsp交互指令交互指令A:
optionA:
option方法,这是一个双向的方法,两端请求对方的能力集。
方法,这是一个双向的方法,两端请求对方的能力集。
OPTIONS*RTSP/1.0OPTIONS*RTSP/1.0SEQ:
1SEQ:
1SESSION:
12345678SESSION:
12345678B:
DESCB:
DESC方法,用在客户端,向媒体源请求媒体发布信息。
方法,用在客户端,向媒体源请求媒体发布信息。
1SESSION:
12345678Accept:
application/sdpC:
setupC:
setup方法,用在客户端,建立媒体传输信道。
该过程中,建立方法,用在客户端,建立媒体传输信道。
该过程中,建立RTPRTP的信道。
的信道。
client_port=3056-3057Transport:
client_port=3056-3057D:
PLAY/PAUSE/TEARDOWND:
PLAY/PAUSE/TEARDOWN方法,客户端使用,控制媒体信息的传方法,客户端使用,控制媒体信息的传输动作。
输动作。
PLAYrtsp:
/RTSP/1.0PLAYrtsp:
3CSeq:
3Session:
12345678Session:
12345678PAUSErtsp:
/RTSP/1.0PAUSErtsp:
12345678TEARDOWNrtsp:
/RTSP/1.0TEARDOWNrtsp:
12345678EE:
GETPARAGETPARA一般作为心跳消息使用一般作为心跳消息使用GET_PARAMETERrtsp:
/RTSP/1.0GET_PARAMETERrtsp:
/RTSP/1.0CSeq:
12345678注释:
注释:
在一次会话从建立第一次请求方法开始,直到在一次会话从建立第一次请求方法开始,直到TEARDOWNTEARDOWN结束,会话结束,会话IDID标示该次会话。
再次重新启动会话,会话标示该次会话。
再次重新启动会话,会话IDID可能改变。
如果存在多方通可能改变。
如果存在多方通话,在一个会议中,可以采用会议话,在一个会议中,可以采用会议IDID来标示会议。
来标示会议。
VODVOD特殊方法的实现特殊方法的实现特殊方法的实现特殊方法的实现对于对于RTSPRTSP协议,如果有多个媒体逻辑信道,其中协议,如果有多个媒体逻辑信道,其中setupsetup方法需要对每个逻辑信方法需要对每个逻辑信道进行参数设置。
其他方法均统一控制使用。
道进行参数设置。
SEEKSEEK