RTSP技术讨论幻灯片.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RTSP技术讨论幻灯片

RTSP流媒体技术讨论 周鉴刚 2009-04-17 摘要 流媒体概述 RTSP协议 RTP协议 H264 payload格式 Mpeg4 payload格式 相关的程序和库 流媒体协议概述 起源:流式播放 vs 下载 协议:RTP、RTSP,强调实时性 应用: 微软的MMS,以及RTSP的变种 Real的RM,以及RTSP的变种 Adobe(收购自MicroMedia)的flv,rtmp 规范化:ISMA协会,整合现有协议,强调互操作性 流媒体播放框架 应用层获取RTSP URL RTSP协议进行播放控制 SDP协议进行描述 RTP/RTCP协议数据传输 Payload层封装数据格式 RTSP协议:概述 一般基于TCP传输 使用类似HTTP的协议结构 请求first-line:新增DESCRIBE、SETUP等 应答first-line:例如 RTSP/1.0 200 OK Header字段:“key : value \r\n”格式,以空行“\r\n”结束 Body内容:格式不限,通过Content-Length确定大小 允许双向发送命令 RTSP协议:例子 RTSP协议:常用header字段 常用Header字段: CSeq:顺序号,每次递增 User-Agent:客户程序信息 Server:服务程序信息 Session:标记一次点播过程 某些命令特有的Header字段: Transport:SETUP时协商通道信息 Range:PLAY时标记播放位置 应用自定义字段(x-开头): x-retransmit:Darwin的RUDP重传协商标记 RTSP协议:常用命令 RTSP协议:DESCRIBE命令 获取媒体的描述信息:有哪些track,各个track的格式,控制方式等 RTSP协议:DESCRIBE命令应答 Content-Base用于后续SETUP命令构建URL BODY信息中是SDP描述 SDP协议(1) 一份全局信息,多份媒体信息 SDP协议(2) rtpmap:RTP包说明,封装格式(h264),timestamp单位 control:track的控制信息 fmtp:媒体格式相关的参数,封装、解码相关 RTSP协议:SETUP命令 URL的计算,如何指定track? DESCRIBE应答中: Content-Base: rtsp://:8888/sample.mp4/ SDP中:a=control:trackID=3 Transport,UDP传输方式,unicast,client_port RTSP协议:SETUP命令的应答 Transport,传输方式的协商结果,确认client_port,增加server_port RTSP协议:SETUP的TCP传输 SETUP命令协商使用TCP方式 Transport: RTP/AVP/TCP;interleaved=2-3 RTSP连接中,内嵌二进制数据 四字节头,首字节“$”(0x24),用来区分正常RTSP请求还是内嵌二进制数据 第二字节是channel值,(interleaved时协商) 第三、四字节是长度,network order 后面是二进制数据(RTP、RTCP包) RTSP协议:PLAY命令 Range,指定播放位置,实现SEEK操作,实时监视不支持 Speed,指定播放速度,实现快放慢放 连续多个PLAY的语义—播放列表 RTSP协议:其他命令 PAUSE命令:暂停(直播不支持) OPTIONS命令:查询支持能力,返回支持的命令清单。有时会用来做TCP保活 SET_PARAMETER和GET_PARAMETER:参数读写,一般用于应用层 ANNOUNCE命令,一般用于录制,类似DESCRIBE,但方向不同,请求者直接提供SDP信息 RTP协议 UDP传输(或者内嵌于RTSP连接中) 强调实时性,没有重传(应用层可自定义) 不同类型的payload有各自封装格式 四部分组成,extension和padding可选 RTP协议:Header V:版本号,2 P:padding位,附在最后,末字节表示长度 X:extension位,扩展内容,紧跟header,2字节profile,2字节length,然后是扩展内容 RTP协议 CC:CSRC数量,可选,一般为0 M:mark位,一般一帧数据最后一包为1 PT:payload类型,自定义从96开始 Seqence Num:顺序号,连续计数 Timestamp:时间戳,根据SDP单位递增 SSRC:同步源(略) CSRC:贡献源(略) RTCP协议 在另外一个UDP(channel)中双向传输 一个UDP包内可以有多个RTCP包 SR、RR用来报告发送和接收统计,并且可以用来计算round-tri

文档评论(0)

liwenhua11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档