Videojs Warn Player.tech--.hls Is Deprecated. Use Player.tech--.vhs Instead -

const vhs = player.tech().vhs; vhs.currentLevel = 2; The VHS API is nearly identical. Methods like .nextLevel() , .loadLevels() , .selectPlaylist() , and properties like .levels still work—just under .vhs .

Fix it now, and when Video.js 9 or 10 drops and the alias finally dies, your player won’t mysteriously break while everyone else’s keeps working. const vhs = player

And yes — the irony of a modern streaming protocol using an engine named after a tape format is not lost on any of us. And yes — the irony of a modern

const hls = player.tech().hls; hls.currentLevel = 2; To this: It works perfectly

"dependencies": { "video.js": "^8.0.0", "@videojs/http-streaming": "^3.0.0" // ✅ Correct // "videojs-contrib-hls": "^5.0.0" // ❌ Old and deprecated } Yes, but treat this like duct tape on a leaking pipe.

You’re building a sleek video player. It works perfectly. But you open the browser’s developer console, and there it is—a yellow-eyed warning staring back at you: VIDEOJS WARN: player.tech--.hls is deprecated. use player.tech--.vhs instead It’s not an error. Your video still plays. But ignoring it is like leaving a “Check Engine” light on because the car still drives. Eventually, it will break.

videojs.log.history.forEach(msg => { if (msg && msg.indexOf && msg.indexOf('player.tech--.hls is deprecated') !== -1) { // remove it from the log queue } }); // Or more simply, filter warnings globally: videojs.options.nativeAudioTracks = false; videojs.options.nativeVideoTracks = false; // (But that's not the intended fix) The official way to silence it (not recommended long-term):