ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 7.2 流式储存视频 三种形式: * UDP流(UDP Streaming) * HTTP流(HTTP Streaming) * 适应性HTTP流(Adaptive HTTP Streaming) 三种形式均使用客户缓存(Client Buffer),用于吸收服务器到客户时延的波动,以及当服务器到客户端带宽暂时低于视频消耗速率时,让用户能够继续享受连续播放。 ### 7.2.1 UDP流 用户通过UDP以一种稳定速率记录下视频,应用层协议为实时传输协议(Real-Time Transport Protocol,RTP),除视频流外还维护一个控制连接。 ### 7.2.2 HTTP流 客户和服务器建立TCP连接,通过HTTP获取视频数据。 * 预期(Prefetching):客户尝试用高于视频消耗的速率下载。 * 客户应用缓存和TCP缓存:缓存部分视频数据。 * 流式视频的分析。 * 视频的早期中止和重定位:通过HTTP字节范围首部(HTTP Type Range Header)指示客户当前希望从视频中获取的字节范围。 ![](https://img.kancloud.cn/b0/0b/b00bb661433caaf59bb15d53fcb48573_594x298.png) ### 7.2.3 适应性流和DASH HTTP流的缺陷:所有客户接受到相同编码的视频。 经HTTP的动态适应流(Dynamic Adaptive Streaming Over HTTP,DASH)将视频编码为几种不同版本,每个版本具有不同比特率,每个视频版本存储在HTTP服务器中,每一个拥有不同URL。 * 允许客户使用不同的以太网接入速率流式播放具有不同编码速率的视频。 * 端到端带宽在会话中改变的话,允许客户适应可用带宽。 告示文件(Manifest File):为每个版本提供URL及其比特率。 客户下载当前文件块时会测量接受带宽,并使用速率决策算法计算下次请求块。 ### 7.2.4 内容分发网 建立单一规模数据中心的问题: * 受限物理距离和ISP带宽。 * 热点数据多次传输,占用大量带宽。 * 单点故障问题。 内容分发网(Content Distribution Network,CDN)分为专用CDN(Private CDN)和第三方(Third-party CDN)。 CDN的两种服务器安置原则: * 深入,在遍及全球的ISP中部署服务器集群。 * 邀请作客,通过在少量位置建立大集群并用专用网络连接到ISP。 **CDN操作**需要截取用户请求(一般通过DNS),以便: * 确定适用的CDN集群。 * 将请求重定向到集群中某台服务器。 ![](https://img.kancloud.cn/3d/d0/3dd0a135ac18860c97199bbeb226c663_455x354.png) **集群选择策略** 集群选择策略(Cluster Selection Strategy):动态第将客户定向到CDN中服务器集群或数据中心的机制。 * 地理上最为邻近(Geographically Closet) * 基于当前流量条件决定:实时测量(Real-time Measurement) ### 7.2.5 学习案例:Netflix、Youtube和“看看” **Netflix** 在线电影和TV节目服务商,拥有四块组件: * 注册和支付服务器:有Netflix维护。 * 亚马逊云:在线服务。 * 内容摄取:用户分发某电影。 * 内容处理:将电影制成不同格式。 * 向CDN上载版本。 * 多个CDN:三家CDN供应商。 * 客户。 **Youtube** 视频共享站点,谷歌不应用第三方CDN,均为私有CDN。HTTP流式,而非适应性流。 **”看看“** Netflix、Youtube为CS体系,需要支付服务器费用和带宽费用,而“看看”为P2P体系。