视频通话与媒体流传输协议

视频、音频编解码部分,流分别是 h.264 和 amr_nb。

流传输协议可以是:SIP,RTSP,RTP/RTCP/UDP。


1、概述

  流媒体技术是一种专门用于网络多媒体信息传播和处理的新技术,该技术能够在网络上实现传播和播放同时进行的实时工作模式,相对于其他的一些音、视频网络传输和处理技术,流媒体比较成熟和使用,目前已经成为网上音、视频(特别是实时音视频)传输的主要解决方案。

  流媒体与常 规视频媒体之间的不同在于,流媒体可以边下载边播放。“流”的重要作用体现在可以明显的节省时间,由于常规视频媒体文件比较大,并且只能下载下来后才能播 放,因此下载需要很长的时间,妨碍了信息的流通,流媒体的应用是近几年来Internet发展的产物,广泛应用于远程教育、网络电台、视频点播、收费播放 等。

  目前,制约 流媒体宽带应用发展的关键在于互联网的服务质量,流媒体从理论上解决了大容量网络多媒体数据传输的实时性要求问题,但是由于大型分组交换网络中数据传输受 到诸多因素的影响,网络的状况是不可靠的,其带宽、负荷等的变化难以满足流媒体宽带业务的实时性服务质量要求。并且常常造成播放卡壳、延迟、视频抖动剧 烈,给使用者感官造成很大影响,所以解决好流媒体网络应用的服务质量问题对于流媒体宽带应用是极为重要的。

2、流媒体简介
  随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/视频(Audio/Video,简称A/V)等多媒体文件时,基本上只有下载和流式传输两种选择。通常说来,A/V文件占据的存储空间都比较大,在带宽受限的网络环境中下载可能要耗费数分钟甚至数小时,所以这种处理方法的延迟很大。如果换用流式传输的话,声音、影像、动画等多媒体文件将由专门的流媒体服务器负责向用户连续、实时地发送,这样用户可以不必等到整个文件全部下载完毕,而只需要经过几秒钟的启动延时就可以了,当这些多媒体数据在客户机上播放时,文件的剩余部分将继续从流媒体服务器下载。
  流(Streaming)是近年在Internet上出现的新概念,其定义非常广泛,主要是指通过网络传输多媒体数据的技术总称。流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭义上的流媒体是相对于传统的下载-回放方式而言的,指的是一种从Internet上获取音频和视频等多媒体数据的新方法,它能够支持多媒体数据流的实时传输和实时播放。通过运用流媒体技术,服务器能够向客户机发送稳定和连续的多媒体数据流,客户机在接收数据的同时以一个稳定的速率回放,而不用等数据全部下载完之后再进行回放。由于受网络带宽、计算机处理能力和协议规范等方面的限制,要想从Internet上下载大量的音频和视频数据,无论从下载时间和存储空间上来讲都是不太现实的,而流媒体技术的出现则很好地解决了这一难题。目前实现流媒体传输主要有两种方法:顺序流(progressive streaming)传输和实时流(realtime streaming)传输,它们分别适合于不同的应用场合。
顺序流传输
  顺序流传输采用顺序下载的方式进行传输,在下载的同时用户可以在线回放多媒体数据,但给定时刻只能观看已经下载的部分,不能跳到尚未下载的部分,也不能在传输期间根据网络状况对下载速度进行调整。由于标准的HTTP服务器就可以发送这种形式的流媒体,而不需要其他特殊协议的支持,因此也常常被称作HTTP流式传输。顺序流式传输比较适合于高质量的多媒体片段,如片头、片尾或者广告等。
实时流传输
  实时流式传输保证媒体信号带宽能够与当前网络状况相匹配,从而使得流媒体数据总是被实时地传送,因此特别适合于现场事件。实时流传输支持随机访问,即用户可以通过快进或者后退操作来观看前面或者后面的内容。从理论上讲,实时流媒体一经播放就不会停顿,但事实上仍有可能发生周期性的暂停现象,尤其是在网络状况恶化时更是如此。与顺序流传输不同的是,实时流传输需要用到特定的流媒体服务器,而且还需要特定网络协议的支持。

3、流媒体技术原理

  流媒体的传 输的实现需要缓存。因为Internet以分组传输为基础进行断续的异步传输,对一个实时的A/V源或存储的A/V文件。在传输中它们要被分解为许多的分 组,由于网络是动态变化的,各个分组选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据分组有可能后到。为此,使用缓存系统来弥补 延迟和抖动的影响,并保证分组的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。

  流媒体传输的实现需要合适的传输协议。由于TCP需要较多的开销,因此不太适合传输实时数据。在流媒体传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。

  流媒体传输的过程一般描述如下:用户选择某一流媒体服务后,Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数 据从原始信息中检索出来,然后客户机上的Web浏览器启动A/V Helper程序,使用HTTP从Web服务器检索相关参数对Helper程序初始化。这些参数可能包括目录信息、A/V数据的编码类型或与A/V检索相 关的服务器地址。

  A/V Helper程序及A/V服务器运行实时流协议(RTSP,Real-Time Streaming Protocol),以交换A/V传输所需的控制信息。与CD播放机或VCRs所提供的功能相似,RTSP提供了操纵播放、快进、快倒、暂停及录制等命令 的方法。A/V服务器使用RTP/UDP协议将A/V数据传输给A/V客户程序(一般可以认为客户程序等同于Helper程序),一旦A/V数据抵达客户 端,A/V客户程序即可播放输出。

  需要说明的是,在流媒体传输中。使用RTP/UDP和RTSP/TCP两种不同的通信协议与A/V服务器建立联系,是为了能够把服务器的输出重定向到一个不同于运行A/V Helper程序所在客户机的目的地址。实现流媒体传输一般都需要专用服务器和播放器。

4、流媒体传输模式

  流媒体之所以能够实现多媒体数据的实时播放是采用了专门的网络控制协议和数据传输机制。服务器端有专门的流媒体发布系统,而客户端则有专门的播放器,这两部分都需要通过数据缓存区进行数据的缓存。

  与普通的分 组交换网络不同,流媒体系统的缓存区中的数据在数据传输过程中是动态的,也可成为是交换状态的,数据以堆栈方式进出缓冲区,而不需要等待数据全部达到客户 机后才从缓冲区中被释放出来,由于数据缓冲区中的数据是“流动”的,再加上数据的播放需要维持一个稳定的数据输出速度,随时都要求缓冲区有相应的数据提供 给播放器,如果没有相应的数据,则会出现内容播放过程中的暂停和画面的条约,出现前一种情况一般是由于网络传输速度跟不上数据的播放速度,而发生了数据的 下溢,而后一种情况的发生是由于网络传输速度过快,超过了播放的速度,而又没有适当的传输控制而造成的数据上溢。

5、网络传输与控制协议

  多媒体业务流由于其数据量大、实时等特点,对网络传输也提出相应的要求,主要表现在高带宽、低传输时延、同步和高可靠性几方面。为了保证好的QoS,必须考虑传输模式、协议栈和应用体系控制等问题。以下主要讨论应用于流媒体实时控制和传输的几种协议。

  5.1 RTP/RTCP协议簇

RTP/RTCP是端对端基于组播的应用层协议。其中RTP(Realtime Transfer Protocol)用于数据传输,RTCP(Realtime Transfer Control Protocol)用于统计、管理和控制RTP传输,两者协同工作,能够显著提高网络实时数据的传输效率。

  RTP和 RTCP都定义在RFC1889中。RTP用于在单播或多播情况下传输实时数据,通常工作在UDP上。RTP协议核心在于其数据包格式,它提供应用于多媒 体的多个域,包括VOD,VoIP,电视会议等,并且不规定负载的大小,因此能够灵活应用于各媒体环境。但RTP协议本身不提供数据包的可靠传送和拥塞控 制,必须依靠RTCP提供这些服务。RTCP的主要功能是为应用程序提供媒体质量信息。在RTP会话期间,每个参与者周期性地彼此发送RTCP控制包,包 中封装了发送端或接收端的统计信息。包括发送包数、丢包数、包抖动等,这样发送端可以根据这些信息改变发送速率,接收端则可以判断包丢失等问题出在哪个网 络段。总的来说,RTCP在流媒体传输中的作用有:QoS管理与控制、媒体同步和附加信息传递。

  在RTP/RTCP协议基础上,不同的媒体类型需要不同的封装和管理技术。目前国际上正在研究基于RTP/RTCP的媒体流化技术,包括MPEG-1/2/4的媒体流化技术。

  5.2 RSVP协议

  资源预留协 议RSVP(Resource reSerVation Protocol)是针对IP网络传输层不能保证QoS和支持多点传输而提出的协议。RSVP在业务流传送前先预约一定的网络资源,建立静态或动态的传输 逻辑通路。从而保证每一业务流都有足够的“独享”带宽,因而能够克服网络的拥塞和丢包,提高QoS性能。

  值得一提的 是,RSVP是由接收方执行操作的协议。接收方决定预留资源的优先级,并对预留资源进行初始化和管理。在网络节点(如路由器)上被要求预留的资源包括缓冲 区和带宽等,一般数据包通过位于网路节点上的“滤包器”使用预留资源,RSVP共有3种预留类型:无滤包器形式、固定滤包器形式和动态滤包器形式。

  5.3 RTSP协议

  实时流协议 (Real-Time Streaming Protocol)由RealNetworks和Netscape共同提出。是工作在RTP之上的应用层协议。它的主要目标是为单播和多播提供可靠的播放 性能。RTSP的主要思想是提供控制多种应用数据传送的功能。即提供一种选择传送通道的方法,例如UDP、TCP、IP多播,同时提供基于RTP传送机制 的方法。RTSP控制通过单独协议发送的流,与控制通道无关,例如,RTSP控制可通过TCP连接,而数据流通过UDP。通过建立并控制一个或几个时间同 步的连续流数据,其中可能包括控制流,RTSP能为服务器提供远程控制。另外,由于RTSP在语法和操作上与HTTP类似,RTSP请求可由标准HTTP 或MIME解析器解析,并且RTSP请求可被代理、通道与缓存处理。与HTTP相比,RTSP是双向的,即客户机和服务器都可以发出RTSP请求。

  实现RTSP的系统必须支持通过TCP传输RTSP,并支持UDP。RTSP服务器的TCP和UDP缺省端口都是554。目前最新的微软Media Services V9和RealSystem都支持RTSP协议。

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿基米东

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值