我正在使用 Video.js 和 videojs-contrib-dash 插件来播放带有 DRM 的 MPD 文件中的视频。 MPD 文件有两种分辨率:480p 和 720p。 ABR(自适应比特率)根据网络带宽运行良好。但是,我想手动设置分辨率。我尝试使用 videojs-contrib-quality-levels,但它不起作用。
它只是给出一个空数组。
const qualityLevelsPlugin = player.qualityLevels();
版本:
"video.js": "^7.20.3",
"videojs-contrib-dash": "^5.1.1",
"videojs-contrib-quality-levels": "^2.2.1",
还尝试使用 addQualityLevel 方法手动添加质量级别到
qualityLevels
。
使用它作为触发器:
qualityLevelsPlugin.selectedIndex_ = 1;
qualityLevelsPlugin.trigger({ type: 'change', selectedIndex: 1 });
但不工作!!
这些是在 video.js 与质量控制器集成期间应该检查的事情。 这里我还附上了 Vue.js 的代码。
[`分辨率显示
//imports:
import "videojs-contrib-quality-levels"; // Import quality levels plugin
import "@mycujoo/videojs-hls-quality-selector"; // quality or resoultion menu
//Mounted time code:
this.player = videojs(this.$refs.videoPlayer, this.options, () => {
// Initialize the quality levels plugin
// this.player.qualityLevels();
this.player.log("onPlayerReady", this);
console.log(this.player);
});
this.player.hlsQualitySelector({
displayCurrentQuality: true,
});
},
// Option variable
{
autoplay: true,
controls: true,
responsive: true,
preload: true,
playbackRates: [0.5, 1.0, 1.5, 2.0],
html5: {
hls: {
// withCredentials: true,
overrideNative: true,
},
},
sources: [
{
// withCredentials: true,
src: `test.m3u8`,
type: "application/x-mpegURL",
},
],
plugins: {
qualityLevels: {},
},
}