The .hls property was kept as an alias for a long time to prevent breaking sites, but it is now being phased out to encourage the use of the standardized VHS API. 🛠️ Common Use Cases for .vhs
| Old ( player.tech_.hls ) | New ( player.tech_.vhs ) | | --- | --- | | Tied to videojs-contrib-hls | Part of @videojs/http-streaming (VHS) | | Only HLS support | HLS + DASH + future protocols | | Heavier, less modular | Lighter, better performance | | Legacy API methods inconsistent | Cleaner, unified API | | No longer actively maintained (old repo) | Actively developed by Video.js core team | less modular | Lighter
: For advanced features like manual quality switching, it is recommended to use the videojs-contrib-quality-levels plugin, which integrates automatically with the VHS engine. Comparison Table: HLS vs. VHS Legacy (hls) Modern (vhs) Primary Library videojs-contrib-hls @videojs/http-streaming Supported Protocols HLS & DASH Integration External Plugin Core (since v7) Native Override hls: overrideNative: true vhs: overrideNative: true less modular | Lighter