Skip to content
Bhavesh S. Gupta Everyone Has a Story
  • Home
  • Blog
  • About
  • Resume
  • Search

Engineering

It only fails in Safari: two HLS engines, and how to debug across hops

6 Oct 2026 · updated 11 Oct 2026 · 8 min read · engineering

Why live HLS often fails in Safari but not Chrome: hls.js vs native recovery, a toolkit for debugging across CDN hops, and a go-live checklist.

Read more →

Slide sync over HLS with ID3 timed metadata

5 Oct 2026 · updated 11 Oct 2026 · 7 min read · engineering

Keep slides in sync with live HLS video using ID3 timed metadata: where tags sit in a segment, the rules they follow, and reading them in hls.js and Safari.

Read more →

Putting a live HLS origin behind a CDN

4 Oct 2026 · updated 11 Oct 2026 · 14 min read · engineering

Make a live HLS origin cacheable behind a CDN: stable URLs, cache keys, Cache-Control per file, cached 404s, CORS, origin shield and allow-lists.

Read more →

HLS for backend engineers: playlists, segments and keyframes

3 Oct 2026 · updated 11 Oct 2026 · 12 min read · engineering

What backend engineers need to know about live HLS: playlists, segment length vs target duration, keyframes, latency and an aligned quality ladder.

Read more →
  • X
  • GitHub
  • LinkedIn
  • Email
  • RSS

© 2015–2026 Bhavesh S. Gupta

Built with Hugo