采用流媒体技术实现网络中的视频、音频传播

原创 2001年05月18日 20:12:00
采用流媒体技术实现网络中的视频、音频传播 作者:张程 发布时间:2000/12/05
 
文章摘要:
  本文概述了流媒体技术的定义、原理以及发展现状,在以RealMedia为应用实例的基础上介绍了如何应用流媒体技术实现音频、视频信息在网络上的传播。
  关键词 流媒体,RealMedia,视频,音频,Internet
       

正文: button_class.GIF  


采用流媒体技术实现网络中的视频、音频传播  

一、前言

  当今,我们正处在网络多彩精致的时代。快速链接和多媒体计算机的出现使网络上的信息不再只是文本、图象和简单的声音文件。越来越多的公司和个人正在利用音频、视频剪辑的多媒体技术使自己的站点更具吸引力、拥有更大的信息量和经济效益。这些多媒体内容包括电影、新闻剪辑电台、电视广播、网络游戏甚至虚拟宠物。想要使用这些多媒体信息,就必须实现视频、音频信息在网络上的传输。

二、什么是流媒体

  流是用于描述媒体文件的名词。与常规文件不同,媒体文件可以在向播放器传输的过程中就开始播放。为何流这么重要呢?原因就是时间。媒体文件通常体积庞大,下载需要很长时间。甚至短到30秒的视频剪辑在正常的每秒56Kbps Internet接入上传输也需要20分钟以上的下载时间。而30分钟长的视频文件则需要几个小时的下载时间。
  由于数据发送过程几乎立即开始播放,因此解决了下载时间问题。由于采用了"流式传输"技术,文件象水流那样流动。文件不是一次读取发送所有的数据,而是首先在线路中发送音频或视频剪辑的第一部分。在第一部分开始播放的同时,数据的其余部分源源不断的流出,及时达到目的地供播放使用。为保证在阻塞造成网络速度下降的情况下播放不会发生中断,播放器在开始播放前先采集一小部分所谓缓冲的预备数据。如果数据流动速度保持足够快的话,播放是连续的。无论文件长30秒还是30分钟,用户只是在观看文件 前等上几秒钟生成这个缓冲数据。
  总的来说,流媒体就是指在Internet/Intranet上使用流式传输技术的连续时基媒体。

三、流媒体技术原理

1、 流式传输的实现途径与过程
  首先,多媒体数据进行预处理才能适合流式传输,这是因为目前的网络带宽对多媒体巨大的数据流量来说还显得远远不够。预处理主要包括两方面:一是降低质量;二是采用先进高效的压缩算法。
  其次,流式传输的实现需要缓存。这是因为Internet以包传输为基础进行连续的异步传输,对一个实时A/V源或存储的A/V文件,在传输中它们要被分解为许多包,由于网络是动态变化的,每个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时阻塞使播放出现停顿。通常高速缓存所需容量并不大。这是因为高速缓存使用环行链表结构来存储数据:通过丢弃已经播放的内容,"流"可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。
  再次,流式传输的实现需要合适的传输协议。WWW技术是以HTTP协议为基础的,而HTTP又建立在TCP协议基础之上。由于TCP需要较多的开销,故不太适合传输实时数据,在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。

流式传输的过程通常如下:
  (1)、用户选择某一流媒体服务后,Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来;然后客户机上的Web浏览器启动A/V Helper程序,使用HTTP从Web服务器检索相关参数对Helper程序初始化。这些差数可能包括目录信息、A/V数据的编码类型或与A/V检索相关的服务器地址。
  (2)、A/V Helper程序及A/V服务器运行实时流控制协议(RTSP),以交换A/V传输所需的控制信息。RTSP提供了操纵播放、快进、快倒、暂停及录制等命令的方法。
  (3)、A/V服务器使用RTP/UDP协议将A/V数据传输给A/V客户程序,一旦A/V数据抵达客户端,A/V客户程序即可播放输出。
  在流式传输中,使用RTP/UDP和RTSP/TCP两种不同的通信协议与A/V服务器建立联系,是为了能够把服务器的输出重定向到一个不同于运行A/V Helper程序所在客户机的目的地址。

2、 支持流媒体传输的网络协议
  (1)、实时传输协议RTP(Real-timeTransportProtocol),用于Internet上针对多媒体数据流的一种传输协议。RTP被定义为在一对一或一对多的传输情况下工作,起目的是提供时间信息和实现流同步。
  (2)、实时传输控制协议RTCP(Real-timeTransportContrilProtocol),和RTP一起提供流量控制和拥塞控制服务。RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。
  (3)、实时流协议RTSP(RealTimeStreamingProtocol),定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。
  (4)、RSVP协议(ResourceReserveProtocol),正在开发的Internet上的资源预订协议。

3、 识别流媒体类型的途径-MIME
  MIME是Multipurpose Internet Mail Extensions(通用因特网邮件扩展)的缩略语,它不仅用于电子邮件,还能用来标记在Internet上传输的任何文件类型。通过它,Web服务器和Web浏览器才可以识别流媒体并进行相应的处理。Web服务器和Web浏览器都基于HTTP协议,而HTTP都内建有MIME。HTTP正是通过MIME标记Web上繁多的多媒体文件格式。为了能处理一种特定文件格式。需对Web服务器和Web浏览器都进行MIME类型设置。对于标准的MIME类型,如文本和JPEG图象,Web服务器浏览器提供内建支持;但对Real等非标准的流媒体文件格式,则需设置audio/x-pn-realaudio等MIME类型。

4、 浏览器对流媒体的支持
  浏览器通过MIME来识别流媒体的类型,并调用相应的程序或Plug-in来处理,尤其在IE中,提供了丰富的内建流媒体支持。

四、流媒体应用与开发

  目前,Internet上使用较多的流式视频格式主要包括了以下三种:RealNetwork公司的RealMedia、Apple公司的QuickTime以及Microsoft公司的Advanced Streaming Format(ASF)。
  其中,RealNetwork公司所制定的音频视频压缩规范RealMedia,是目前在Internet上相当流行的跨平台的客户服务器结构的多媒体应用标准,它采用音频视频流和同步回放技术来实现在Intranet上全带宽地提供最优质的多媒体,同时也能够在Internet上提供立体声和连续视频。因此,下面以RealMedia为例来说明流媒体应用的情况。

1、 流媒体的制作过程
  流媒体就内容提交的不同可以分为两种:实况流媒体广播(即Web广播)和由用户按需访问的存档的视频和音频。不论是哪一种类型的流媒体,起实现从摄制的原始镜头到流式内容的转变都要经过以下过程:
  (1)、对事件进行录制;
  (2)、对内容进行编辑,然后利用视频编辑硬件和软件对它进行数字化处理;
  (3)、数字化的视频和音频内容被编码为流媒体(.ram)格式。
  (4)、媒体文件或实况数据流被保存在安装了流媒体服务器软件的宿主计算机上;
  (5)、用户点击网页请求视频流或访问流内容的数据库;
  (6)、宿主服务器向最终用户提交数字化内容,而最终用户利用在桌面上显示媒体内容的播放程序(Realplayer)来观看数字化内容。
  图1便是采用RealNetwork公司的RealMedia格式来实现流媒体制作的过程图。
    

2、 在计算机上实现.rm文件的制作
  RealNetwork公司为了实现数字文件向.rm文件的转换,提供了RealProducer这个后台制作软件,它支持已有文件的转换,同时也支持实时的网上直播的转换。在这里,必须正确的设置文件存放的路径,以及选择适当的文件转换档次。(根据网络带宽的不同,RealProducer提供了多种不同的.rm文件转换格式,可以实现从28.8K到100M的不同带宽上的传播。

3、 在Web服务器中安装流媒体发布软件
  RealNetwork公司提供了RealServer作为RealMedia文件的发布软件。因此,必须将RealServer服务器程序安装在Web服务器上,并正确地设置它。
  (1)、安装服务程序;
  (2)、设置MIME类型

4、 在网页中嵌入RealPlayer播放器
  安装配置好服务器,并准备好.rmWENJIAN后,就可以在Web页中使用.rm文件。常用的两种使用形式是:
  (1)、使用标准的HTML连接.rm文件。
  (2)、使用<EMBED>标记实时嵌入.rm文件

5、 为客户端安装RealPlayer播放器

五、流媒体的未来

   流媒体服务系统不同于网络文件服务系统。从功能实现上看,流媒体网络服务系统和传统的网络文件服务系统虽然有许多相似之处,尤其强调对数据对象的共享使用和追求最大化的数据吞吐率,但是,流媒体更为强调对高速、稳定和连续的访问流支持,强调对同步的支持,从而确保媒体数据的按时到达。
  随着计算机网络的进一步发展,网络带宽的不断扩大,尤其是Internet2的即将问世,流媒体技术必将会在未来的网络应用中发挥更大的作用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

采用流媒体技术实现网络中的视频、音频传播

一、前言   当今,我们正处在网络多彩精致的时代。快速链接和多媒体计算机的出现使网络上的信息不再只是文本、图象和简单的声音文件。越来越多的公司和个人正在利用音频、视频剪辑的多媒体技术使自己的站点...
  • guoxiaoqian8028
  • guoxiaoqian8028
  • 2014年04月10日 19:38
  • 1417

音视频处理(直播等流媒体/多媒体)

ffmpeg,opengles,opencv,opencl,实现图像滤镜,图像美化 android视频处理如秒拍,美拍,gif快手 Android中直播视频技术探究之---基础知识大纲介绍-- ht...
  • ShareUs
  • ShareUs
  • 2016年09月22日 13:40
  • 2339

通信工具的音视频的网络传输实现

当下比较流行的即时通信工具,比如MSN,QQ等都实现了视音频的功能,通过视频,音频,我们可以更好的和朋友通过网络进行沟通,本文通过DirectShow技术模拟QQ实现了视频和音频的采集,传输,基本实现...
  • formiss
  • formiss
  • 2011年09月05日 15:42
  • 2226

基于三层网络的音频传输技术

如今的数字传输系统已经相当的成熟,但是仍然有很多的专业现场演出音响系统采用传统的模拟线缆和配线架结构,用模拟线将舞台和调音台、功放等相互连接。体积庞大、连接复杂、设定繁琐以及不够灵活的应用方式和高昂的...
  • xiaoshulf
  • xiaoshulf
  • 2015年07月17日 22:21
  • 1912

视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比

发现了几个视频参数对比的资源,是Wikipedia上的,总结的非常好: 流媒体系统对比: http://en.wikipedia.org/wiki/Comparison_of_streaming_me...
  • leixiaohua1020
  • leixiaohua1020
  • 2013年09月20日 10:59
  • 29606

流媒体网络性能指标——抖动

有时候我们开发一个流媒体系统,做完了却不知道如何在数字上描述我们的系统,体现我们的优势,作为客户来说,可以描述这套系统的数字指标是最直观的。网络性能是最重要的,在流媒体网络中,影响流媒体服务器质量QO...
  • dxpqxb
  • dxpqxb
  • 2017年10月24日 14:42
  • 267

流媒体开发之--直播实现

1、流媒体开发之--直播实现 2、流媒体开发之-直播自定义列表 3、流媒体开发之-服务器图片的加载 4、流媒体开发之-直播自定义分类 5、流媒体开发之-获取直播节目预告-1 ...
  • coloriy
  • coloriy
  • 2015年08月21日 18:42
  • 3787

有效的rtsp流媒体测试地址汇总

有效的rtsp流媒体测试地址汇总!
  • fengbingchun
  • fengbingchun
  • 2015年05月04日 12:32
  • 39547

iOS音频播放之AudioQueue(三):网络流媒体的播放

从AudioStreamer讲起 为什么要使用CFNetwork CFNetwork示例下载图片 代码示例 代码说明 代码演示 流媒体的播放 CFNetwork的预处理 Seek操作 播放完成 在...
  • cairo123
  • cairo123
  • 2016年12月30日 13:50
  • 1150

流媒体介绍

一、 流媒体简介  1、流媒体的出现     长期以来,由于受到网路带宽的限制,互联网上的数据都是以文字、图片之类的静态内容为主,而那些音频、视频数据很难在网上发布,因为一般非压缩的广播级品质...
  • qq_18863573
  • qq_18863573
  • 2016年06月22日 11:19
  • 699
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:采用流媒体技术实现网络中的视频、音频传播
举报原因:
原因补充:

(最多只允许输入30个字)