视频网站如何解决流量和带宽问题

 

我们之前写过如何通过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的架构和在线视频网站的搭建,也可以参考我们之前相关的文章介绍,

1、视频网站的弹幕原理和开源代码分享

2、如何通过开源方案自建视频课程平台

3、视频网站如何对接云视频点播服务

4、在线视频教育学习平台介绍

5、基如何对音视频内容进行审核例

6、基于Drupal的在线教育网站案例

7、CMS如何存储和管理大量图片/海量图片?