跳转至

视频流和内容分发网

概述

本文简单记录了互联网中的视频流技术以及使用CDN技术来提高视频的分发效率

简介

本文主要介绍因特网中的视频以及如何实现流行的视频流服务的。

因特网视频是预先录制的视频,视频本质上是一系列图像,以恒定速率(每秒25张)来展示。每一张图像由像素点组成,每个像素点由一些比特编码来表示不同的颜色和亮度。

视频流

视频流是一种通过网络实时传输视频内容的技术,无需下载完整的视频文件。

主要可以分为两种类型:

  • 实时流媒体:实时播放视频流内容,通常用于直播场景
  • 点播流媒体:用户随时请求任意视频内容,这类内容通常已经存储在服务器中

常见的视频流协议有:

  • HLS(HTTP Live Streaming):由 Apple 提出,基于 HTTP 协议,视频内容会被分割成多个小片段,播放过程可以根据网络状况自适应调整视频质量
  • DASH(Dynamic Adaptive Streaming over HTTP,HTTP的动态适应性流):由 MPEG 标准化组织提出,类似于 HLS。DASH 也将视频分成多个小片段,并且有一个告知文件(manifest file)为视频的每一个版本提供一个 URL 以及比特率。用户可以根据其网络速率请求不同质量的视频片段

注:HTTP 流并不属于视频流协议之一,其更多表示为:通过 HTTP 协议进行视频传输的一种方式。

内容分发网

CDN(Content Delivery Network,内容分发网)是一种通过在全球部署大量服务节点,利用最靠近每位用户的节点,更快、更可靠的将内容发送给用户的一种技术。

目前,几乎所有的大型流媒体应用/平台(Netflix、YouTube)都采用 CDN 来分发它们的流媒体内容。

CDN 节点的安置策略主要分为以下两种:

  • 深入:在遍及全球的接入 ISP 中部署服务器集群来深入到ISP的接入网中

  • 邀请做客:通过在少量的关键位置(通常是 IXP )部署集群

CDN 如何知道哪个集群服务器离你最近呢?以此来给你提供最快的服务。

该任务的核心是集群选择策略,即动态的将客户定向到 CDN 中的某个服务器集群或数据中心的机制,主要分为以下两种:

  • 指派客户到地理位置最为邻近的集群:对于进入的 LDNS,使用商用地理位置数据库查找该 LDNS 的 IP,然后排查该ip附件的DNS集群,最后将离 LDNS 最近的集群的 IP 返回给 LDNS
  • 弊端:1. 地理位置最近并不代表跳数最少;2. LDNS 的位置可能离客户很远
  • 基于当前流量条件为客户决定最好的集群:需要周期性的实时测量客户到所有CDN之间的网络情况(发送嗅探分组),这种方法的缺点是许多LDNS被配置为不响应嗅探分组