视频CDN技术分析(1)

1. 在线视频应用的类型

在线视频分直播和非直播两种类型。直播和非直播两种类型的视频分别对缓存和存储系统的需求很不相同:

对于非直播视频,比如订阅电影、电视剧等,存储系统需要提供视频文件的全量、高可靠存储。而缓存提供热点内容的加速。

对于直播视频,比如新闻,比赛现场直播等,存储和缓存系统只需要保存最近时间片视频内容,而缓存系统系统也只针对最近时间片的内容进行加速。视频时间片过期后,缓存系统应当迅速丢弃过期内容。

2. 视频协议类型

常见的在线视频协议分两大类:非HTTP协议,主要代表是RTMP系列协议。该协议族由Adobe开发,存在协议专利,并且软件License成本较高,视频网站应用不多。另一类是HTTP文件下载类协议,例如FLV格式的视频,以及HTML5中的video标签指定下载文件,以及HLS(HTTP Live Streaming)协议指定下载文件。这些协议的共同特点是都支持HTTP协议下载视频文件。

实际中,国内安卓和PC平台在线视频应用多通过下载FLV文件实现视频播放,而iOS平台则较多使用HLS协议下载,而国外Netflix则的视频则是基于Silverlight播放器和WMV/WMA文件。随着各个主流浏览器对HTML5支持的成熟,通过HTML5播放在线视频的应用也呈逐渐增多的趋势。

3. 常见的在线视频文件特征

通常单个视频会被拆分为多个小文件下载,以优酷网为例,以下链接:http://v.youku.com/v_show/id_XMzU3ODU3NzEy.html,在某次播放时会被拆解成如下多个下载链接:

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110050AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=12da7b24db7aef9d28289a20

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110150AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=696b19354b4b439d261d0060

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110250AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=bcc1c874037016e8261d0060

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110350AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=1731bc5f48b5f11e28289a20

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110450AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=4386454c885c3bbe241166a0

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110550AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=6351e505b031d56c261d0060

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110650AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=f7af66261b44096e28289a20

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110750AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=c0d1d358cc3dc10b28289a20

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110850AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=935bce87f4e327e0261d0060

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110950AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=c1d3c196c74663aa261d0060

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110A50AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=c0234e12ee97cb3d241166a0

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110B50AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=f13ec4bc8ee8c7a2241166a0

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110C50AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=7e6d5bb19849c787241166a0

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110D50AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=6917f37f70d6b16a261d0060

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110E50AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=34ef0b2b23744560241166a0

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002110F50AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=2a89ca1bf5420e5d241166a0

http://f.youku.com/player/getFlvPath/sid/00_00/st/flv/fileid/030002111050AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF?K=78d52287001417f1241166a0

浏览器依次访问这些链接时,视频网站会返回视频文件的真正的FLV视频文件下载地址,例如:

“http://123.234.0.34/youku/65731A8885B3F83A13A68121DB/030002111050AB37FCDC0C055EEB3E54E37BA8-CB03-ABBA-1762-4817E50184AF.flv”

以上的例子中,优酷网视频的真正地址是使用IP地址直接访问,每段视频(Video Chunk)长度约为6分钟,每段视频文件大小约为13MB左右。很明显,以上的例子中,优酷网使用了自建的CDN进行了分发。

另外,同一视频相同时间片对应的视频链接地址或者FLV下载地址可能不同。土豆网吴岷曾在分享土豆网自建CDN的架构(http://vdisk.weibo.com/s/a-CrB)时提到,土豆网的视频存储和缓存系统会实时调度系统的流量,并根据用户的请求返回最合适的视频URL地址。也就是说针对同一个视频片段,视频网站可能为不同用户返回不同的视频文件URL。

4. 流量特征

传统的CDN,主要面向静态网页文件、小图片(in tens of KBs)、低码率视频片段(in MBs)的文件,特点是并发请求数量较大,单请求处理的吞吐量较少,即RPS/Bandwidth较大。

视频CDN的特点在于视频片段文件较大(in tens of MB)。如果是20Mbps的高清视频,则单个视频片段的大小则可能超过100MB。用户访问视频CDN资源时,通常对资源的请求数小于传统的网络,但占用带宽更大,及RPS/Bandwith较小。

发表评论

电子邮件地址不会被公开。 必填项已用*标注