Videojs Warn Player.tech--.hls Is Deprecated. Use Player.tech--.vhs Instead !free! Jun 2026
The old videojs-contrib-hls exposed an API like player.hls().representations() . VHS uses a different API: player.vhs.qualityLevels() . You’ll need to rewrite your ABR customisation. Refer to the VHS ABR guide .
Make sure @videojs/http-streaming is properly resolved:
The warning occurs because your codebase or an outdated plugin is interacting with the old Video.js HLS playback engine. Modern versions of Video.js rely on VHS (Video.js HTTP Streaming) rather than the older, separate videojs-contrib-hls library. The old videojs-contrib-hls exposed an API like player
var player = videojs('my-video', hls: withCredentials: true, handleManifestRedirects: true
stands for V ideo.js H TTP S treaming. It is the new built‑in engine that replaces the standalone videojs-contrib-hls and videojs-contrib-dash plugins. VHS is included by default in Video.js versions 7 and later (though you may still need to explicitly include the VHS library depending on your build). Refer to the VHS ABR guide
: If you haven't manually added hls to your code but still see the warning, it may be coming from a third-party plugin (like Mux Data) that hasn't been updated to the latest Video.js API.
This comprehensive guide breaks down exactly what this warning means, why the change occurred, and how to update your code to maintain compatibility with modern Video.js standards. Why is This Warning Happening? Starting with Video.js 7
If you want to dive deeper into configuring your player, please let me know: Which you are currently running. If you are using any third-party quality selector plugins .
This warning appears because Video.js has replaced the old videojs-contrib-hls plugin with . Starting with Video.js 7, VHS is the default engine for handling HLS and DASH playback.