Chapter7流媒体相关网络协议7.1流媒体传输基础7.1.1Internet传输的基本概念1.数据和信号(1)数据:描述信息的数字、字母或符号。模拟数据是指由传感器采集得到的连续变化的值。数字数据是指模拟数据经采集、量化、编码后所得到的离散的值。(2)信号:数据在传输过程中的表示形式,带有信息的某种物理量。模拟信号一般通过PCM脉码调制方法量化为数字信号;数字信号一般通过对载波进行移相的方法转换为模拟信号。7.1.1Internet传输的基本概念(Cont’d)2.信道和带宽(1)信道按照其存在形式分为有线信道和无线信道;按照其传输信号的类型分为模拟信道和数字信道。(2)带宽信号带宽是指信号以电磁波形式传输,电磁波的频谱范围;信道带宽是指信道上能够传送的最大频率范围;在通信过程中,信号带宽必须小于信道带宽;带宽单位为MHz。7.1.1Internet传输的基本概念(Cont’d)3.信道容量和数据传输速率(1)信道容量:信道在单位时间内可以传输的最大信号量,表示信道的传输能力。(2)数据传输速率:通信线上传输信息的速度。信号速率S是指单位时间内所传送的二制位代码的有效位数,以bps为单位。调制速率B是指脉冲信号经过调制后的传输速率,以BAUD为单位。在通信过程中,信道容量应大于传输速率。7.1.1Internet传输的基本概念(Cont’d)4.差错校正和误码率(1)差错校正:字符代码在传输、接收过程中,由于信道噪声或其他外界干扰,难免会发生错误,及时自动检测差错并进一步自动校正。(2)误码率:信息传输的错误率。Pe=出错比特数/传输比特数网络的误码率主要取决于信源至信宿之间的信道的质量。误码率越高,则信道的质量越差。7.1.1Internet传输的基本概念(Cont’d)5.宽带和窄带一般以网络接入的数据传输率来区分。低于1兆的连接速率称为窄带接入;高于1兆的连接速率称为宽带接入。7.1.2Internet传输服务质量QualityofService(QoS)1.尽力传送(Best-effort)单一服务模型应用程序可以在任何时候,发出任意数量的报文,而且不需要事先获得批准,也不需要通知网络。2.实时传送(Real-time)综合服务模型应用程序首先通知网络它自己的流量参数和需要的特定服务质量请求,应用程序一般在收到网络的确认信息,才开始发送报文。7.2流媒体网络传输特点1.流媒体技术关键特征:数据压缩流式传输2.优点:启动延时短对系统缓存容量的需求大大降低流式传输的实现有特定的实时传输协议7.2流媒体网络传输特点(Cont’d)3.应用流媒体技术传输网络音视频系统的基本原理:采用高效的压缩算法(在降低文件大小的同时伴随质量的损失),使多媒体数据文件变小以适合流式传输,架设流媒体服务器,修改MIME标志,通过各种实时协议传输流数据。7.3流媒体传输协议简介RTP(Real-timeTransportProtocol):针对多媒体数据流。RTCP(Real-timeTransportControlProtocol):与RTP一起提供流量控制和拥塞控制服务。RTSP(Real-TimeStreamingProtocol):定义了一对多的应用程序如何有效地通过IP网络传送多媒体数据。RSVP(ResourceReserveProtocol):在一定程度上为流媒体的传输提供QoS。MMSP(MicrosoftMediaServerProtocol)流媒体协议在IP/TCP协议中的位置RTP(Real-timeTransportProtocol)实时运输协议——为实时应用提供端到端的运输,但不提供任何服务质量的保证。多媒体数据块封装为RTP报文UDP用户数据报压缩编码送入运输层从开发者的角度看,RTP应当是应用层的一部分。7.3.1RTPRTP在端口号1025到65535之间选择一个未使用的偶数UDP端口号,而在同一次会话中的RTCP则使用下一个基数UDP端口号。默认端口号:RTP:5004RTCP:50057.3.1RTP(Cont’d)实时传输协议暗示它也可以看做传输层协议因为RTP封装了多媒体应用的数据块,并且向多媒体应用层提供了服务7.3.1RTP(Cont’d)7.3.1RTP(Cont’d)1.RTP协议的相关概念(1)TimeStamping(时戳)把接收到的语音和视频等多媒体数据按照正确的时间顺序提交给上层。对于语音来说,时戳按封包间隔和采样速率乘积而递增;对于视频来说,时戳的生成依赖于应用程序是否能够分辨其帧数。如果能够分辨帧速率,则使用一个固定的速率增加。7.3.1RTP——RTP协议的相关概念(2)SequenceNumbers(顺序编号)通常使用UDP协议传输数据排序RTP分组,以消除重复分组,保持视频和音频流连续播放。(3)SourceIdentification(源标志)帮助接收端利用发送端生成的唯一数值来区分多个同时的数据流,得到数据的发送源。7.3.1RTP——RTP协议的相关概念(4)PayloadType(载荷类型)对传输的音、视频等数据类型予以说明,并说明相关的编码方式,接收端从而知道如何解码和播放负载数据。(5)Mixer(混合器)将多个载荷数据组合起来产生一个发出的包,允许接收端确认当前数据的贡献源,具有相同的同步源标识符。7.3.1RTP(Cont’d)2.RTP协议工作原理在流的概念中“时戳”是最重要的信息。RTP协议和UDP二者共同完成运输层协议功能。RTP的协议数据单元是用UDP分组来承载的。RTP协议虽然是传输层协议但是没有作为OSI体系结构中单独的一层来实现。7.3.1RTP(Cont’d)3.RTP首部格式NB:PayloadType1238916bitVPXCSRCCountMPayloadTypeSequenceNumberTimestampSSRCCSRC有效载荷类型:7位,指出后面的RTP数据属于何种格式的应用。应用层可根据次类型进行处理。·音频:μ律PCM(0),GMS(3)A律PCM(8),G.722(9),G728(1)·视频:活动JPEG(26),H.261(31),MPEG1(32),MPEG2(33)等7.3.1RTP(Cont’d)序号:占16位·在一次RTP会话时,初始序号随机选择·每发出一个RTP分组,其序号+1·这样能发现丢失的分组,同时也能将时序的RTP重新排列好(Cont’d)时间戳:占32位,反映了RTP分组中的数据的第一个字节的采样时刻。·在一个会话中,他的初始序号随机选择。·即使没有信号发送,时间戳的数值也要随时间而不断地增加。·接收端使用时间戳可准确知道应当在什么时间还原那一个数据块,从而消除时延抖动。·时间戳还可以使视频应用中的声音和图像同步。·时间戳的粒度取决于信号的类型。如某话音信号8kHz采样,每隔20ms构成一个数据块,则数据块中包含160个样本0.02*8000=160(Cont’d)如果只有系列号,并不能完整按照顺序的将data播放出来,因为如果data中间有一段是没有资料的,只有系列号的话会造成错误,需搭配上让它知道在哪个时间将data正确播放出来,如此我们才能播放出正确无误的信息7.3.1RTP(Cont’d)同步源标识符:32位SSRC表示RTP的来源SSRC与IP地址无关,是随机产生的,两个RTP流恰好选择同一个SSRC流的概率极小·多个RTP流可复用到1个UDP用户数据报中·SSRC可使接收端的UDP能够将收到的RTP流送到各自的终点(Cont’d)参与源标识符:32位,CSRC,用来标志源于不同地点的RTP流在多播环境中,可以用中间的一个站(混合站)把发往同一个地点的多个RTP流混合成一个流(可节省通信资源),而CSRC的数值就可以把不同的RTP流分开7.3.1RTP(Cont’d)7.3.1RTP(Cont’d)RTP包传输流程7.3.1RTP(Cont’d)4.RTP协议的特点RTP协议具有很大的灵活性数据流和控制流分离RTP协议具有很大的扩展性和适用性7.3.2RTCP1.RTCP协议的工作原理——四个功能:(1)为数据传输的质量提供反馈,并提供QoS检测(2)提供不同媒体间的同步(3)在会话的用户界面上显示会话参与者的标志(4)调节信息的缩放7.3.2RTCP(Cont’d)2.RTCP分组格式23816bitVersionPRCPackettypeLength7.3.2RTCP——RTCP分组格式5种类型的报文:SRRRSDESBYEAPP类型缩写表示意义200SR发送端报告201RR接收端报告202SDES源点报告203BYE结束204APP特定应用7.3.2RTCP——RTCP分组格式结束分组BYE:表示关闭一个数据流特定应用分组APP:使应用程序定义新的分组类型源点描述分组SDES:给出会话中参加者的描述,他包含参加者的规范名CNAME(电子邮件地址的字符串)7.3.2RTCP——RTCP分组格式接收端报告分组RR:接收端周期性地向所有的点用多播方式进行报告。接收端每收到一个RTP流就产生一个接受端报告分组RR,RTP流的SSRC;RTP流的分组丢失率;该RTP流中的最后一个RTP分组的序号;分组到达时间间隔的抖动等。7.3.2RTCP——RTCP分组格式分组的速率,使RTCP不影响RTP网络分组的速率发送报告端分组SR:发送端周期性地向所有接受端用多播方式进行报告发送端每发送一个发送端报告分组RTP,就发送一个发送端报告分组SR该RTP的SSRC、时间戳、绝对时钟时间、分组数、字节数·绝对时钟时间:RTP要求每一种媒体使用一个流,而视音频就得用俩的流,绝对时钟时间可进行图像和声音的同步7.3.2RTCP——RTCP分组格式7.3.3RTSP1.RTSP协议的工作原理(1)RTSP协议的功能A.通过媒体服务器检索媒体B.媒体服务器邀请进入会议C.将媒体加到现成讲座中7.3.3RTSP——RTSP协议的工作原理(2)RTSP协议的实现A.初始化B.TCP传输C.UDP传输D.传输反馈利用RTSP的流媒体连接过程OPTIONOPTIONResponse服务器信息DESCRIBEDESCRIBEResponse待播放的文件信息SETUPSETUPResponse连接信息PLAYPLAYResponse播放信息TEARDOWNTEARDOWNResponse7.3.3RTSP(Cont’d)2.RTSP协议的结构(p84)具体解释另见补充(RTSP协议)7.3.3RTSP(Cont’d)3.RTSP协议的特点(1)可扩展性(2)易解析(3)安全(4)独立于传输(5)多服务器能力(6)记录设备控制(7)适合专业应用(8)播放种类的中立性(9)代理和防火墙的友好性(10)分配服务器控制(11)传输协商(12)能力协商7.3.3RTSP(Cont’d)4.RTSP协议与其他协议的关系(1)RTSP协议与HTTP协议的联系目前的协议规范同时允许网页服务器和流媒体服务器支持RTSP实现。(2)RTSP协议与HTTP协议的区别HTTP是一个不对称协议;在RTSP中,Client和Server都可发出请求,且请求是有状态的。HTTP是