Videojs Warn Player.tech--.hls Is Deprecated. Use Player.tech--.vhs Instead [upd] (2025)
Since Video.js 7, the player uses a unified engine called (Video.js HTTP Streaming) to handle both HLS and DASH streams. This change ensures a more consistent API regardless of the streaming protocol being used. How to Fix the Deprecation Warning
Video.js HTTP Streaming (VHS) replaced the separate videojs-contrib-hls and DASH plugins.
If you are seeing the warning it is because your code is still using the older videojs-contrib-hls naming convention. Since Video
VHS is bundled by default in Video.js 7 and 8 , offering improved cross-browser compatibility and features like low-latency HLS . Potential "Undefined" Issues
If you are passing options to the player during initialization, update the key from hls to vhs within the html5 object. javascript If you are seeing the warning it is
Because VHS handles multiple formats, calling it .hls was technically inaccurate when the player was actually playing a DASH stream.
var player = videojs('my-video', { html5: { vhs: { overrideNative: true } } }); Use code with caution. Why the Change Happened 2. Update Configuration Options
var player = videojs('my-video'); player.ready(function() { // Use .vhs instead var vhs = player.tech().vhs; if (vhs) { console.log(vhs.playlists.master); } }); Use code with caution. 2. Update Configuration Options