网络流媒体技术研究
发布时间:2015-07-06 10:41
摘 要:对网络流媒体及其应用于流媒体系统的一些技术,包括传输方式、传输质量控制等进行了较为祥实的阐述,并对流媒体传输的实现和运用作了介绍。
关键词:流媒体;相关技术;应用
1 流媒体概述
音/视频(a/v)等多媒体信息是在时间上展开的数据流,具有数据量大和实时等特点。要在多媒体终端(如pc)上再现或回放多媒体信息,获得平滑的多媒体数据流非常重要。当用户通过下载方式将网络中服务器的数据保存至本地终端dsm(数字存储媒质,如计算机硬盘)后,通过数据总线在dsm和内存之间进行传输不难实现。但采用下载方式,用户必须考虑两个因素:对客户端的存储需求和播放启动延时。因为a/v文件一般都较大,需要很大的存储容量;而且由于网络带宽的限制,下载需要花费较长的时间。
流媒体技术解决的问题就是:采用流式传输方式直接从网络上得到平滑的数据流,无须首先把多媒体数据下载到本地终端在采用流式传输的系统中,声音、影像、动画等信息从网络中音视频服务器向用户终端(如pc、pda等)连续、实时传送,用户不必象下载方式那样等到整个文件全部下载完毕,只需经过短暂的启动延时(缓冲)即可在用户的计算机上通过解压设备(硬件或软件)解压后进行回放,数据的剩余部分在后台继续从服务器下载这种对多媒体数据边下载边回放的方式不仅使启动延时缩短,而且不需要本地终端有太大的存储容量。
2 流媒体的传输方式
2.1 顺序流式传输
即在给定时刻,用户只能观看已下载的部分,而不能跳过还未下载的部分,它不像实时流式传输那样在传输期间根据用户连接的速度进行调整。由于文件在播放前观看的部分是无损下载的,顺序流式传输方式适合高质量的短片段,如片头、片尾和广告,不适合长片段和有随机访问要求的视频、讲座、演说与演示,也不支持现场广播。严格说来,它是一种点播技术。
2.2 实时流式传输
是指媒体传输时信息带宽能自动动态适应网络带宽,保证媒体信号带宽与网络连接相匹配,使媒体可被实时观看到。它与顺序流式传输不同,需要专用的流媒体服务器与传输协议。实时流式传输适合现场事件,也支持随机访问,用户可快进或后退观看前面或后面的内容。理论上,实时流一经播放就可不停地收看,但实际上,可能会发生周期暂停。
2.3 二者的比较
(1)从视频质量上讲,实时流式传输必须匹配连接带宽,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量会下降;如欲保证视频质量,顺序流式传输更好。
(2)实时流式传输需要特定的服务器,如quicktime streamingserver、real server与windows media server,这些服务器允许对媒体发送进行更多级别的控制,因而系统设置、管理比标http服务器更复杂。
(3)实时流式传输还需要特殊的网络协议,如:rtsp(realtime streaming protocol)或mms(microsoft media server),这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容;而顺序流式传输与防火墙无关。
3 流媒体传输质量的控制
3.1 智能(intelligence and ability)流技术
系统能够自动检测网络状况并将视、音频流的属性调整到最佳,使用户收到与其连接速度相符的媒体流。智能流技术的实质是通过c/s应用层的速率反馈机制探测网络带宽变化,利用媒体流的多速率层次编码能力,在服务器端动态的调节媒体流的传输速率,以保证用户在网络带宽变化条件下仍能收到质量较好的媒体流。
3.2 分流(splitting)技术
分流技术一般只在作网络直播时使用。发送服务器通过udp单播、udp组播等方式将直播媒体流发送到分布在各地的多个接收服务器,客户端可以就近访问服务器获得较高质量的媒体流,同时减少带宽使用。发送服务器与接收服务器之间由高速链路连接。
3.3 内容分发网络(cdn)技术
cdn是近几年才发展起来的新技术,它作为基础ip网络之上的一个内容叠加网,通过引入主动内容管理、全局负载均衡和内容缓存等技术,可以将用户请求的流媒体内容发布到距离用户最近的网络边缘,从而提高用户访问的响应速度,并有效解决网络拥塞,最大限度的减轻骨干网络流量。
3.4 缓存(caching)技术
互联网是以断续的异步包传输为基础,一个实时媒体流或媒体文件在传输中将被分成多个包传输。由于网络的延时、抖动等因素,包到达客户端的顺序和延迟可能不一样,可能出现先发的包后到的情况,因此需要缓存系统来弥补网络延迟和抖动的影响,以保证数据包的顺序正确以及不会因为网络暂时拥塞而出现播放停顿的现象。缓存技术一般采用环形链表结构存储数据,丢弃已发送或已播放内容并利用空出的空间存储将要发送或将要播放的内容,所以一般缓存不会很大。
4.1 服务器端产品
服务器端软件产品主要有microsoft公司的windows mediaservers服务器组件、realnetworks公司的real server和apple公司的quicktime streaming server等。这些软件的作用是提供流式多媒体信息的发布和管理平台。
4.2 制作端产品
制作端软件产品主要有microsoft公司的windows mediaservers工具组件、realnetworks公司的realproducer和apple公司的quicktime等。这些软件的作用是将普通格式的音频、视频或动画媒体文件通过压缩转换为能进行流式传输的流格式文件。
4.3 客户端播放器
客户端播放器软件产品主要有microsoft公司的windowsmedia player、realnetworks公司的real player和apple公司的quicktime等。这些软件通常既可以独立运行,也能作为插件在浏览器中运行。
5 流媒体技术的应用
internet的不断发展决定了流媒体应用广阔的市场前景。流媒体技术及其相关产品将广泛用于远程教育、网络电台、视频点播、收费播放等。流媒体技术在企业一级的可能应用包括电子商务、远程培训、视频会议、客户支持等。下面对一些主要的流媒体应用作简要的介绍。
5.1 视频播出(streaming video)
娱乐是流媒体的重要应用场合。用摄像机或其它装置获得视频信号后,就可以通过站点进行基于internet的现场直播;或者保存为流媒体格式的文件,以供按需播放。需要在一台较高配置的pc机或服务器上安装上普通视频采集卡和声卡,然后通过视频采集卡输入视频和通过声卡输入声音信号就可以用实时编码工具来进行直播或录制成流媒体文件。在这种应用中可加入一定的计费手段,从而能够提供有偿多媒体内容服务。
5.2 远程教学(remote seminar)
远程教学将为更多的人提供接受教育的机会。教学者事先在internet/intranet上发出通知,听众在讲座开始前访问某个url地址,当讲座开始时,听众可以看到演讲者的演讲画面并听到他的声音。整个讲座也可以媒体文件的形式记录下来,用于以后按需播放。教学者事先把媒体文件传给远程教学服务器,当听众需要听讲座时,同样访问相应的url地址,请求获取服务器中的媒体内容。媒体数据通过流式传输下载到用户的浏览器高速缓存中,由媒体播放器实时回放。
5.3 视频会议(video conference)
视频会议和远程教学有很多类似之处,但它对实时性的要求更高。在一个视频会议中,各个会议点用音/视频采集设备得到多媒体内容信息,经过数字化后用某种压缩方法进行压缩。压缩数据可以通过网络直接在各个会议点之间组播,或传到多点处理器(mp)经过合成或转换后再向各与会点组播。但不管采用哪种方式,都需要保证以尽量小的时延在各个点进行回放,这正是流媒体技术发挥作用的地方。
参考文献
[1]白煜,辛向晖.新东方it教育,教材研发室,windows media与real网络流媒体案例教程[m].北京:清华大学出版社,2004.
[2]唐天虹,冯宝坤,胡晓鹏.实战流媒体[m].北京:科学出版社,2003.
[3]车军. 基于p2p的流媒体技术研究[j]. 计算机与信息技术, 2007,(09).
[4]王恒,林玲,钟宝荣. 基于p2p的流媒体技术[j]. 电脑知识与技术(学术交流), 2007,(02).
[5]陈大伟,张栋. 混合p2p网络模型研究与设计[j]. 计算机与信息技术, 2006,(09).
关键词:流媒体;相关技术;应用
1 流媒体概述
音/视频(a/v)等多媒体信息是在时间上展开的数据流,具有数据量大和实时等特点。要在多媒体终端(如pc)上再现或回放多媒体信息,获得平滑的多媒体数据流非常重要。当用户通过下载方式将网络中服务器的数据保存至本地终端dsm(数字存储媒质,如计算机硬盘)后,通过数据总线在dsm和内存之间进行传输不难实现。但采用下载方式,用户必须考虑两个因素:对客户端的存储需求和播放启动延时。因为a/v文件一般都较大,需要很大的存储容量;而且由于网络带宽的限制,下载需要花费较长的时间。
流媒体技术解决的问题就是:采用流式传输方式直接从网络上得到平滑的数据流,无须首先把多媒体数据下载到本地终端在采用流式传输的系统中,声音、影像、动画等信息从网络中音视频服务器向用户终端(如pc、pda等)连续、实时传送,用户不必象下载方式那样等到整个文件全部下载完毕,只需经过短暂的启动延时(缓冲)即可在用户的计算机上通过解压设备(硬件或软件)解压后进行回放,数据的剩余部分在后台继续从服务器下载这种对多媒体数据边下载边回放的方式不仅使启动延时缩短,而且不需要本地终端有太大的存储容量。
2 流媒体的传输方式
2.1 顺序流式传输
即在给定时刻,用户只能观看已下载的部分,而不能跳过还未下载的部分,它不像实时流式传输那样在传输期间根据用户连接的速度进行调整。由于文件在播放前观看的部分是无损下载的,顺序流式传输方式适合高质量的短片段,如片头、片尾和广告,不适合长片段和有随机访问要求的视频、讲座、演说与演示,也不支持现场广播。严格说来,它是一种点播技术。
2.2 实时流式传输
是指媒体传输时信息带宽能自动动态适应网络带宽,保证媒体信号带宽与网络连接相匹配,使媒体可被实时观看到。它与顺序流式传输不同,需要专用的流媒体服务器与传输协议。实时流式传输适合现场事件,也支持随机访问,用户可快进或后退观看前面或后面的内容。理论上,实时流一经播放就可不停地收看,但实际上,可能会发生周期暂停。
2.3 二者的比较
(1)从视频质量上讲,实时流式传输必须匹配连接带宽,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量会下降;如欲保证视频质量,顺序流式传输更好。
(2)实时流式传输需要特定的服务器,如quicktime streamingserver、real server与windows media server,这些服务器允许对媒体发送进行更多级别的控制,因而系统设置、管理比标http服务器更复杂。
(3)实时流式传输还需要特殊的网络协议,如:rtsp(realtime streaming protocol)或mms(microsoft media server),这些协议在有防火墙时有时会出现问题,导致用户不能看到一些地点的实时内容;而顺序流式传输与防火墙无关。
3 流媒体传输质量的控制
3.1 智能(intelligence and ability)流技术
系统能够自动检测网络状况并将视、音频流的属性调整到最佳,使用户收到与其连接速度相符的媒体流。智能流技术的实质是通过c/s应用层的速率反馈机制探测网络带宽变化,利用媒体流的多速率层次编码能力,在服务器端动态的调节媒体流的传输速率,以保证用户在网络带宽变化条件下仍能收到质量较好的媒体流。
3.2 分流(splitting)技术
分流技术一般只在作网络直播时使用。发送服务器通过udp单播、udp组播等方式将直播媒体流发送到分布在各地的多个接收服务器,客户端可以就近访问服务器获得较高质量的媒体流,同时减少带宽使用。发送服务器与接收服务器之间由高速链路连接。
3.3 内容分发网络(cdn)技术
cdn是近几年才发展起来的新技术,它作为基础ip网络之上的一个内容叠加网,通过引入主动内容管理、全局负载均衡和内容缓存等技术,可以将用户请求的流媒体内容发布到距离用户最近的网络边缘,从而提高用户访问的响应速度,并有效解决网络拥塞,最大限度的减轻骨干网络流量。
3.4 缓存(caching)技术
互联网是以断续的异步包传输为基础,一个实时媒体流或媒体文件在传输中将被分成多个包传输。由于网络的延时、抖动等因素,包到达客户端的顺序和延迟可能不一样,可能出现先发的包后到的情况,因此需要缓存系统来弥补网络延迟和抖动的影响,以保证数据包的顺序正确以及不会因为网络暂时拥塞而出现播放停顿的现象。缓存技术一般采用环形链表结构存储数据,丢弃已发送或已播放内容并利用空出的空间存储将要发送或将要播放的内容,所以一般缓存不会很大。
4 流媒体系统组成结构
4.1 服务器端产品
服务器端软件产品主要有microsoft公司的windows mediaservers服务器组件、realnetworks公司的real server和apple公司的quicktime streaming server等。这些软件的作用是提供流式多媒体信息的发布和管理平台。
4.2 制作端产品
制作端软件产品主要有microsoft公司的windows mediaservers工具组件、realnetworks公司的realproducer和apple公司的quicktime等。这些软件的作用是将普通格式的音频、视频或动画媒体文件通过压缩转换为能进行流式传输的流格式文件。
4.3 客户端播放器
客户端播放器软件产品主要有microsoft公司的windowsmedia player、realnetworks公司的real player和apple公司的quicktime等。这些软件通常既可以独立运行,也能作为插件在浏览器中运行。
5 流媒体技术的应用
internet的不断发展决定了流媒体应用广阔的市场前景。流媒体技术及其相关产品将广泛用于远程教育、网络电台、视频点播、收费播放等。流媒体技术在企业一级的可能应用包括电子商务、远程培训、视频会议、客户支持等。下面对一些主要的流媒体应用作简要的介绍。
5.1 视频播出(streaming video)
娱乐是流媒体的重要应用场合。用摄像机或其它装置获得视频信号后,就可以通过站点进行基于internet的现场直播;或者保存为流媒体格式的文件,以供按需播放。需要在一台较高配置的pc机或服务器上安装上普通视频采集卡和声卡,然后通过视频采集卡输入视频和通过声卡输入声音信号就可以用实时编码工具来进行直播或录制成流媒体文件。在这种应用中可加入一定的计费手段,从而能够提供有偿多媒体内容服务。
5.2 远程教学(remote seminar)
远程教学将为更多的人提供接受教育的机会。教学者事先在internet/intranet上发出通知,听众在讲座开始前访问某个url地址,当讲座开始时,听众可以看到演讲者的演讲画面并听到他的声音。整个讲座也可以媒体文件的形式记录下来,用于以后按需播放。教学者事先把媒体文件传给远程教学服务器,当听众需要听讲座时,同样访问相应的url地址,请求获取服务器中的媒体内容。媒体数据通过流式传输下载到用户的浏览器高速缓存中,由媒体播放器实时回放。
5.3 视频会议(video conference)
视频会议和远程教学有很多类似之处,但它对实时性的要求更高。在一个视频会议中,各个会议点用音/视频采集设备得到多媒体内容信息,经过数字化后用某种压缩方法进行压缩。压缩数据可以通过网络直接在各个会议点之间组播,或传到多点处理器(mp)经过合成或转换后再向各与会点组播。但不管采用哪种方式,都需要保证以尽量小的时延在各个点进行回放,这正是流媒体技术发挥作用的地方。
参考文献
[1]白煜,辛向晖.新东方it教育,教材研发室,windows media与real网络流媒体案例教程[m].北京:清华大学出版社,2004.
[2]唐天虹,冯宝坤,胡晓鹏.实战流媒体[m].北京:科学出版社,2003.
[3]车军. 基于p2p的流媒体技术研究[j]. 计算机与信息技术, 2007,(09).
[4]王恒,林玲,钟宝荣. 基于p2p的流媒体技术[j]. 电脑知识与技术(学术交流), 2007,(02).
[5]陈大伟,张栋. 混合p2p网络模型研究与设计[j]. 计算机与信息技术, 2006,(09).
上一篇:计算机网络安全问题研究
下一篇:网络伦理建设管窥