视频网站如何解决流量和带宽问题
我们之前写过如何通过CMS构建视频课程类平台,如果需要请点击查阅:《如何通过开源平台构建视频课程网站》。
本文重点是解决视频课程网站中的一个环节,就是视频播放流量的问题,视频课程类网站,都有一个重要的问题,就是视频的存储和视频的播放流量都比较大,如何解决?我们列举了如下三个解决途径:
(1)通过CDN。
(2)通过云存储。
(3)通过云播放。
CDN方式
CDN是所有网站的标配,不仅仅是视频,就连CSS、图片之类的静态内容,都是通过CDN分发的,所以CDN是标配。
但是即便是CDN,服务器的出口带宽也是难以消除的,因此对视频播放来讲,CDN不能解决根本性的问题。
云存储(块存储)
云存储就是类似的块存储,阿里云有类似的产品OSS,亚马逊叫S3,可以将大量的文件、视频放到块存储里面,块存储是网站大量存储的最优解决方案。
一般的块存储都有接口,所以通过接口,直接将视频存储到OSS/S3上,然后获取OSS/S3的地址或者ID,存储到数据库即可。
另外,这种云存储都有展示的URL地址,所以直接将URL地址嵌入WEB,就可以实现云播放,并且是不限制带宽,对服务器也没有压力。
不过,有个缺点,就是这种存储的公共流量比较贵,因此直接上WEB会导致费用也比较高。
云播放
普通的云播放类似云存储,只是会在块存储的功能上,增加一些类似压缩的功能,高级的云播放,支持视频切割,压缩,分辨率选择,生成缩略图等高级功能,不过价格一般也不菲。
这种的缺点其实以价格贵,其二是跟平台绑定死,比如生成各种分辨率的功能,截图的功能,都依赖于平台,因此不容易迁移。
所以,综上所述,一般我们推荐,通过CDN+云存储,来构建完整的视频播放网站,来解决网站的流量问题。
整体的架构如下:
当然,这个还有一个问题,就是一般的OSS/S3对接,会是服务器端对接,比如通过Drupal上传到服务器,然后服务器端将文件同步到OSS/S3,这个问题会导致上传比较慢,解决这个问题的办法就是,直接上传到OSS/S3,需要开发Drupal的Client端的OSS/S3上传插件,就可以直接upload的云端,然后记录一下ID到Drupal数据库就解决了。
原创内容,转载请注明出处!
关于CMS的架构和在线视频网站的搭建,也可以参考我们之前相关的文章介绍,