A default HLS player for Chrome (and why I hate the robustness principle)
summary
A native HLS implementation ships as a default HLS player in Chrome that rewrites the demuxer in C++ and hooks into the Chromium MSE pipeline instead of loading megabytes of JS; it removes MP2T transboxing, exposes video tracks, and interops with service workers. Launches hit real failures — audio‑only/AAC and AES bugs that break Korean web radio and force a rollback — then relaunches with conformance fixes; expect details on the C++ native pipeline and MSE integration and why 40% of manifests missing required commas forces browsers to be less liberal.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 0:43HLS history in Chrome
- 1:26Old HLS problems
- 2:51New native player benefits
- 3:55Library vs default player
- 4:59HLS parser challenges
- 6:23Conformance testing
- 7:27Robustness principle issues
- 8:31Availability and fixes
related talks
31mIn a Perfect World: Why Media Sources Are a Hassle
24mIt's time to rebuild your player with web components
30mOther browser APIs that are going to change video on the web
12mLHLS(.js): Why Hls.js is standardizing low-latency streaming
20mStreaming video in the browser without patents
35mAnatomy of a Web Media Experience
24mMeet the Packets: How audio travels into your browser
21mThe challenges of deploying Apple's Low Latency HLS In Real Life
