前端开发:Bilibili开源纯JavaScript编写的FLV播放器(flv.js)

JavaScript/前端
977
0
0
2022-05-03
标签   JavaScript库
flv.js是由Bilibili开源(Apache)的一个HTML5纯JavaScript编写的Flash 视频(FLV)播放器,不需要flash,HTTP FLV直播当前不是所有的浏览器都支持,目前支持(Chrome 43+、FireFox 42+、Edge 15.15048+和Safari 10.1+)。它解析FLV文件转码为ISO BMFF(MP4碎片)片段,然后通过Media Source Extensions将片段喂给原生HTML5 <video>标签进行播放音视频数据,使浏览器在不借助Flash的情况下播放FLV。

为什么要使用flv.js呢?因为目前浏览器厂商已经开始默认禁用Flash了,但由于Flash影响力还在,做互联网直播的公司为了能兼容Web上的Flash播放,不约而同地选择了flv格式,可HTML5只支持Ogg、MPEG4、WebM格式,不能平滑的从Flash过渡到HTML5,flv.js解决了这个问题。

特点:

①flv.js支持视频编码为H.264,音频编码为AAC或MP3的flv文件。

②支持视频懒加载,分段加载播放。

③同时支持直播和录播

④占用极低的资源,采用硬件加速,性能更好,支持高清。

⑤纯JavaScript编写,不需要对Flash依赖。

1、快速开始

https://github.com/Bilibili/flv.js

该项目没有释放文件需要构建,请先确保已经存在nodejs环境,下载完成后解压;当然也可以使用CDN引入,下面介绍如何释放文件。

打开cmd,进入解压后的文件夹根目录;或者在文件夹根目录按住shift+右键,选择在此处打开命令窗口。

前端开发:Bilibili开源纯JavaScript编写的FLV播放器(flv.js)

输入npm install安装依赖。

前端开发:Bilibili开源纯JavaScript编写的FLV播放器(flv.js)

运行完成后,根目录会生成一个node_modules文件夹。

前端开发:Bilibili开源纯JavaScript编写的FLV播放器(flv.js)

运行npm install -g gulp命令安装构建工具。

前端开发:Bilibili开源纯JavaScript编写的FLV播放器(flv.js)

最后在运行gulp release命令在dist文件夹中释放flv.js和flv.min.js文件。

前端开发:Bilibili开源纯JavaScript编写的FLV播放器(flv.js)

把释放的文件放到项目任意位置,在页面中引入js文件即可。


在body元素中创建一个<video>标签,设置id属性,添加controls属性显示控制条。


运行以下脚本,在HTML5页面的<video>标签中就能播放flv文件了。

前端开发:Bilibili开源纯JavaScript编写的FLV播放器(flv.js)

前端开发:Bilibili开源纯JavaScript编写的FLV播放器(flv.js)

2、其他

flv.js有比较丰富的方法、事件和配置属性,能够满足基础的flv格式视频播放需求,感兴趣的朋友可以深入了解。

flv.js文档:

https://github.com/Bilibili/flv.js/blob/master/docs/api.md

有哪里写得不好的地方请大家提出来,请轻喷,谢谢。 同时有什么与编程相关的好东西可以推举给我,再次感谢!