网页播放视频是前端经常可能遇到要解决的问题。
视频存在自己的服务器上
然后用video进行播放。(这种方案适用于视频较小的情况下,可以采用预加载的模式)解释一下为什么要预加载,因为等你播放的时候会出现一段时间黑屏效果不是很好,所以采用预加载的方式,等到播放的时候就直接播放就可以了,服务器不处理的话,视频会等到全部下载完之后才会播放。
采用第三方网站进行托管视频
这种适用于视频较大,但是使用量较小的情况,因为广告的问题,所以我们要在第三方视频网站进行开发者认证,这样就可以去掉首页的广告,视频所需的后端服务就由第三方网站进行提供,它们把视频进行转码,分片传输等,但是如果视频比较多,就得自己做后端服务,这个是需要申请预算的
前端处理
比较简单有开源的http://videojs.com/视频播放器进行使用,也可以直接使用video标签进行使用,这里使用video标签处理的时候我发现video标签只支持
- WebM video format
- MPEG-4/H.264 video format
- Ogg/Theora video format
这几种格式,倘若编码不是这些格式的就会播放不出来。
比如mp4的编码我就遇到了这个问题,所以就用ffmpeg进行转码,ffmpeg是一个视频转码库,https://ffmpeg.org/documentation.html使用查看文档。
需要注意的问题:
视频不建议放前端项目里面,影响编译速度和最后产品库的大小,视频本身也不是频繁变动的东西,应该发布到bos或者iqiyi上,而且你们网站直接播放视频还要考虑视听节目许可证问题