主攻帝国 全栈为辅

视频类网站的存储播放下载的解决方案思路

站长可能有如下需求,即建立一个视频类的网站,可能包括下面的几类,但不仅仅限于以下的几类,可能还有更多的类别。比如在线教程类的视频网站,戏曲视频类的,mv视频类的。这就会涉及到

站长可能有如下需求,即建立一个视频类的网站,可能包括下面的几类,但不仅仅限于以下的几类,可能还有更多的类别。比如在线教程类的视频网站,戏曲视频类的,mv视频类的。这就会涉及到视频文件的存储、处理、播放、下载等一系列问题。

归纳一下就是分为以下几类问题,需要来解决

1,视频的存储,通常的解决方案是存放于服务器上面,或者是云存储,比如七牛,又拍,阿里云oss,百度网盘等平台。

2,视频的处理,即视频最好将基最终的展示方式为m3u8的切片方式,这样就算放本地服务器,也能很好的播放。所以,要将其它格式的视频,统一转码为m3u8的切片文件。包含不限于avi,mpg,mp4,flv等格式,都需要将其最终切片处理。而处理的地方又分为三种,一是本地处理好再上传,二是在服务器处理,三是利用云api去处理。

3,播放防盗链,这个是程序级别的,可以利用服务器程序来验证refer或者一些加密验证手段,如果是放在云存储的,则可以利用云存储的防盗链体系来操作。

4.视频的下载,,如果下载的视频资源,是放在服务器的,因为通常是静态文件,如果要加权限验证,则需要程序处理加上定期的修改文件名称,以防止文件名泄露。如果是放在云存储的,可以利用云api生成一个有效期的地址来提供下载。这种操作方式,也可以在当文件存储在服务器的时候,通过程序来实现这种方式。

5,另外还涉及一个问题,就是视频类文件的上传。由于视频类文件相对比较大,所以通常的解决方案是通过网站后台实现批量分片上传,这样的话,就可以突破服务器上传文件大小的限制了。特别要强调注意的是,不要轻易修改服务器上传文件大小的限制,比如很多情况下,上传一个100m的视频或者大文件,有很多人会说修改一下上php上传文件的大小,修改大于100m的就行了。这种方法是不可取的。是不能要的。

归纳一下,从视频的上传、存储、处理、防盗链、下载这五个流程来归纳如下几点。