尽管HTTP流在实践中已经得到广泛部署(例如,自YouTube发展初期开始),但它具有严重缺陷,即所有客户接收到相同编码的视频,尽管对不同的客户或者对于相同客户的不同时间而言,客户可用的带宽大小有很大不同。因此,DASH协议出现了:
DASH:Dynamic Adaptive Streaming over HTTP,在DASH中,视频编码为几个不同的版本,其中每个版本具有不同的比特率,对应于不同的质量水平。客户动态地请求来自不同版本且长度为几秒的视频段数据块。(网速好,请求质量高的视频,网速差,请求质量差的视频)
使用DASH后,每个视频版本存储在HTTP服务器中,每个版本都有一个不同的 URL。HTTP服务器也有一个告示文件(manifest file),为每个版本提供了一个URL及其 比特率。
首先,如果客户远离数据中心,服务器到客户的分组将跨越许多通信链路并很可能通过许多ISP,其中某些ISP可能位于不同的大洲。如果这些链路之一提供的吞吐量小于视频消耗速率,端到端吞吐量也将小于该消耗速率,给用户带来恼人的停滞时延。
为了应对向分布于全世界的用户分发巨量视频数据的挑战,几乎所有主要的视频流公 司都利用内容分发网(Content Distribution Network, CDN)
大多数CDN利用DNS来截获和重定向请求;
具体步骤: