`
little_rui
  • 浏览: 6858 次
社区版块
存档分类
最新评论
阅读更多

 

 

       Internet一直在不断变化:静态内容让位于流视频,音乐和语音取代了文本,交互式音频和视频正变得越来越常见。这些变化要求我们开发出新的应用,同时这些变化给应用设计者带来了新的、独特的挑战。

         本书讲述了如何构建这些新的应用:IP电话,视频会议,流媒体和网络电台。本书研究了那些在IP网络中可靠地传输音视频所固有的挑战,并且本书还讲解了在面对各种网络问题时如何实现高质量的媒体传输,如何确保系统的安全性。本书的重点在于开放标准,而不是那些私有解决方案,特别关注于那些IETF和ITU所设计的标准。

       我们从本章开始考察RTP协议,本章主要讲述音视频网络传输简史,RTP协议概述,RTP协议和其他协议的关系。

(这里插播一句话,其实市面上有很多这种音视频的解决方案,使用的通信协议也各不相同,其中有佰锐科技提供的AnyChat音视频解决方案,他们的流媒体协议遵循的就是RTP/RTSP协议,如果有兴趣,或者可以到他们的技术论坛bbs.anychat.cn进行更多知识获取,同时他们还提供demo的功能演示,可以值得一看)

 

 

第一节 音视频网络传输简史

 

利用类似Internet这样的基于包交换的网络传输语音和视频的想法并不新鲜。利用包交换网络传输语音的试验可以追溯到1970年代早期。关于这个主题(网络语音协议NVP)的第一个RFC起源于1977年。视频协议出现的晚一些,但是Internet上的视频会议和流媒体传输的历史也超过了10年。

 

早期基于包交换网络的语音和视频传输试验

 

        NVP(Network Voice Protocol)协议的初始开发者是一些利用ARPANET网络进行语音包传输的研究人员,ARPANET网络是Internet的始祖。ARPANET提供可靠的流服务(类似于TCP/IP),但是这会导致较大的延迟,于是,一种所谓的“不受控包”服务被开发出来,类似于现代RTP所使用的UDP/IP数据报。在这种“不受控包“服务之上就是NVP层。后来,试验扩展到分组无线网络和大西洋卫星网络,在这些网络上运行NVP协议,进行交互操作。

        早期网络带宽很低,所以所有这些试验都被限制为只有一个或两个语音通道。在1980年代,拥有3M带宽的宽带卫星网络的出现,使得不但大量的语音通道成为可能,而且还促进了视频包交换传输的发展。为了访问这种仅有一跳、保留带宽、支持多播的卫星网络服务,人们开发了一个面向连接的网间协议,Stream Protocol(ST)。NVP的第二个版本,NVP-II,及其相伴的视频包传输协议都被运行在ST上一起提供了一个基于包交换的视频会议服务原型。

       在1989到1990年间,卫星网络被地面宽带网络和一个研究性的网络DARTNET所取代,同时ST进化到ST-II。基于包交换的视频会议系统已经开始计划生产,以支持网络研究人员和其他人员之间的视频会议。这些会议在地理上是分散的,最多同时支持五个站点。

        ST和ST-II和IP协议并行地运行在网际层,但其仅仅限于部署在政府网络和研究性网络中。做为一个替代,早期的使用IP协议的视频会议的部署开始于DARTNET,这使得基于NVP-II的多方视频会议可以利用UDP/IP多播来运行。在1992年3月的IETF会议上,基于多播通道的音频传输跨越了三个大洲的20个Internet站点,这些多播通道就是Mbone(代表“多播骨干“),是从DARTnet扩展而来。也就是在那次会议上,RTP的开发工作启动了。

 

Internet上的音视频传输

 

      在这些早期实验之后,Internet社区内对于视频会议的兴趣在1990年代早期开始生根发芽。在这个时候,工作站和PC的处理能力及多媒体性能,已经足以同时进行音视频流的采集、压缩和播放。与此同时,IP多播技术的发展使得我们可以向任意数量的连接到Internet的接收者发送实时数据。

        很明显,视频会议程序和多媒体串流程序都是多播应用程序,而且是精心实施的多播程序。来自劳伦斯伯克利实验室的研究团体开发了vic和vat工具,来自美国马萨诸塞大学的研究团体开发了nevot工具,施乐帕洛阿尔托研究中心开发了INRIA视频会议系统,nv。伦敦大学学院开发了rat。这些工具遵循了一种用于会议系统的新方法,这种新方法基于无连接的协议、端到端的参数和应用层成帧技术。会议是最小化管理的,没有共享控制和发言权控制,传输层是薄的和自适应的。多播既用于广域数据传输,也可做为进程间的通信机制而用于同一台机器上的两个应用程序之间(用于在音视频工具之间交换同步信息)。由此产生的协作环境包括轻度耦合的应用程序和高度分布的参与者。

        多播视频会议(Mbone)工具带来一个重大的影响:它们导致了对基于IP网络传输实时媒体数据的固有问题、对可扩展解决方案及错误和拥塞控制的全面的理解。它们还直接影响了几个关键的协议和标准的发展。

        在1992到1996年期间,在NVP-II和原始vat工具使用的协议的基础上,IETF开发了RTP协议。那些多播会议工具使用RTP作为唯一的数据传输和控制协议;因此,RTP不仅包括媒体传输的设施,还支持成员管理,唇音同步和接收质量报告。

         除了用于传输实时媒体数据的RTP协议,还开发了其他协议用来协调和控制媒体流。会话声明协议(Session Announcement Protocol ,SAP)被开发出来用以公告存在的多播数据流。会话声明本身就是多播,并且任何具有多播能力的主机都可以接收SAP声明,从而了解到当前正在进行的会议和传输。在会话声明内部,使用会话描述协议(Session Description Protocol,SDP)来描述多播会话中发送者和接收者所使用的传输地址,编码和打包方案。缺乏组播部署和万维网的兴起,已经在很大程度上取代了分布式组播目录的概念,但是SDP在今天仍被广泛应用。

        最后,Mbone会议团体领导开发了会话初始化协议(Session Initiation Protocol ,SIP)。SIP协议的目的是提供一个轻量级的手段,用来发现参与者并使用一组特定的参与者来发起一个多播会话。在其早期版本中,SIP几乎不包括呼叫控制和协商支持,因为Mbone会议环境并不使用这些方面。SIP已经成为一个更全面的协议,包括大量的协商和控制功能。

 

 

ITU标准

 

 

        与早期的分组语音工作并行发展的是综合业务数字网(Integrated Services Digital Network ,ISDN,普通的老式电话系统的数字版本)和一组相关的视频会议标准。 这些标准基于ITU推荐的H.320标准,使用电路交换链路,所以和我们这里讨论的基于包的音视频没有直接的关系。然而,它们是今天使用的很多压缩算法的先驱(例如,H.261视频编码算法)。

        在商业世界中,互联网的增长和局域网设备的广泛部署导致ITU扩展了H.320系列协议。具体来说,他们力求使这些协议适用于“那些提供非保证服务质量的局域网络”,作为一个经典协议族,IP协议就是“提供非保证服务质量”的。结果ITU开发了H.323系列建议。

        H.323于1997年首次发布,自那时以来已经经历了几次修订。它提供了一个框架,包括媒体传输,呼叫信令和会议控制。信令和控制功能定义在ITU推荐的H.225.0和H.245中。最初,信令协议主要侧重于和使用H.320的ISDN会议进行互操作,因此不得不忍受繁琐的会话建立过程,这个繁琐的过程在标准的后来的版本中得到简化。对于媒体传输,ITU工作组采用了RTP协议。然而,H.323协议仅使用了RTP协议的媒体传输功能,并没有使用RTP协议的控制和报告部分。

        随着几个内置支持H.323技术的软硬件产品的出现,H.323在市场上取得了合理的成功。H.323的研发经验导致了对其复杂性的抱怨,特别是H.323版本1复杂的创建过程及其二进制格式的信令。其中一些问题在后来的一些H.323版本中得到解决,但是在此期间,人们对于H.323的替代方案的兴趣在增加。

        SIP是替代方案之一,前边我们已经介绍过。最初的SIP规范由IETF于1999年发布,作为一个学术研究项目的成果,几乎没有商业利益。自那时起,SIP在许多方面被视为H.323的替代品,SIP正在被应用于更多不同的应用中,例如文本消息系统和IP语音。此外,SIP正在被考虑使用在第三代蜂窝电话系统中,它已经聚集了相当大的产业依托。

        最近,ITU推荐了H.332协议,它把一个紧耦合的H.323会议和一个轻量级的多播会议结合在一起。其结果对于像在线研讨会这样的场景是非常有用的,一组发言者之间可以通过会议的H.323部分进行密切的互动,而被动的听众可以通过多播来收看收听。

 

 

音视频流化

 

        在多播会议和H.323协议发展的同时,万维网革命的发生,为Internet带来了光鲜丰富的内容和公众对Internet的接受。网络带宽和终端系统能力的提高使得Web网页中包含音视频流成为可能,RealAudio和QuickTime是在这方面领先的系统。市场对于这类系统需求的增长,迫切需要为流式内容控制机制设计一个标准。其结果就是实时流协议(Real-Time Streaming Protocol ,RTSP),RTSP为流式内容的呈现提供了初始化和类似VCR的控制功能;RTSP于1998年完成标准化。RTSP建立于现有标准之上:它在操作上和HTTP极为相似,它能够使用SDP做会话描述,使用RTP做媒体传输。

 

本文属于译文,转载于http://blog.csdn.net/dengzikun/article/details/18353925

分享到:
评论

相关推荐

    RTP协议分析 实时流式传输是实时传送

    流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭义上的流媒体是相对于传统的下载-回放方式而言的,指的是一种从...

    RTP协议学习大总结从原理到代码

    狭义上 的流媒体是相对 于传统的下载-回放方式而言的,指的是一种从 Internet 上获取音频和视频等多媒体数据的 新方法,它能够支持多媒体数据流的实时传输和 实时播放。通过运用流媒体技术,服务器 能够向客户机发送...

    基于RTP协议的IP电话QoS监测及提高策略.doc

    RTP是专门为交互式音频、视频、仿真数据等实时媒体应用而设计的轻型传输协议,已广泛应用于各种多媒体传输系统中。IP电话作为一种新兴业务,因其低廉的话费受到广大用户的欢迎。但IP电话中的通话时延、话音失真一直...

    RTP、RTSP协议分析

    流媒体包含广义和狭义两种内涵:广义上的流媒体指的是使音频和视频形成稳定和连续的传输流和回放流的一系列技术、方法和协议的总称,即流媒体技术;狭义上的流媒体是相对于传统的下载-回放方式而言的,指的是一种从...

    通信与网络中的基于DirectX的音频视频无线传输系统设计与实现

    对于音视频流的传输,如果采用TCP协议,由于TCP的检错和重传机制会大大增加数据包的延时,因此不符合音视频传输的要求,而如果单纯采用UDP协议,由于UDP不提供任何的QoS保证,因此传输质量不理想。而IETF制定的实时...

    MChat.rar 一个可以在局域网进行视频聊天的源代码,语音压缩采用G729,视频压缩采用H.263,网络传输采用RTP

    一个可以在局域网进行视频聊天的源代码,语音压缩采用G729,视频压缩采用H.263,网络传输采用RTP。本程序介绍了视频聊天的基本技术,稍加改动就可以直接运用于Internet网络。本人主要进行流媒体传输方面的工作,有...

    可视门铃音频、视频数据WIFI传输控制板(原理图、PCB、demo源码等)-电路方案

    CC3200 Wi-Fi 无线微控制器可支持 RTP 视频流和 Wi-Fi 连接的单芯片实施,通过来自本地网络中任意智能手机、平板电脑或计算机的 802.11 b/g/n 网络进行数据传输。此设计实施充分利用 CC3200 Internet-on-a-chip:...

    基于Java的视频会议系统(软件程序+WORD论文文档).zip

    由于网络视频会议的实时性要求,不可能让视频传输的每一贞都准确无误。而TCP协议正是为数据可靠传输而设计的。那么选择UDP协议,即用户数据报协议(User Datagram Protocol,UDP),就成为一种必然。 Socket是网络上...

    通信与网络中的基于RTP协议的IP电话QoS监测及提高策略

     随着Internet和多媒体技术的飞速发展,Internet已由早期的单一数据传输网向多媒体数据(视频、音频、文本等)综合传输网发展。但Internet提供的只是尽力而为的服务,不能满足多媒体应用程序对传输延迟、包丢失、抖动...

    rfc中文文档目录,包含部分翻译

    RFC2435 针对JPEG压缩视频的RTP荷载格式 RFC2449 POP3 扩展机制 RFC2451 ESP CBC-模式密码算法 RFC2459 Internet X.509 公钥基础设施:证书和CRL简介 RFC2460 Internet协议,版本6(IPv6)说明书 RFC2463 针对因特网...

    3-IMS培训教程---SIP协议.pdf

    询问/应答机制 广泛应用于internet 可以基于UDP、TCP和SCTP传输,目前最常用UDP 4 协议簇 信令协议 – 注册、定位用户、路由 – 建立,修改,释放会话 媒体传输协议 – 用于传输语音/视频包 SIP – 信令协议 会话的...

    中文版RFC,共456

    RFC2435 针对JPEG压缩视频的RTP荷载格式 RFC2449 POP3 扩展机制 RFC2451 ESP CBC-模式密码算法 RFC2459 Internet X.509 公钥基础设施:证书和CRL简介 RFC2460 Internet协议,版本6(IPv6)说明书 RFC2463 针对因特网协议...

    RFC中文文档-txt

    RFC2435 针对JPEG压缩视频的RTP荷载格式 RFC2449 POP3 扩展机制 RFC2451 ESP CBC-模式密码算法 RFC2459 Internet X.509 公钥基础设施:证书和CRL简介 RFC2460 Internet协议,版本6(IPv6)说明书 RFC2463 针对因特网协议...

    Computer Networking - A Top Down Approach, 7th, converted .pdf

    3.4.2/流水线可靠数据传输协议/144 3.4.3/回退N步/147 3.4.4/选择重传/149 3.5/面向连接的运输:TCP/154 3.5.1/TCP连接/154 3.5.2/TCP报文段结构/156 3.5.3/往返时延的估计与超时/160 3.5.4/可靠数据传输/162 3.5.5/...

    rfc中文翻译

    28.8kb/s拨号调制解调器发送音视频时遇到的相关问题所引起。这些链路提供全双工通信, 所以协议利用了这点,尽管协议在用于单工链路时可能性能会有所下降。该方案在本地链路 上往返时间(RTT)很低,从而实现性能最高...

    Asterisk-server-install:星号服务器安装

    星号服务器安装 Internet协议语音(VoIP)是一项允许您使用宽带Internet连接而不是常规(或模拟)电话线进行语音呼叫的技术。 某些VoIP服务可能仅允许您呼叫使用... 语音或视频流量是通过实时协议(RTP)协议传输的。 S

    configuring_cisco_voice_over_ip.zip

    2.2.3 双音多频传输法 37 2.3 模拟网络部件 37 2.3.1 环路点和接地点 39 2.3.2 语音编码的标准和技术 40 2.3.3 波形编码 40 2.3.4 源编码 41 2.3.5 模拟信号构成 43 2.3.6 布线 45 2.4 模拟信号发送 48 2.5 模拟—...

    libcrtc:WebRTC C ++库,建立在Chromewebrtc之上

    WebRTC C ++库 WebRTC(Web实时通信)是通信协议和应用程序编程接口的集合,这些通信协议和应用程序编程接口... WebRTC使用实时协议传输音频和视频。 也可以看看 API文档 许可和版权 libcrtc已获得MIT许可。 libcrtc建

    很酷的Flash网站整站源代码

    一个很酷的Flash网站的源代码,语音压缩采用G729,视频压缩采用H.263,网络传输采用RTP。本程序介绍了Flash的基本技术,稍加改动就可以直接运用于Internet网络。一个非常非常非常棒的FLASH网站原代码,分享于...

Global site tag (gtag.js) - Google Analytics