# video-dev/hls.js

HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.

Repository: https://github.com/video-dev/hls.js
Canonical: https://ross.abutalabs.com/products/hlsjs
Homepage: https://hlsjs.video-dev.org/demo
Language: TypeScript
License: NOASSERTION
License Family: other
Topics: hls, html5, video, mediasource, javascript, http-live-streaming, ecmascript6, stream, streaming, native-hls, video-streaming, player, hacktoberfest, hlsjs, mediasource-extensions, playback
Last push: 2026-08-25T15:51:14+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 98, longevity 100
- inputs: {"age_days": 4233, "days_push": 8, "days_rel": 14, "gap_med": 10.5, "n_releases_24m": 27}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 16899, forks 2751 (observed 2026-08-28T04:11:17.416101+00:00)

## What it is
HLS.js is a JavaScript/TypeScript library that implements an HTTP Live Streaming (HLS) client for browsers, relying on HTML5 video and MediaSource Extensions. It transmuxes MPEG-2 TS and AAC/MP3 streams into ISO BMFF (MP4) fragments asynchronously via a Web Worker, supporting VOD, live, DVR, and Low-Latency HLS playback.

## Use cases
- play HLS streams in browsers without native HLS support
- build a custom web video player with adaptive bitrate streaming
- play back live streams with DVR and low-latency HLS
- transmux MPEG-2 TS segments to fMP4 in the browser
- support HEVC, AV1, and Dolby Vision playback where the browser allows
- test and debug HLS stream playback in Chrome, Firefox, Edge, and Safari

## When to choose
- you need HLS playback in browsers lacking native HLS support (Chrome, Firefox, Edge)
- you want fine-grained control over quality levels, audio tracks, and error recovery
- you need low-latency or DVR live streaming in a web app
- you want a dependency-free library that works on a standard <video> element

## When to avoid
- you only target Safari or iOS, which have native HLS playback
- you need DASH or other non-HLS streaming formats
- you need a full-featured player UI out of the box rather than a playback engine
- your target environment lacks MediaSource Extensions support

## Facets
- artifact type: library
- maturity: stable
- function: video-processing, streaming
- domain: media, web-development
- platform: browser, cross-platform
- tags: hls, mediasource-extensions, video-player, adaptive-streaming, transmuxing, mpeg-ts, fmp4, low-latency-hls, video, web-server

## Member repositories
- video-dev/hls.js (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:17.416101+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:03:42.131065+00:00, confidence not recorded.
  - readme: https://github.com/video-dev/hls.js (fetched 2026-08-28T04:11:17.416101+00:00, sha dda17a8cfe9c)
  - homepage: https://hlsjs.video-dev.org/demo (fetched 2026-08-29T08:02:01.158561+00:00, sha 4059ba0a8e0d)
- Data as of 2026-08-30T08:39:29.467469+00:00.
