大家感觉有用的话,麻烦点赞收藏一下。也是踩坑踩出来的。
目标:50个直播流同时渲染,保证视频流播放正常。
代码在最后面,重点是
1. 视频流为 m3u8格式。(如果服务端传递回flv地址,大家自己replace一下后缀就可以了)
'xxxxx.flv'.replace('flv', 'm3u8')
2. 创建实例时,定义isLive为false。m3u8在播放完毕后会自动去重新请求。
此时运营同学的台式小电脑就可以拉取6/7个直播流,保证流畅运行七八分钟。
3. 把播放速度 defaultPlaybackRate 调制0.75倍播放。
这一步操作,是考虑到运营同学电脑浏览器的渲染问题。所以沟通后将视频播放速度降低
现在可以保证流畅播放小二十分钟但是会出现直播流异常错误。(断流居多)
4. 去火山引擎控制台(没有权限的同学,去找项目组长)
控制台->视频直播->功能配置->点击添加配置
将官方提供的 ‘可选转码’ 选上,点击确定。(重点要的是流畅)
5. 配置 playList 。(必须执行第四步)
这一步就是配置视频清晰度。
也可以跟第一步一样对服务端同学返回的直播流地址进行处理拼接成我们想要的样子。
下面就是全部的代码。
const player = = new VePlayer({
'isLive': false, // 是否为直播流
'id': 'dom容器id',
'lang': 'zh', // 语言选择列表
'volume': 0, // 音量
'defaultPlaybackRate': 0.75, // 播放速度
'playList': [
{
url: '视频流地址',
definition: 'id', //清晰度
definitionTextKey: 'LD'
}
],
'autoplay': true, // 是否自动播放
'loop': false // 是否开启循环播放
})