简介
flv.js是一款使用纯 JavaScript 编写的 HTML5 Flash 视频 (FLV) 播放器,无需 Flash即可播放视频。
- 具有 H.264 + AAC / MP3 编解码器播放功能的 FLV 容器
- 多部分分段视频播放
- HTTP FLV低延迟直播流播放
- 通过 WebSocket 播放 FLV 直播流
- 兼容 Chrome、FireFox、Safari 10、IE11 和 Edge
- 极低的开销,并由您的浏览器硬件加速
tips:对于 FLV 直播流播放,可以考虑使用mpegts.js,mpegts.js 针对低延迟实时流播放进行了优化,例如 DVB/ISDB 电视或监控摄像头, 基于flv.js开发。
概述
flv.js 的工作原理是将 FLV 文件流转换为 ISO BMFF(碎片 MP4)片段,然后<video>
通过媒体源扩展API 将 mp4 片段输入 HTML5 元素。
演示
安装
npm install --save flv.js
方法
flvjs.createPlayer()
function createPlayer(mediaDataSource: MediaDataSource, config?: Config): Player;
根据中指定的type字段创建一个播放器实例mediaDataSource(可选)config。
MediaDataSource
Field | Type | Description |
---|---|---|
type | string | 媒体类型,'flv'或'mp4' |
isLive? | boolean | 数据源是否为实时流 |
cors? | boolean | 是否启用CORS进行http提取 |
withCredentials? | boolean | 是否对Cookie进行http提取 |
hasAudio? | boolean | 流是否有音频轨道 |
hasVideo? | boolean | 流中是否有视频轨道 |
duration? | number | 总媒体持续时间(以毫秒为单位) |
filesize? | number | 媒体文件的总文件大小,以字节为单位 |
url? | string | 表示媒体URL,可以以'https(s)'或'ws(s)'(WebSocket)开头 |
segments? | Array<MediaSegment> | 多段播放的可选字段,请参见MediaSegment |