B站信赖人人都不会生疏,而 Flv.js 就是由 bilibili 网站开源的 HTML5 Flash 视频(FLV)播放器,纯原生 JavaScript 开发(ECMAScript 6 编写) ,没有用到 Flash。它的事情原理是 Flv.js 在 JavaScript 中流式剖析 flv 文件流,并实时转封装为 fmp4 ,通过 Media Source Extensions 喂给浏览器,实现了 FLV 花样视频的播放。
flv.js 是使用 ECMAScript 6 编写的,然后通过 Babel Compiler 编译成 ECMAScript 5,使用 Browserify 打包。
由于浏览器对原生Video标签接纳了硬件加速,性能很好,支持高清。
同时支持录播和直播
去掉对Flash的依赖
FLV里所包罗的视频编码必须是H.264,音频编码必须是AAC或MP3, IE11和Edge浏览器不支持MP3音频编码,以是FLV里接纳的编码最好是H.264+AAC,这个让音视频服务兼容不是问题。
对于录播,依赖 原生HTML5 Video标签 和 Media Source Extensions API
对于直播,依赖录播所需要的播放手艺,同时依赖 HTTP FLV 或者 WebSocket 中的一种协议来传输FLV。其中HTTP FLV需通过流式IO去拉取数据,支持流式IO的有fetch或者stream
flv.min.js 文件巨细 164Kb,gzip后 35.5Kb,flash播放器gzip后差不多也是这么大。
由于依赖Media Source Extensions,现在所有iOS和Android4.4.4以下里的浏览器都不支持,也就是说现在对于移动端flv.js基本是不能用的。
1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入
2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各种产物的最新流动,优惠券领取点击进入
3.广告同盟: 整理了现在主流的广告同盟平台,若是你有流量,可以作为参考选择适合你的平台点击进入
链接: http://www.fly63.com/nav/1213