在 MSE 技术逐渐得到各大浏览器的认可时,前端音视频能力也得到了极大的提升。80% 以上的浏览器都已经支持,而且,对于 X5 系浏览器,将会在 2018 年初加上对 MSE 的底层支持。httplive
借助于 MSE,实现了 httpflv 直播流的播放。不过,它并不仅仅局限于此,其基于 Loaders 的基本思想,实现各个模块的解耦和封装,只要遵循相关的标准,完全可以定制出自己的播放器。这也是该库的思想:
httplive 并不是库,它只是一套前端直播流的规范。
- 可定制化
- 追帧策略
- 高效率音视频同步算法
- 易上手
npm install httplive --save
import HTTPLive from 'httplive';
let video = document.getElementById('videoTag');
let flv = new HTTPLive({
video
});
video.addEventListener('canplaythrough',()=>{
video.play();
},false);
flv.send('https://xxx.flv');
如果你想使用自定的模块来代替现有的,定制化自己的 Player,可以参考下面代码:
import {CustomPlayer} from 'httplive';
import WebSocketChunked from 'custom';
// Replace HTTPChunked module by WebSocketChunked.
const HTTPLive = CustomPlayer({
HTTPChunked: WebSocketChunked
});
let flv = new HTTPLive({
video
});
...
后面,在 wiki 里给出各个模块之间的标准协议。
如果你对前端 MSE 开发和直播开发感兴趣,可以用扫描下面的二维码加入我们。
加群之后,需要回答一个问题,答案是:MSE
对于没有QQ的开发者,可以直接发送 email ,相互学习。
如果你对 httplive 有疑问,可以直接提 issue 表述你的问题。Httplive 是一个开源项目,非常欢迎大家对现有代码进行改进和优化,贡献 PR
httplive is under the Apache License. See the LICENSE file for details.