资源预览内容
第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
第9页 / 共30页
第10页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
流媒体协议,内容介绍:,1、Ad hoc网络技术概述 2、Ad hoc网络的体系结构 3、Ad Hoc网络协议 4、Ad Hoc网络的路由协议 5、Ad hoc的服务质量和安全问题,实时流媒体协议:RTSP 一般作为媒体信道的远程控制使用,不参与媒体数据传输,也不做媒体的解析. 实时协议:RTP/RTCP RTP:按照RTP分组的方式传输媒体数据,协议规定了排序/丢包检查/以及媒体重建信息。媒体特定信息说明,包括其重建、解释有应用文档规定。 RTCP:作为质量控制,成员控制等功能。 会话描述协议:SDP 在会话级别、媒体级别来描述传输媒体的具体信息,不参与传输 媒体净荷应用文档 规定了特定的媒体的处理信息,IPTV - 流媒体协议族,协议栈层次,1:RTP/RTCP推荐在UDP上承载,RTSP推荐在TCP上承载; 2:应用文档作为承载在RTP上,负责对具体的媒体进行解释; 3:SDP承载RTSP上,负责媒体会话的会话级、媒体级解释。,RTSP URL 提供了基于网页的发布链接; RTSP消息结构 消息头部和消息体; RTSP方法 为客户和服务器提供了交互的指令; RTSP状态 客户状态和服务器状态;,RTSP 媒体控制信道,RTSP是基于文本的协议,语法和HTTP类似;最大的区别 是一个为有状态的、一个是无状态的。,URL举例: rtsp_URL = ( “rtsp:“ | “rtspu:“ ) “/“ host “:“ port abs_path 其中rtsp发布表示承载在tcp上,rtspu表示承载在udp上。 发布方式: 1:直接承载在网页上 冒险岛 请求方式:先需要做媒体描述请求 DESCRIBE rtsp:/192.168.0.124:554/video/risk.mp4 CSeq: 1 2:以sdp方式承载在网页上 请求方式:直接通过http协议请求SDP类型信息 GET /video/risk.sdp HTTP/1.1 Host: www.skyiptv.com Accept: application/sdp,消息结构举例 消息头部: C-A: SETUP rtsp:/audio.example.com/twister/audio.en RTSP/1.0 CSeq: 1 Transport:RTP/AVP/UDP;unicast;client_port=3056-3057 A-C: RTSP/1.0 200 OK CSeq: 1 Session: 12345678 Transport: RTP/AVP/UDP;unicast;client_port=3056-3057; server_port=5000-5001 1:status line 请求Status line : CMD 资源 协议版本号 响应Status line : 协议版本号 响应代码 响应描述,2:消息头部结构 语法RFC889规定,类似HTTP/SIP等协议 message-header = field-name “:“ field-value 其语义有协议自身规定,一次请求或者响应可以有多个头结构。 包体结构: (在包头和包体之间有一个空行 仅仅含有回车换行) RTSP包体一般为SDP媒体会话信息,RTSP不做包体的解析,SDP包体由 SDP协议解析。列如: C-M: DESCRIBE rtsp:/server.example.com/demo/sound RTSP/1.0 CSeq: 1 Accept: application/sdp M-C: RTSP/1.0 200 1 OK Content-type: application/sdp Content-Length: 44 v=0 o=- 2890844526 2890842807 IN IP4 192.16.24.202 s=RTSP Session i=See above t=0 0 m=audio 0 RTP/AVP 0,RTSP方法列表 method direction object requirement DESCRIBE C-S P,S recommended ANNOUNCE C-S, S-C P,S optional GET_PARAMETER C-S, S-C P,S optional OPTIONS C-S, S-C P,S required (S-C: optional) PAUSE C-S P,S recommended PLAY C-S P,S required RECORD C-S P,S optional REDIRECT S-C P,S optional SETUP C-S S required SET_PARAMETER C-S, S-C P,S optional TEARDOWN C-S P,S required,RTSP方法rtsp交互指令 A: option 方法,这是一个双向的方法,两端请求对方的能力集。 OPTIONS * RTSP/1.0 SEQ :1 SESSION:12345678 B: DESC方法,用在客户端,向媒体源请求媒体发布信息。 DESCRIBE rtsp:/server.example.com/demo/sound RTSP/1.0 CSeq: 1 SESSION:12345678 Accept: application/sdp C: setup 方法,用在客户端,建立媒体传输信道。该过程中,建立RTP 的信道。 SETUP rtsp:/audio.example.com/twister/audio.en RTSP/1.0 CSeq: 1 Transport:RTP/AVP/UDP;unicast;client_port=3056-3057 D: PLAY/PAUSE/TEARDOWN方法,客户端使用,控制媒体信息的传 输动作。,PLAY rtsp:/live.example.com/concert/audio RTSP/1.0 CSeq: 3 Session: 12345678 PAUSE rtsp:/live.example.com/concert/audio RTSP/1.0 CSeq: 3 Session: 12345678 TEARDOWN rtsp:/live.example.com/concert/audio RTSP/1.0 CSeq: 3 Session: 12345678 E:GETPARA 一般作为心跳消息使用 GET_PARAMETER rtsp:/live.example.com/concert/audio RTSP/1.0 CSeq: 3 Session: 12345678 注释: 在一次会话从建立第一次请求方法开始,直到TEARDOWN结束,会话ID 标示该次会话。再次重新启动会话,会话ID可能改变。如果存在多方通 话,在一个会议中,可以采用会议ID来标示会议。,VOD特殊方法的实现 对于RTSP协议,如果有多个媒体逻辑信道,其中setup方法需要对每个逻辑信 道进行参数设置。其他方法均统一控制使用。 1:SEEK、播放时间控制的实现 Range header 这个RTSP头,指定了播放的范围,不指定则默认从媒体的头开始,直至结尾。这 个头信息在PLAY方法中携带。故此,在播放过程中,进行拖动操作,需要首先 PAUSE这个会话。该范围一个使用ntp时间表示。 C-S: PLAY rtsp:/audio.example.com/audio RTSP/1.0 CSeq: 836 Session: 12345678 Range: npt=20-25 /从20秒,播放到25秒 Range: npt=30- /从30秒,播放到媒体结束,2:快进、快退、后退方法实现 Scale header 这个RTSP头,指定了相对于正常播放速率的比率。该头部参数,可以由Record Play方法携带; PAUSE这个会话。然后使用定义的Sacle值来设定Play。 PLAY rtsp:/audio.example.com/audio RTSP/1.0 CSeq: 836 Session: 12345678 Scale:2 /两倍速率快进 Scale:0.5 /1/2倍速率慢进 Scale:-1 /后退 Scale:-2 /两倍速度快退 Scale:-0.5 /半倍速度快退 Scale和Speed的区别: Scale 不改变传输的比特率,采用丢弃数据的方式传输,使感受加快; 有传输方向。 Speed 改变传输的比特率,改变了媒体信道对带宽的要求; 没有方向。,3:单信道模式 在仅仅需要单信道的场合,可以仅仅SETUP一次,只建立需要的信息的传 输信道。 例如:如下的媒体描述: v=0 o=- 2890844526 2890842807 IN IP4 192.16.24.202 s=RTSP Session m=audio 0 RTP/AVP 0 a=control:rtsp:/audio.example.com/twister/audio.en m=video 0 RTP/AVP 31 a=control:rtsp:/video.example.com/twister/video 有两个媒体轨道组成一个媒体源,在只需要一个媒体轨道的时候,我们可 以单独的建立一个媒体的信道。,RTSP状态机 对于到快退快进等,也属于PLAYING状态。 客户机:,RTP 用以传送实时数据。提供净荷类型指示(数据类型和编码方 式),数据分组序号、数据时戳、数据源标示。 RTCP 用以传送实时信号传递的质量参数,提供QOS监视机制;以及传输会议通讯中的参会者信息。 应用文档 该文档定义一组净荷类型码及其净荷格式、媒体编码的映射 关系 净荷格式规范 具体定义每一种净荷如何在RTP协议中传输。,RTP/RTCP 媒体信道,RTP数据包是二进制格式,包括RTP头和净荷组成;RTCP 规定了多种报告格式,用于质量、成员、会话控制的依据。,RTP分组包括:RTP头部、RTP扩展头部、RTP净荷组成 举例如图:,RTP分组,:V 版本号 (2BIT) :P 填充指示位 (1BIT), P=1 净荷有填充字节,最后一个字节表示填充字节的数目; P=0 无 :X 扩展指示位; :CC 分信源数目指示; :M 标志位 由应用文档解释说明; :M 标志位 由应用文档解释说明; 6:PT 净荷类型 映射了一种净荷格式(媒体编码),应用自身确定,不能解释得忽略; 7:序列号:16比特,初始值为随即数,为接受方应用提供了丢包检测、恢复分组顺序的机制 8:rtp timestp 32比特 指媒体采样时间,具体解释有净荷文档规范规定,例如:mpeg4为显示时间;不一定是单调递增:例如mpeg的运动预测时包的顺序是编解码时间。 9:同信源标志:标志媒体源 10:分信源 标志媒体组成的各个信号源标识。,RTP头部,1:MPEG-4对象层 2:RTP 净荷文档规范 2:对rtp head的规范 3:对净荷的规范,RTP净荷规范文档,对于不同的媒体类型,具体意义又净荷文档规范来解释。例如mp4 over rtp,rfc规范了两种方式: 基于对象的传输和基于es的传输.,MPE
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号