计算机网络:因特网上的视频音频服务
8.1、概述
计算机网络最初是为传送数据信息设计的。因特网 IP 层提供的“尽最大努力交付”服务,以及每一个分组独立交付的策略,对传送数据信息也是很合适的。
因特网使用的 TCP 协议可以很好地解决网络不能提供可靠交付这一问题。
多媒体信息的特点
多媒体信息(包括声音和图像信息)与不包括声音和图像的数据信息有很大的区别。
多媒体信息的信息量往往很大。
在传输多媒体数据时,对时延和时延抖动均有较高的要求。
多媒体数据往往是实时数据(real time data),它的含义是:在发送实时数据的同时,在接收端边接收边播放。
因特网是非等时的
模拟的多媒体信号经过采样和模数转换变为数字信号,再组装成分组。这些分组的发送速率是恒定的(等时的)。
传统的因特网本身是非等时的。因此经过因特网的分组变成了非恒定速率的分组。
在接收端设置缓存
缓存使所有到达的分组都经受了迟延。
早到达的分组在缓存中停留的时间较长,而晚到达的分组在缓存中停留的时间则较短。
以非恒定速率到达的分组,经过缓存后再以恒定速率读出,就能够在一定程度上消除了时延的抖动。但我们付出的代价是增加了时延。
需要解决的问题
由于分组的到达可能不按序,但将分组还原和播放时又应当是按序的。因此在发送多媒体分组时还应当给每一个分组加上序号。这表明还应当有相应的协议支持才行。
要使接收端能够将节目中本来就存在的正常的短时间停顿(如音乐中停顿几拍)和因某些分组的较大迟延造成的“停顿”区分开来。这就需要增加一个时间戳(timestamp),以便告诉接收端应当在什么时间播放哪个分组。
必须改造现有的因特网
大量使用光缆和高速路由器,网络的时延和时延抖动就可以足够小,在因特网上传送实时数据就不会有问题。
把因特网改造为能够对端到端的带宽实现预留(reservation),把使用无连接协议的因特网转变为面向连接的网络。
部分改动因特网的协议栈所付出的代价较小,而这也能够使多媒体信息在因特网上的传输质量得到改进。
在 Internet 上传输音频视频面临哪些问题?
- 音频视频 要求占用的带宽高、网速恒定、延迟低
- 数据信息 对带宽、网速是否恒定、延迟要求不高
延迟对于非交互式的音频视频影响不大,因为在播放前有播放延迟
带宽不稳定可以同时视频的缓存弥补带宽不稳定造成的播放不连续
也就是并不是你视频下载到哪,就播放到哪,而是先缓存一部分,播放那些已经有序缓存好的音频视频。
8.2、流式存储音频/视频
因特网提供的音频/视频服务大体上可分为三种类型:
1、流式存储音频/视频——边下载边播放
- 节省客户端硬盘空间,不用下载
- 保护视频版权
- “边下载边播放”结束后,在用户的硬盘上没有留下有关播放内容的任何痕迹。
2、流式实况音频/视频——边录制边发送
- 通过网络,现场直播
3、交互式音频/视频——实时交互式通信
流媒体特点就是“边下载边播放” (streaming and playing) 。
流媒体(streaming media),即流式音频 / 视频。
流媒体服务器:视频的分发点
媒体服务器
媒体服务器也称为流式服务器(streaming server) ,它支持流式音频和视频的传送。
媒体播放器与媒体服务器的关系是客户与服务器的关系。
媒体播放器不是向万维网服务器而是向媒体服务器请求音频/视频文件。
媒体服务器和媒体播放器之间采用另外的协议进行交互。
传统的下载文件方法
元文件就是一种非常小的文件,它描述或指明其他文件的一些重要信息。
8.3、IP 电话
狭义的 IP 电话就是指在 IP 网络上打电话。所谓“IP 网络”就是“使用 IP 协议的分组交换网”的简称。
广义的 IP 电话则不仅仅是电话通信,而且还可以是在IP网络上进行交互式多媒体实时通信(包括话音、视像等),甚至还包括即时传信IM (Instant Messaging)。
IP 电话网关的几种连接方法
IP 电话通话质量
IP 电话的通话质量主要由两个因素决定。一个是通话双方端到端的时延和时延抖动,另一个是话音分组的丢失率。但这两个因素是不确定的,是取决于当时网络上的通信量。
经验证明,在电话交谈中,端到端的时延不应超过 250 ms,否则交谈者就能感到不自然。
改进“尽最大努力交付”的服务
服务质量 QoS
是服务性能的总效果,此效果决定了一个用户对服务的满意程度。因此在最简单的意义上,有服务质量的服务就是能够满足用户的应用需求的服务。
服务质量可用若干基本的性能指标来描述,包括可用性、差错率、响应时间、吞吐量、分组丢失率、连接建立时间、故障检测和改正时间等。服务提供者可向其用户保证某一种等级的服务质量。
主机 H1 和 H2 分别向主机 H3 和 H4 发送数据
“调度”就是指排队的规则。
如不采用专门的调度机制,则默认排队规则就是先进先出 FIFO (First In First Out)。当队列已满时,后到达的分组就被丢弃。
先进先出的最大缺点就是不能区分时间敏感分组和一般数据分组,并且也不公平。
在先进先出的基础上增加按优先级排队,就能使优先级高的分组优先得到服务。