【2017年整理】RTSP协议学习笔记.doc

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

第一部分: 总体概述 一、流媒体概念 流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭义上 的流媒体是相对于传统的下载-回放方式而言的,指的是一种从Internet 上获取音频和视频等多媒体数据的新方法,它能够支持多媒体数据流的实时传输和 实时播放。通过运用流媒体技术,服务器能够向客户机发送稳定和连续的多媒体数据流,客户机在接收数据的同时以一个稳定的速率回放,而不用等数据全部下载完 之后再进行回放。 二、流媒体协议 实时传输协议(Real- time Transport Protocol,RTP)是在Internet 上处理多媒体数据流的一种网络协议,利用它能够在一对一(unicast,单播)或者一对多(multicast,多播)的网络环境中实现传流媒体数据的实时传输。RTP通常使用UDP来进行多媒体数据的传输,但如果需要的话可以使用TCP或者ATM等其它协议,整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTP控制协议。实时流协议(Real Time Streaming Protocol,RTSP)最早由Real Networks和Netscape公司共同提出,它位于RTP和RTCP之上,其目的是希望通过IP 网络有效地传输多媒体数据。 实时流传输协议RTSP(Real-time Streaming Protocol, RFC 2326)、 实时传输协议(RTP Real-time Transfer Protocol,RFC 3550)、 实时传输控制协议(RTCP Real-time Transport Control Protocol,RFC 1889)、 会话描述协议(SDP Session Description Protocol,RFC 2327)。 目前在流媒体传输技术中使用最多的就是基于RTSP/RTP的流媒体传输。RTSP对应ISO网络七层参考模型的应用层,和HTTP 有点类似,也是一种文本协议,主要是实现对流的控制。有关RTSP/RTP以及RTCP之间的关系可以参考下图: 通过上图可以看出三者之间的关系,RTSP协议基于TCP 完成RTSP请求报文和响应报文的传输,RTP协议基于UDP协议完成流媒体数据的实时传输,RTCP协议基于UDP协议提供客户端和服务器有关当前网络拥塞和以及实时流传输质量等信息。 在智能网络相机上也需要实现基于RTSP/RTP的H.264实时流的传输。RTCP暂时还未实现,这在流媒体技术中是比较高级的应用。 第二部分:RTP协议 RTP数据协议负责对流媒体数据进行封包并实现媒体流的实时传输,每一个RTP数据 报都由头部(Header)和负载(Payload)两个部分组成,其中头部前12个字节的含 义是固定的,而负载则可以是音频或者视频数据。RTP数据报的头部格式如图1所示: 图1 RTP头部格式 其中比较重要的几个域及其意义如下: 1、Version(V): RFC 1889 Version(2) 2、Padding填充标志(P):False 3、Extension扩展标志(X):False 4、CSRC(Contributing source identifiers count)记数(CC): 表示CSRC标识的数目。CSRC标识紧跟在RTP固定头部之后,用来表示RTP数据报的来源,RTP协议允许在同一个会话中存在多个数据源,它们可以通过RTP混合器合并为一个数据源。例如,可以产生一个CSRC列表来表示一个电话会议,该会议通过一个RTP混合器将所有讲话者的语音数据组合为一个RTP数据源。 5、M:标志位。标志位的具体解释可由具体协议规定。如可用于帧边界标志。 6、负载类型(Payload type)(PT):标明RTP负载的格式,包括所采用的编码算法、采样频率、承载通道等。例如,类型2表明该RTP数据包中承载的是用ITU G.721算法编码的语音数据,采样频率为8000Hz,并且采用单声道。对于H.264来说,该值为105。 7、序列号(sequence number):用来为接收方提供探测数据丢失的方法,但如何处理丢失的数据则是应用程序自己的事情,RTP协议本身并不负责数据的重传。序列号用于对RTP包进行计数。每发送一个RTP包,序列号加1。序列号的初始值可以置为零,也可用随机数开始。为了更加安全,应从一个随机初始化值开始。 8、时间戳(Timestamp):记录了负载中第一个字节的采样时间,时间戳的增量为采样频率/帧率。接收方根据时间戳能够确定数据的到达是否受到了延迟抖动的影响,但具体如何来补偿延迟抖动则是应用程序自己的事情。按RFC3

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档