Bonky Zhu
If someone is able to show me that what I think or do is not right, I will happily change, for I seek the truth, by which no one was ever truly harmed. It is the person who continues in his self-deception and ignorance who is harmed.

计算机网络 – 音频/视频服务

概念

因特网是非等时的

模拟的多媒体信号经过采样和模数转换变为数字信号, 再组装成分组。 这些分组的发送速率是恒定的 (等时的)。传统的因特网本身是非等时的。 因此经过因特网的分组变成了非恒定速率的分组。

image-20191113213221167

在接收端设置缓存

接收端需设置适当大小的缓存。当缓存中的分组数达到一定的数量后再以恒定速率按顺序把分组读出进行还原播放。缓存使所有到达的分组都经受了迟延。

image-20191113220523881

下图发送端一连发送 6 个等时的分组。如果网络没有时延,那么到达的分组数随时间的变化就如图中最左边的阶梯状的曲线所示。但实际的网络的到达间隔非等时的,这就使得分组到达的阶梯状曲线向右移动,并且变成不均匀的。

下图中,在两个不同的开始播放时刻。红色表示在播放时刻对应的分组已经在缓存中,而绿色表示在播放时刻对应的分组尚未到达。可以看出,即使推迟了播放时间,也还有可能有某个迟到分组赶不上播放。如果再推退播放时间,则所有的 6 个分组都不会错过播放,但这样做的时延会较大。

image-20191113232443091

抖动和延迟

什么是延迟?

延迟是网络传输中的一个重要指标,它测量了数据从一个端点传输到另一个端点所需的时间。在网络传输中,延迟通常是以毫秒为单位的,并且会因为多种因素而发生变化,包括端点的位置、数据包的大小和流量大小。

导致延迟的原因?

延迟可以理解为四个关键延迟成分的集合:处理延迟、排队延迟、传输延迟和传播延迟。

延迟的影响是什么?

延迟主要影响用户体验。在严格的音频通话中,当延迟达到150毫秒,延迟会变得很明显并影响用户体验。在严格的视频通话中,延迟达到400毫秒就很容易被用户感知。如果将音频和视频两种通话的功能结合在一起,音频和视频的通话应该保持同步,并保证低于150毫秒的延迟以保障用户体验。然而,一般来说,保持尽可能低的延迟是很重要的。国际电信联盟ITU建议网络延迟应该保持在100毫秒以下。

什么是抖动?

在网络上连续传输的数据包,即使选择相同的路径可能也会有不同的延迟。每个数据包之间的这种延迟的差异被称为抖动。

抖动有什么影响?

  1. 数据包丢失 - 当数据包到达时间不一致时,接收端点必须进行时间补偿并尝试纠错。在某些情况下,接收端没办法进行合适的纠错,导致数据包丢失。对最终用户体验来说,有多种表现形式。例如,如果一个用户正在观看视频,而视频突然出现马赛克,这就是一个网络抖动的迹象。
  2. 网络拥塞 - 网络拥塞发生在传输网络上。网络设备在接受数据后,由于无法发送同等数量的数据,导致数据包缓冲区过满,就开始丢弃数据包。如果在网络中的端点没有遇到网络扰动,那么每个数据包都会到达。但是,如果端点的缓冲区满了,数据包的到达时间就会越来越迟,从而导致抖动。这被称为早期拥塞。通过监测抖动,可以观察到早期拥塞。类似地,如果出现网络拥塞,那么表明抖动也在迅速改变。

当网络设备开始丢弃数据包,导致端点没有接收到数据包时,就会发生拥塞。端点可能会请求丢包重传,这会导致网络崩溃式的网络拥塞。

关于拥塞,需要注意的是,端点不会直接引起拥塞,同时也不会丢弃数据包。就像高速公路两端的送货方A和收货方B,拥堵不是收货方B造成的,因为它只是没有足够的停车位。拥堵是由送货方A造成的,因为它不断地运送货物到没有足够停车位的收货方B处。

如何补偿抖动?

为了弥补抖动,在接收端点使用抖动缓冲。抖动缓冲区收集并存储传入的数据包,以便确定何时以相同的时间间隔发送它们(接收端会反馈给发送端)。

  • 静态抖动缓冲 - 静态抖动缓冲是在系统的硬件中实现的,通常由制造商配置。
  • 动态抖动缓冲 - 动态抖动缓冲是在系统的软件中实现的,由网络管理员配置。可以根据网络的变化进行调整。

播放延迟

播放延迟是指数据包到达后直到渲染播放的时间。当抖动缓冲区存储传入的数据包,并等待以均匀的时间间隔分发它们(给渲染缓冲区)时,会增加数据包到达和渲染播放的时间,也称为播放延迟。这个延迟是由抖动缓冲区引入的,因为它负责指示新到达的数据包何时被分发(到渲染缓冲区)。

流媒体

元文件

屏幕快照 2019-11-14 下午4.47.55

  1. Œ 浏览器用户使用 HTTP 的 GET 报文接入到万维网服务器。这个超链指向一个元文件。这个元文件有实际的音频/视频文件的统一资源定位符 URL。
  2.  万维网服务器把该元文件装入 HTTP 响应报文的主体,发回给浏览器。
  3. Ž 客户机浏览器调用相关的媒体播放器,把提取出的元文件传送给 媒体播放器。
  4.  媒体播放器使用元文件中的 URL ,向万维网服务器发送 HTTP 请求报文,要求下载音频/视频文件。
  5.  万维网服务器发送 HTTP 响应报文,把该音频/视频文件发送给媒体播放器。媒体播放器边下载边解压缩边播放。

媒体服务器

媒体服务器也称为流式服务器(streaming server) ,它支持流式音频和视频的传送。

image-20191114165815627

实时流式协议 RTSP (Real-Time Streaming Protocol)

RTSP 协议以客户服务器方式工作,它是一个多媒体播放控制协议,用来使用户在播放从因特网下载的实时数据时能够进行控制,如:暂停/继续、后退、前进等。因此 RTSP 又称为“因特网录像机遥控协议”。

image-20191114225303875

Œ

(1) 浏览器向万维网服务器请求音频/视频文件。  (2) 万维网服务器从浏览器发送携带有元文件的响应。 Ž (3) 浏览器把收到的元文件传送给媒体播放器。  (4) RTSP 客户与媒体服务器的 RTSP 服务器建立连接。  (5) RTSP 服务器发送响应 RESPONSE 报文。 ‘ (6) RTSP 客户发送 PLAY 报文,开始下载音频/视频文件。 ’(7) RTSP 服务器发送响应 RESPONSE 报文。 “ (8) RTSP 客户发送 TEARDOWN 报文断开连接。 ” (9) RTSP 服务器发送响应 RESPONSE 报文。

Share

You may also like...

发表评论