Internet上的音频/视频概述
- 计算机网络最初是为传送数据信息设计的。因特网 IP 层提供的“尽最大努力交付”服务,以及每一个分组独立交付的策略,对传送数据信息也是很合适的。
- 因特网使用的 TCP 协议可以很好地解决网络不能提供可靠交付这一问题。
1.1.多媒体信息的特点
- 多媒体信息(包括声音和图像信息)与不包括声音和图像的数据信息有很大的区别。
- 音频视频:占用的带宽高,要求网速恒定,延迟低。多媒体数据往往是实时数据,要求在发送数据的同时,在接收端边接收边播放。
- 数据信息:对带宽和延迟要求不高,也不要求网速是否恒定。
1.2.延迟的种类
- 发送延迟:计算机中的数据包从开始发送到离开网卡所用的时间。
- 传播延迟:数据包从出网卡到路由器所用的时间。
- 排队延迟:数据包在路由器的接口处排队等待处理所用的时间。
- 处理延迟:路由器在处理数据包时选择最佳路径所用时间。
除此之外还有后面所讲的播放延迟。
1.3.因特网是非等时的
- 模拟的多媒体信号经过采样和模数转换变为数字信号,再组装成分组。这些分组的发送速率是恒定的(等时的)。
- 传统的因特网本身是非等时的。因此经过因特网的分组变成了非恒定速率的分组。
1.4.在接收端设置缓存
- 接收端需设置适当大小的缓存。当缓存中的分组数达到一定的数量后再以恒定速率按顺序把分组读出进行还原播放。
- 缓存实际上就是一个先进先出的队列。图中标明的 T 叫做播放时延。
1.5.缓存的影响
- 缓存使所有到达的分组都经受了迟延。
- 早到达的分组在缓存中停留的时间较长,而晚到达的分组在缓存中停留的时间则较短。
- 以非恒定速率到达的分组,经过缓存后再以恒定速率读出,就能够在一定程度上消除了时延的抖动。但我们付出的代价是增加了时延。
1.6.举例
互联网上的带宽不稳定,是波动的。由于存在拥塞控制机制,当网络出现拥塞时会降低传输速度,导致网速不恒定。但是如果我们想要看电影,就要求网速要恒定才能流畅地看电影。如果网速不恒定,当网络卡顿时,电影数据不能及时传输到用户处导致电影停止播放。
-
解决这个问题的方法为在用户播放器处设疑一个缓存,当媒体服务器上的电影等多媒体数据通过Internet传输到用户处时,先把这些数据放入缓存中,出现卡顿时没有数据传输过来也没关系,等网络通畅,数据到了继续按顺序放入缓存。
-
随后,用户上的播放器从缓存中均匀地读数据,保证电影按规定的恒定速率播放。这样即使有的数据一时没有传输过来也没关系,因为缓存还没有读取完,只要在播放器读取完缓存前数据能传输过来补充缓存,电影就能正常播放。
-
所以,视频流传输到用户处并不是立即播放,而是先放入缓存里排队,然后用户的视频播放软件才会从缓存里面取数据,这样就能保证速度均匀了。
-
在客户端设置的缓存还能弥补数据包没有按顺序到达的问题。由于存在缓存,不连续的数据包可以等待缺失的数据包到达后组成连续的数据一起被读取。
在客户端处设置一个缓存,播放时有一个等待时间称为播放时延。这样就能弥补网速不恒定的问题,缺点是增加了等待时间。这就是为什么我们在看视频的时候会有缓存条,视频文件并不会马上播放,而是先缓存再播放。
1.7.在Internet上传输音频视频需要解决的问题
- 在传送时延敏感(delay sensitive)的实时数据时,不仅传输时延不能太大,而且时延抖动也必须受到限制。
- 对于传送实时数据,很少量分组的丢失对播放效果的影响并不大(因为这是由人来进行主观评价的),因而是可以容忍的。丢失容忍(loss tolerant)也是实时数据的另一个重要特点。
- 由于分组的到达可能不按序,但将分组还原和播放时又应当是按序的。因此在发送多媒体分组时还应当给每一个分组加上序号。这表明还应当有相应的协议支持才行。
- 要使接收端能够将节目中本来就存在的正常的短时间停顿(如音乐中停顿几拍)和因某些分组的较大迟延造成的“停顿”区分开来。这就需要增加一个时间戳(timestamp),以便告诉接收端应当在什么时间播放哪个分组。
1.8.因特网提供的三种音频/视频服务
-
流式(streaming)存储音频/视频 ——边下载边播放。
流媒体(streaming media),即流式音频/视频。流媒体特点就是“边下载边播放” (streaming and playing) 。
如图,流媒体服务器上已经存储了视频文件,客户端只需要点播这个视频,该视频就会从流媒体服务器上传输过来。客户端一边下载一边播放,播放时还能快进倒退和本地视频一样。
这种方式的好处是:(1)节省用户硬盘空间。“边下载边播放”结束后,用户的硬盘上不会留下有关播放内容的任何痕迹。(2)除此之外,还有利于保护版权。即流媒体服务器上的视频客户端只能在线播放,不能下载和传播。其实,现在很多网站上的视频都是只能在线播放而不能下载,因为视频是加密的,这也是一种版权保护。
-
流式实况音频/视频 ——边录制边发送 ,即现场直播。
比如球赛的现场直播:
如图,有一摄像机在录制球赛,摄像机接在一台计算机上,计算机上安装一个编码软件,负责把录制的音频视频编码成适合不同设备的分辨率和格式。计算机再连接一个流媒体服务器,流媒体服务器接交换机或其他网络设备,交换机再连接很多的计算机。这些计算机通过网络访问流媒体服务器来观看直播,流媒体服务器上的视频源来自计算机,计算机的视频源来自摄像机,通过这样一级一级的连接实现球赛直播。
- 交互式音频/视频——实时交互式通信。比如QQ视频聊天。