Add WebVTT subtitle tracks to an HLS stream and reference them in the multivariant playlist

domain: hls · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Create one WebVTT segment playlist per language containing EXT-X-TARGETDURATION and media segment entries that reference .vtt files with matching timestamps
  2. In each .vtt file, ensure cue timestamps align with segment boundaries and include a WEBVTT header line at the top of every file
  3. In the HLS multivariant playlist, add EXT-X-MEDIA TYPE=SUBTITLES tags with GROUP-ID, NAME, LANGUAGE, AUTOSELECT, DEFAULT, and URI for each language track
  4. In each EXT-X-STREAM-INF line, add SUBTITLES="{GROUP-ID}" referencing the subtitle group
  5. Test in hls.js and in Safari/AVPlayer; inspect whether cue rendering, language switching, and FORCED subtitle behavior work correctly across both players

Known gotchas

Related routes

Author an HLS multivariant (master) playlist with audio and subtitle rendition groups
hls · 5 steps · unrated
Convert SRT subtitles to WebVTT and handle cue formatting differences
w3.org · 6 steps · unrated
Manage video caption and subtitle tracks via the Vimeo Text Tracks API
developer.vimeo.com · 6 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans