xgplayer-mp4
xgplayer支持在支持mse的环境下对mp4视频进行range请求并控制缓存播放
包名称 xgplayer-mp4
注意
- 使用的时候必须确认mp4地址支持当前页面域名跨域请求,并且支持range请求
- mp4地址必须支持当前页面地址进行跨域请求**
安装
npm i xgplayer-mp4@version --save
npm i xgplayer@version --save
使用
npm
import Player from "xgplayer"
import Mp4Plugin from "xgplayer-mp4"
import "xgplayer/dist/xgplayer.min.css"
const player = new Player({
url,
id,
autoplay: true,
height: window.innerHeight,
width: window.innerWidth,
plugins: [Mp4Plugin],
mp4plugin: {
maxBufferLength: 30,
minBufferLength: 10,
reqOptions:{
mode: 'cors',
method: 'POST',
headers: { // 需要带的自定义请求头
'x-test-header': 'rrrr'
},
}
// ... 其他配置
}
})
cdn
<!--引入css-->
<link rel="stylesheet" href="https://unpkg.byted-static.com/xgplayer/{version}/dist/index.min.css"/>
<!--引入js-->
<script src="https://unpkg.byted-static.com/xgplayer/{version}/dist/index.min.js"></script>
<script src="https://unpkg.byted-static.com/xgplayer-mp4/{version}/dist/index.min.js"></script>
<script>
new Player({
url,
id,
autoplay: true,
height: window.innerHeight,
width: window.innerWidth,
plugins: [Mp4Plugin],
mp4plugin: {
maxBufferLength: 30,
minBufferLength: 10,
reqOptions:{
mode: 'cors',
method: 'POST',
headers: { // 需要带的自定义请求头
'x-test-header': 'rrrr'
},
}
// ... 其他配置
}
})
</script>
配置
| 配置字段 | 默认值 | 含义 |
|---|---|---|
| maxBufferLength | 40 | 播放的最大的buffer长度(s) |
| minBufferLength | 5 | 播放的最小的buffer长度(s) |
| disableBufferBreakCheck | false | 是否开启卡顿超时检测 |
| waitingTimeOut | 15s | 卡顿超时时间 |
| waitingInBufferTimeOut | 5s | 在buffer区间内的卡顿超时时间 |
| waitJampBufferMaxCnt | 3 | 一次播放中在buffer区间内卡顿超时最多可以seek调整几次 |
| chunkSize | 15625 | 第一次请求的数据的size长度 |
| tickInSeconds | 0.1 | 驱动下载的timer的时间间隔 |
| segmentDuration | 5s | 一次下载数据的最小视频时长 |
| onProcessMinLen | 1024 | fetch每次回调数据的最小长度 |
| retryCount | 2 | loader请求失败时的重试次数 |
| retryDelay | 1000 | 重试的时间间隔(ms) |
| timeout | 3000 | loader请求的超时时间(ms) |
| enableWorker | false | transmux是否使用worker |