专栏名称: 细说云计算
关注云平台的网络技术、存储技术,以及少量架构技术。
目录
相关文章推荐
美团技术团队  ·  可信实验白皮书系列04:随机轮转实验 ·  3 天前  
美团技术团队  ·  可信实验白皮书系列03:随机对照实验 ·  3 天前  
架构师之路  ·  爸爸!除了你,沈括,沈万三... ... ·  4 天前  
51好读  ›  专栏  ›  细说云计算

视频直播CDN系统架构简析及应用场景概述

细说云计算  · 公众号  · 架构  · 2017-07-19 22:15

正文

请到「今天看啥」查看全文


音频帧一般可以独立解码,直播播放。而视频分为视频关键帧和非关键帧,关键帧可以独立解码渲染,播放器拿到后可以直接看到画面,一般 10K 以上甚至几十 K;其他非关键帧解码依赖于前面的一些视频帧,播放器会根据前面的帧和这一帧来解码产生画面,非关键帧一般大小是几 K 甚至不到 1K。对于播放器来说,服务器一般会从视频关键帧开始发送,这样才不会产生花屏。

对于节点上直播服务器存储的内容,如果是文件加速,节点上存储的内容很明确,就是文件数据, URL 不变的话文件数据内容也不变。但是对于直播来讲,传输的就是帧数据,缓存的也是不断变化的帧序列数据。

下图可以看到,当前的服务器缓存了 V1-V3 五帧数据,当 V4 这个关键帧出现了,服务器把之前的丢掉,开始缓存 V4 开始的音视频数据,以这个策略保证过来的播放端都是当前最新的数据。一般直播服务器都是用这个策略来进行服务器缓存的。

常见的 CDN 加速包括文件加速、点播、直播三种业务。 最开始阿里云 CDN 是从文件加速开始,针对的主要是内部客户,如淘宝,它的图片非常多,支持的都是小文件加速。随着各 BU 的端产品衍生,逐渐会支持大的文件下载业务。等阿里云 CDN 正式作为产品上线商业化时候,开始支持点播业务。2015 年下半年,开始支持直播业务。

二、直播概述

通常,视频直播常见两种形式是手机直播和游戏直播,手淘、陌陌、映客的典型的手机直播平台,游戏直播就是像斗鱼、全民 TV 等平台。其实对于播放端来讲,直播和点播都是向服务器获取视频数据,播放端对声音和画面进行播放的过程。从这个角度来讲,直播和点播区别并不大。

直播和点播的区别

对于视频点播,用户在观看的时候,可以随时选择快进和回退,直播却不能。

对于视频网站上的视频文件来讲,点播可以选择今天看或明天看,但是直播却不能选择时间,像每周末的联赛只在固定的时间播放。一些机顶盒提供回看的功能,也属于点播。

简而言之,直播就是每一帧数据打上时序标签后进行流式传输的过程。发送端源源不断的采集音视频数据,经过编码、封包、推流、再经过分发网络进行扩散传播,播放端再源源不断地下载数据并按时序进行解码播放。如此就产生了边生产、边传输、边消费的直播过程。







请到「今天看啥」查看全文