问:如何部署一个视频网站?
答:目前主流的视频网站,都采用下图所示的架构。系统由以下四个部分组成:
1)网站服务器
该服务提供视频网页,如图示的www.hulu.com。该服务器和普通的网站服务器,没有太大区别,负责提供浏览器中显示的网页。
2)视频配置文件服务器
如该服务器的名字所示,这是一个视频专用的服务器,负责提供视频的配置文件(Manifest),如图中所示的s.hulu.com。在视频网站中,每个视频有一个自己的配置文件,其中包括视频名字、长度、帧率、比特率、视频存储服务器等信息。当我们在浏览器中点击一个视频时,浏览器中的视频播放器首先从这个服务器中获得我们点击的视频的配置文件,然后根据该配置文件中的视频信息,播放视频。
3)视频服务器
这也是一个视频专用的服务器。它存储了真正的视频文件,为我们提供视频内容,如图中所示的CDN(Content Delivery Network)。如前文所述,视频的配置文件中包括了存储视频的服务器位置。视频播放器就根据这个位置信息,向该视频服务器请求视频的内容。
4)播放状态收集服务器
这也是一个视频专用的服务器。它在视频的播放过程中,一直和视频播放器通信,采集视频播放的各种状态信息,比如播放位置、播放质量、节点的下载带宽等必要的信息。这些信息能够方便下一次视频的播放,也有助于系统的维护和管理。
以上四种服务器,因为功能不同,在技术上各有特点。其中,视频服务器最引入注意。因为,当视频数量少、点击量小的时候(比如一个实验室内部的视频网站),一个硬盘大一点的普通服务器就能满足要求了。可是,当视频数量巨大、点击量也巨大时(比如优酷),我们就得采用更强大的解决方案来帮忙了。这就是我们上面提到的CDN。在下一个技术问答中,我们就来讨论,什么是CDN。:)
参考文献:
1)Vijay Kumar Adhikari, Yang Guo, Fang Hao, Volker Hilt, and Zhi-Li Zhang,"A Tale of Three CDNs An Active Measurement Study of Hulu and Its CDNs", in Proc. of GI 2012
根据《网络安全法》实名制要求,请绑定手机号后发表评论