rtsp(实时流媒体协议)

上传人:第*** 文档编号:37824905 上传时间:2018-04-23 格式:DOC 页数:5 大小:40.50KB
返回 下载 相关 举报
rtsp(实时流媒体协议)_第1页
第1页 / 共5页
rtsp(实时流媒体协议)_第2页
第2页 / 共5页
rtsp(实时流媒体协议)_第3页
第3页 / 共5页
rtsp(实时流媒体协议)_第4页
第4页 / 共5页
rtsp(实时流媒体协议)_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《rtsp(实时流媒体协议)》由会员分享,可在线阅读,更多相关《rtsp(实时流媒体协议)(5页珍藏版)》请在金锄头文库上搜索。

1、rtsp 简介(ZT) Real Time Streaming Protocol 或者 RTSP(实时流媒体协议) ,是由 Real network 和 Netscape 共同提出的如何有效地在 IP 网络上传输流媒体数据的应用层协议。RTSP 提供一 种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源 数据可以包括现场数据的反馈和存贮的文件。rtsp 对流媒体提供了诸如暂停,快进等控 制,而它本身并不传输数据,rtsp 作用相当于流媒体服务器的远程控制。传输数据可以 通过传输层的 tcp,udp 协议,rtsp 也提供了基于 rtp 传输机制的一些有效的方法。 RT

2、SP 消息格式: RTSP 的消息有两大类,一是请求消息(request),一是回应消息(response),两种 消息的格式不同. 请求消息: 方法 URI RTSP 版本 CR LF 消息头 CR LF CR LF 消息体 CR LF 其中方法包括 OPTION 回应中所有的命令,URI 是接受方的地址,例如 :rtsp:/192.168.20.136 RTSP 版本一般都是 RTSP/1.0.每行后面的 CR LF 表示回车换行,需要接受端有相应的解 析,最后一个消息头需要有两个 CR LF 回应消息: RTSP 版本 状态码 解释 CR LF 消息头 CR LF CR LF 消息体 C

3、R LF 其中 RTSP 版本一般都是 RTSP/1.0,状态码是一个数值,200 表示成功,解释是与状态码对应 的文本解释. 简单的 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 回应媒体初始化描述信息,主要是 sdp3.C-S:SETUP request /设置会话的属

4、性,以及传输模式,提醒 S 建立会 话 3.S-C:SETUP response /S 建立会话,返回会话标识符,以及会话相关信息4.C-S:PLAY request /C 请求播放 4.S-C:PLAY response /S 回应该请求的信息S-C:发送流媒体数据 5.C-S:TEARDOWN request /C 请求关闭会话 5.S-C:TEARDOWN response /S 回应该请求上述的过程是标准的、友好的 rtsp 流程,但实际的需求中并不一定按部就班来。 其中第 3 和 4 步是必需的!第一步,只要服务器客户端约定好,有哪些方法可用,则 option 请求可以不要。第二步,

5、如果我们有其他途径得到媒体初始化描述信息(比如 http 请求等等) ,则我们也不需要通过 rtsp 中的 describe 请求来完成。第五步,可以根 据系统需求的设计来决定是否需要。 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)服务器的回应信息包括提

6、供的一些方法,例如: 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.0CSeq: 2 token: Ac

7、cept: 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 Ca

8、che-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/sdpv=0 /以下都是 sdp 信息o=OnewaveUServerNG 1451516402 10253580

9、37 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,1a=range:npt=0- m=video 0 RTP/AVP 96 /m 表示媒体描述,下面是对会话中视频通道的媒体描述 a=rtpmap:96 MP4V-ES/90000 a=fmtp:96 profile-level- id=245;config=000001B0F5000001B509000001000000012000C888B0E0E0FA62D089028307a=control:

10、trackID=0/trackID0 表示视频流用的是通道 03.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 中带有 trackID0,表示对该通道进行设置。Transport 参数设置了传输模式,包 的结构。接下来的

11、数据包头部第二个字节位置就是 interleaved,它的值是每个通道都 不同的,trackID0 的 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

12、;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 OKServer: UServer 0.9.7_rc1 Cseq: 4 Session: 6310936469860791894

13、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 O

14、K Server: UServer 0.9.7_rc1 Cseq: 5 Session: 6310936469860791894 Connection: Close以上方法都是交互过程中最为常用的,其它还有一些重要的方法如 get/set_parameter,pause,redirect 等等 ps: sdp 的格式 v= o= s= i= u= e= p= c= b=: t= r= z= . k= k=: a= a=: m= v = (协议版本) o = (所有者/创建者和会话标识符) s = (会话名称) i = * (会话信息) u = * (URI 描述) e = * (Email 地址) p = * (电话号码) c = * (连接信息) b = * (带宽信息) z = * (时间区域调整) k = * (加密密钥) a = * (0 个或多个会话属性行) 时间描述: t = (会话活动时间) r = * (0 或多次重复次数) 媒体描述: m = (媒体名称和传输地址) i = * (媒体标题) c = * (连接信息 如果包含在会话层则该字段可选) b = * (带宽信息) k = * (加密密钥) a = * (0 个或多个媒体属性行) 参考文章:rfc2326(rtsp) ;rfc2327(sdp)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号