流媒体传输协议及音视频编解码技术

流媒体传输协议及⾳视频编解码技术
⼀、⾳视频编解码技术
1、MPEG4
  MPEG全称是Moving Pictures Experts Group,它是“动态图象专家组”的英⽂缩写,该专家组成⽴于1988年,致⼒于运动图像及其伴⾳的压缩编码标准化⼯作,原先他们打算开发MPEG1、MPEG2、MPEG3和MPEG4四个版本,以适⽤于不同带宽和数字影像质量的要求。
  ⽬前,MPEG1技术被⼴泛的应⽤于VCD,⽽MPEG2标准则⽤于⼴播电视和DVD等。MPEG3最初是为HDTV开发的编码和压缩标准,但由于MPEG2的出⾊性能表现, MPEG3只能是死于襁褓了。MPEG4于1999年初正式成为国际标准。它是⼀个适⽤于低传输速率应⽤的⽅案。与MPEG1和MPEG2相⽐,MPEG4更加注重多媒体系统的交互性和灵活性。
  MPEG1、MPEG2技术当初制定时,它们定位的标准均为⾼层媒体表⽰与结构,但随着计算机软件及⽹络技术的快速发展,MPEG1、MPEG2技术的弊端就显⽰出来了:交互性及灵活性较低,压缩的多媒体⽂件体积过于庞⼤,难以实现⽹络的实时传播。⽽MPEG4技术的标准是对运动图像中的内容进⾏编码,其具体的编码对象就是图像中的⾳频和视频,术语称为“AV对象”,⽽连续的AV对象组合在⼀起⼜可以形
成AV场景。因此,MPEG4标准就是围绕着AV对象的编码、存储、传输和组合⽽制定的,⾼效率地编码、组织、存储、传输AV对象是MPEG4标准的基本内容。
  在视频编码⽅⾯,MPEG4⽀持对⾃然和合成的视觉对象的编码。(合成的视觉对象包括2D、3D动画和⼈⾯部表情动画等)。在⾳频编码上,MPEG4可以在⼀组编码⼯具⽀持下,对语⾳、⾳乐等⾃然声⾳对象和具有回响、空间⽅位感的合成声⾳对象进⾏⾳频编码。
  由于MPEG4只处理图像帧与帧之间有差异的元素,⽽舍弃相同的元素,因此⼤⼤减少了合成多媒体⽂件的体积。应⽤MPEG4技术的影⾳⽂件最显著特点就是压缩率⾼且成像清晰,⼀般来说,⼀⼩时的影像可以被压缩为350M左右的数据,⽽⼀部⾼清晰度的DVD电影, 可以压缩成两张甚⾄⼀张650M CD光碟来存储。对⼴⼤的“平民”计算机⽤户来说,这就意味着, 您不需要购置 DVD-ROM就可以欣赏近似DVD质量的⾼品质影像。⽽且采⽤MPEG4编码技术的影⽚,对机器硬件配置的要求⾮常之低,300MHZ 以上CPU,64M的内存和⼀个 8M显存的显卡就可以流畅的播放。在播放软件⽅⾯,它要求也⾮常宽松,你只需要安装⼀个 500K左右的 MPEG4 编码驱动后,⽤ WINDOWS ⾃带的媒体播放器就可以流畅的播放了。
  AV对象(AVO,Audio Visual Object)是MPEG-4为⽀持基于内容编码⽽提出的重要概念。对象是指在⼀个场景中能够访问和操纵的实体,对象的划分可根据其独特的纹理、运动、形状、模型和⾼层语
义为依据。在MPEG-4中所见的⾳视频已不再是过去MPEG-1、MPEG-2中图像帧的概念,⽽是⼀个个视听场景(AV场景),这些不同的AV场景由不同的AV对象组成。AV对象是听觉、视觉、或者视听内容的表⽰单元,其基本单位是原始AV对象,它可以是⾃然的或合成的声⾳、图像。原始AV对象具有⾼效编码、⾼效存储与传输以及可交互性的特性,它⼜可进⼀步组成复合AV对象。因此MPEG-4标准的基本内容就是对AV对象进⾏⾼效编码、组织、存储与传输。AV对象的提出,使多媒体通信具有⾼度交互及⾼效编码的能⼒,AV对象编码就是MPEG-4的核⼼编码技术。
  MPEG-4不仅可提供⾼压缩率,同时也可实现更好的多媒体内容互动性及全⽅位的存取性,它采⽤开放的编码系统,可随时加⼊新的编码算法模块,同时也可根据不同应⽤需求现场配置解码器,以⽀持多种多媒体应⽤
2、H264
  H.264是由ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)联合组建的联合视频组(JVT:joint video team)提出的⼀个新的数字视频编码标准,它既是ITU-T的H.264,⼜是ISO/IEC的MPEG-4的第10 部分。⽽国内业界通常所说的MPEG-4是MPEG-4的第2部分。H.264标准从1998年1⽉份开始草案征集,到2003年7⽉,整套H.264 (ISO/IEC 14496-10)规范定稿。2005年1⽉,MPEG组织正式发布了H.264验证报告,从各个⽅⾯论证了H.264的可⽤性以及各种⼯具集的效果,从标准的⾓度,印证H.264的成熟性。
海量数据查询
  从标准制定到颁布,H.264⼀直是ITU、MPEG、DVD、DVB、3GPP等⼯业化组织共同推进的视频编码国际标准,可以想见,在众多⾏业巨擘的推动下,H.264技术的应⽤将迅速进⼊到视频服务、媒体制作发⾏、固定及移动运营⽹络、平台开发、设备终端制造、芯⽚开发等多个领域。
空气太阳能  H.264使图像压缩技术上升到了⼀个更⾼的阶段,能够在较低带宽上提供⾼质量的图像传输,该优点⾮常适合国内运营商⽤户量⼤、接⼊⽹/⾻⼲⽹带宽相对有限的状况。在同等的画质下,H.264⽐上⼀代编码标准MPEG2平均节约64%的传输码流,⽽⽐MPEG4 ASP要平均节约39%的传输码流。全球很多IPTV业务运营商都将H.264作为编解码格式的标准,包括⽐利时电信,荷兰KPN,泰国ADC电信,中国电信等等。
  根据中国电信上海研究院的实际测试结果表明:国内普遍采⽤的MPEG-4编码技术在3Mbps的带宽下尚达不到标清的图像质量,⽽
H.264编码技术可以在2M带宽下提供要求的图像效果。因⽽运营商希望引⼊更先进的H.264编码技术,在有限的带宽资源下进⼀步提⾼图像质量。
⼆、流媒体⽹络传输协议
流媒体技术采⽤⼀系列的⽹络协议,包括:
1. 实时传输协议RTP(Real-time Transport protocol)
2. 实时传输控制协议RTCP(Real-time Transport Control protocol)
3. 实时流协议RTSP(Real Time Streaming protocol)
4. 资源预留协议RSVP(Resource Reserve Protocol)
1、RTP
  RTP是⼀种提供端对端传输服务的实时传输协议,⽤来⽀持在单⽬标⼴播和多⽬标⼴播⽹络服务中传输实时数据,⽽实时数据的传输则由RTCP协议来监视和控制。
  RTP定义在RFC 1889中。信息包的结构包含⼴泛⽤于多媒体的若⼲个域,包括声⾳点播(audio-on-demand)、影视点播(video on demand)、因特⽹电话(Internet telephony)和电视会议(videoconferencing)。RTP的规格没有对声⾳和电视的压缩格式制定标准,它可以被⽤来传输普通格式的⽂件。例如,WAV或者GSM(Global System for Mobile communications)格式的声⾳、MPEG-1和MPEG-2的电视,也可以⽤来传输专有格式存储的声⾳和电视⽂件。
  使⽤RTP协议的应⽤程序运⾏在RTP之上,⽽执⾏RTP的程序运⾏在UDP的上层,⽬的是为了使⽤U
DP的端⼝号和检查和。如下图所⽰,RTP可以看成是传输层的⼦层。由多媒体应⽤程序⽣成的声⾳和电视数据块被封装在RTP信息包中,每个RTP信息包被封装在UDP消息段中,然后再封装在IP数据包中。
图2.1.1 RTP是传输层上的协议
  从应⽤开发⼈员的⾓度来看,可把 RTP 执⾏程序看成是应⽤程序的⼀部分,因为开发⼈员必需把 RTP 集成到应⽤程序中。在发送端,开发⼈员必需把执⾏ RTP 协议的程序写⼊到创建 RTP 信息包的应⽤程序中,然后应⽤程序把 RTP 信息包发送到 UDP 的套接接⼝(socket interface),如下图所⽰;同样,在接收端,RTP 信息包通过 UDP 套接接⼝输⼊到应⽤程序,因此开发⼈员必需把执⾏ RTP 协议的程序写⼊到从 RTP 信息包中抽出媒体数据的应⽤程序。
图2.1.2 RTP和UDP之间的接⼝
  RTP本⾝不提供任何机制来确保把数据及时递送到接收端或者确保其他的服务质量,它也不担保在递送过程中不丢失信息包或者防⽌信息包的次序不被打乱。的确,RTP的封装只是在系统端才能看到,中间的路由器并不区分那个IP数据报是运载RTP信息包的。
  RTP允许给每个媒体源分配⼀个单独的RTP信息包流,例如,摄像机或者麦克风。例如,有两个团体
参与的电视会议,这就可能打开4个信息包流:两台摄像机传送电视流和两个麦克风传送声⾳流。然⽽,许多流⾏的编码技术,包括MPEG-1和MPEG-2在编码过程中都把声⾳和电视图像捆绑在⼀起以形成单⼀的数据流,⼀个⽅向就⽣成⼀个RTP信息包流。
  RTP信息包没有被限制只可应⽤于单⽬标⼴播,它们也可以在⼀对多(one-to-many)的多⽬标⼴播树或者在多对多(many-to-many)的多⽬标⼴播树上传送。例如,多对多的多⽬标⼴播,在这种应⽤场合下,所有发送端通常都把他们的RTP信息包流发送到具有相同多⽬标⼴播地址的多⽬标⼴播树上。
  RTP标题由4个信息包标题域和其他域组成:有效载荷类型(payload type)域,顺序号(sequence number)域,时间戳(timestamp)域和同步源标识符(Synchronization Source Identifier)域等。RTP信息包的标题域的结构如下图所⽰:
图2.1.3 RTP信息包标题域的结构
(1)有效载荷类型
  RTP信息包中的有效载荷域(Payload Type Field)的长度为7位,因此RTP可⽀持128种不同的有效载荷类型。对于声⾳流,这个域⽤来指⽰声⾳使⽤的编码类型,例如PCM、⾃适应增量调制或线性预测编码等等。如果发送端在会话或者⼴播的中途决定改变编码⽅法,发送端可通过这个域来通知接收端。
(2)顺序号
  顺序号(Sequence Number Field)域的长度为16位。每发送⼀个RTP信息包顺序号就加1,接收端可以⽤它来检查信息包是否有丢失以及按顺序号处理信息包。例如,接收端的应⽤程序接收到⼀个RTP信息包流,这个RTP信息包在顺序号86和89之间有⼀个间隔,接收端就知道信息包87和88已经丢失,并且采取措施来处理丢失的数据。(初始是随机的)
(3)时间戳
  时间戳(Timestamp)域的长度为32字节。它反映RTP数据信息包中第⼀个字节的采样时刻(时间)。接收端可以利⽤这个时间戳来去除由⽹络引起的信息包的抖动,并且在接收端为播放提供同步功能。(由该时间恢复出原始时钟信息,要处理分布式终端的时钟漂移)
陶瓷保险丝(4)同步源标识符
  同步源标识符(Synchronization Source Identifier,SSRC)域的长度为32位。它⽤来标识RTP信息包流的起源,在RTP会话或者期间的每个信息包流都有⼀个清楚的SSRC。SSRC不是发送端的IP地址,⽽是在新的信息包流开始时源端随机分配的⼀个号码。(⽤于媒体间同步)
奇石底座
2、RTCP
  实时传输控制协议(Real-time Control Protocol,RTCP)也定义在1996年提出的 RFC 1889 中。多媒体⽹络应⽤把RTCP和RTP⼀起使⽤,尤其是在多⽬标⼴播中更具吸引⼒。当从⼀个或者多个发送端向多个接收端⼴播声⾳或者电视时,也就是在RTP会话期间,每个参与者周期性地向所有其他参与者发送RTCP控制信息包,如图所⽰。RTCP⽤来监视服务质量和传送有关与会者的信息。对于RTP会话或者⼴播,通常使⽤单个多⽬标⼴播地址,属于这个会话的所有RTP和RTCP信息包都使⽤这个多⽬标⼴播地址,通过使⽤不同的端⼝号可把RTP 信息包和RTCP信息包区分开来。
图2.2.1 每个参与者周期性地发送RTCP控制信息包
  RTCP的主要功能是为应⽤程序提供会话质量或者⼴播性能质量的信息。每个RTCP信息包不封装声⾳数据或者电视数据,⽽是封装发送端和/或者接收端的统计报表。这些信息包括发送的信息包数⽬、丢失的信息包数⽬和信息包的抖动等情况,这些反馈信息对发送端、接收端或者⽹络管理员都是很有⽤的。RTCP规格没有指定应⽤程序应该使⽤这个反馈信息做什么,这完全取决于应⽤程序开发⼈员。例如,发送端可以根据反馈信息来修改传输速率,接收端可以根据反馈信息判断问题是本地的、区域性的还是全球性的,⽹络管理员也可以使⽤RTCP信息包中的信息来评估⽹络⽤于多⽬标⼴播的性能。
3、RTSP
  实时流放协议(Real-Time Streaming Protocol,RTSP)是⼀个刚开始开发的协议,它的设想描述在RFC 2326⽂件中。RTSP是应⽤级的实时流放协议,它主要⽬标是为单⽬标⼴播和多⽬标⼴播上的流式多媒体应⽤提供牢靠的播放性能,以及⽀持不同⼚家提供的客户机和服务机之间的协同⼯作能⼒。
  在RTSP中,每个演⽰(Presentation)及其所对应的媒体流都由⼀个RTSP URL标识。整个演⽰及媒体特性都在⼀个演⽰描述(Presentation description)⽂件中定义,该⽂件可能包括媒体编码⽅式、语⾔、RTSP URLs、⽬标地址、端⼝及其它参数。⽤户在向服务器请求某个连续媒体流的服务之前,必须⾸先从服务器获得该媒体流的演⽰描述(Presentation description)⽂件以得到必需的参数,演⽰描述⽂件的获取可采⽤HTTP、email或其他⽅法。
  RTSP中的所有的操作都是通过服务器和客户⽅的消息应答来完成的,其消息包括请求(Request)和响应(Response)两种,RTSP 正是通过服务器和客户端的消息应答来完成媒体流的创建、初始化(SETUP)、VCR(盒式录像机VideoCassetteRecorder)控制(PLAY、PAUSE)以及拆线(TEARDOWN)等操作的。在基于Client/Server结构的分布式视频点播系统中,RTSP协议的操作过程如图:
图2.3.1 RTSP协议操作
  客户机在向视频服务器请求视频服务之前,⾸先通过HTTP协议从Web服务器获取所请求视频服务的
演⽰描述(Presentation description)⽂件,利⽤该⽂件提供的信息定位视频服务地址(包括视频服务器地址和端⼝号)及视频服务的编码⽅式等信息。然后客户机根据上述信息向视频服务器请求视频服务(SETUP)。视频服务初始化完毕,视频服务器为该客户建⽴⼀个新的视频服务流,客户端与服务器运⾏实时流控制协议RTSP,以对该流进⾏各种VCR控制信号的交换,如播放(PLAY)、停⽌(PAUSE)、快进、快退等。当服务完毕,客户端提出拆线(TEARDOWN)请求,释放资源。
4、RSVP
  RSVP协议是⼀种可以提供⾳频、视频、数据等混合服务的互联⽹络综合服务(IIS Internet Integrated service ) [RSVP97,RFC1633]。通过它,主机端可以向⽹络申请特定的QoS,为特定的应⽤程序提供有保障的数据流服务。同时RSVP在数据流经过的各个路由器节点上对资源进⾏预留,并维持该状态直到应⽤程序释放这些资源。
  RSVP对资源的申请是单向的,所以RSVP在申请资源的过程中发送端和接受端是逻辑上完全不同的两个部分。(虽然发送端和接受端可以运⾏在同⼀个进程下)。RSVP⼯作在IPv4或IPv6上,处于 OSI七层协议中的传送层,但是,RSVP并不处理传送层的数据,从本质上看,RSVP更象是⽹络控制协议,如ICMP(Internet Control Message Protocol),IGMP(Internet Group Management Protocol)或是路由协议。和路由协议及管理协议的实现相同,RSVP的实现通常在后台执⾏,⽽不是出现在数据传送的路径上。
  RSVP本⾝并不是路由协议,RSVP是和现在或是将来出现的点对点传播和多点组播协议⼀起⼯作的。RSVP进程通过本地的路由来获取路由信息,如在多点组播过程中,主机端送出IGMP报⽂来加⼊⼀个多点组播的组,然后送出RSVP报⽂在组的传送路径上保留⽹络资源,路由协议决定报⽂的⾛向,⽽RSVP仅关⼼这些报⽂在它将⾛的路径上能否获得满意的服务质量。
  为了适应可能出现的⼤规模组、动态组、异类接受端的可能,RSVP采取由接受端发起服务质量(QoS)申请的策略。QoS请求从接受端的应⽤程序出发交给本地的RSVP驻留进程,再由该RSVP驻留进程将该请求递交给沿数据传送的反向路径(接受端⾄发送端)上的各个节点(路由器或是主机)进⾏资源的申请。所以,RSVP协议在资源保留上花费⼀般是呈对数⽽不是线形幅度增长。
三、流媒体播放⽅式
1、单播
硅胶气囊
  在客户端与流媒体服务器之间建⽴⼀个单独的数据通道,从⼀台服务器送出的每个数据包只能传送给⼀个客户机,这种传送⽅式为单播。每个⽤户必须分别对媒体服务器发送单独的查询,⽽媒体服务器必须向每个⽤户发送所申请的数据包拷贝。这种巨⼤冗余⾸先造成服务器沉重的负担,响应需要很长时间,甚⾄停⽌播放,管理⼈员也被迫增加硬件和宽带来保证⼀定的服务质量。
2、组播
  组播技术构建⼀种具有组播能⼒的⽹络,允许路由器⼀次将数据包复制到多个通道上.采⽤组播⽅式,单台服务器能够对⼏⼗万台客户机同时发送连续数据⽽⽆延时。媒体服务器只需要发送⼀个信息包,⽽不是多个,所以发出请求的客户端共享同⼀信息包。信息可以发送到任意地址的客户机,以减少⽹络上传输的信息包的总量。⽹络利⽤率⼤⼤提⾼,成本⼤⼤降低。
3、点播与⼴播
睡眠袜  点播连接是客户端与服务器之间的主动连接。在点播连接中,⽤户通过选择内容项⽬来初始化客户端连接。⽤户可以开始、停⽌、后退、快进或暂停流。点播连续提供了对流的最⼤控制,但这种⽅式由于每个客户各⾃连接服务器,就会迅速⽤完⽹络带宽。
  ⼴播指的是⽤户被动接受流。在⼴播过程中,客户端接收流,但不能控制流,例如,⽤户不能暂停、快进或后退该流。在使⽤单播发送时,需要将数据包复制多个副本,以多个点对点的⽅式分别发送到需要它的那些⽤户,⽽使⽤⼴播⽅式发送,数据包的单独⼀个副本将发送给⽹络上的所有⽤户,⽽不管⽤户是否需要。上述两种传输⽅式⾮常浪费⽹络带宽。
  组播吸收了上述两种发送⽅式的长处,克服了上述两种发送⽅式的弱点,将数据包的单独⼀个拷贝发送给需要的的那些⽤户。
四、业界中流媒体系统的简介
  ⽬前有三⼤主流流媒体系统解决⽅案,包括RealNetWorks的RealServer、Mirosoft的Windows Media Server、Apple的QuickTime Streaming Server(QTSS)。

本文发布于:2024-09-23 12:20:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/150922.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信息   编码   视频   数据   协议   发送
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议