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 |