多媒体网络

  流式存储音频和视频的典型访问过程如下:

  1. 用户点击多媒体链接,该超链接并非直接指向音频或视频文件,而是指向一个元文件,该元文件包含实际音频的URL。封装该元文件的HTTP报文包括该音频的格式信息等
  2. 客户机分析HTTP报文,根据流媒体的格式及类型调用相应的媒体播放器,并将元文件传递给播放器
  3. 播放器与HTTP服务器指定的流式服务器建立TCP连接,并向其发送请求报文,最终完成数据交换,媒体播放器便可以开始播放该音频或视频了

  对于这些时延敏感的应用,丢包、端到端时延、分组时延抖动都为其开发者带来巨大挑战。丢包和端到端时延很好理解,只简单说一下分组时延抖动。由于网络中的各种影响时延的因素是时刻变化的(路由器处理、排队、发送、传播等),分组从源产生到它在接收方被收到的时间对于不同分组可能会有波动,这个现象叫做时延抖动。尤其对于实时音频应用而言,较大的时延抖动会直接导致接收方无法理解收到的信息。

  为了应对时延抖动,人们引入了序号+时间戳+延迟播放的工作流程。其中延迟播放意味着为了确保大部分有效数据块能在预定播放时间前到达接收方而有意推迟整个流媒体文件的播放时间,播放时延可以是固定的,也可以是自适应的,在自适应的方案中会用到诸如网络时延平滑均值、时延绝对偏差、偏移等数据来时时更新播放时延。

  另外值得一提的是为应对丢包事件而生的前向纠错方案(FEC)。FEC的基本思想是给初始分组流中增加冗余信息,通常是发送一个较低分辨率的音频流作为冗余信息。即使在传输过程中出现了丢包,接收方已然可以利用这些冗余信息重构出一个由高质量块组成、偶尔出现低质量块的音频,整体的音频质量良好。

 

  针对开篇提到的流媒体访问过程,其实现在还有一种称为内容分发网络(CDN)的体系结构用于优化用户访问流媒体的过程,CDN的原理和高速缓存服务器是一样的,其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。结构如图:

(看到两篇对CDN不错的介绍,我就不献丑了~)

参考资料:

1.http://kb.cnblogs.com/page/121664/

2.http://baike.baidu.com/view/8689800.htm?fromId=21895

posted @ 2013-04-27 22:13  chrisya0  阅读(242)  评论(0编辑  收藏  举报