Published March 15, 2025 · 6 min read
EPG and catch-up: align IDs, clocks, and expectations
An EPG is just metadata keyed to channel-time slots. Players need the same logical channel identity on the live stream and in the guide feed. When ids drift you get empty grids, wrong artwork, or programmes glued to the wrong tuner row.
Catch-up and start-over are product decisions backed by storage and rights. Before you promise “7-day replay,” confirm what your panel ingests—per-show archive URLs, rolling windows, or separate VoD objects—and whether your middleware exposes that uniformly.
XMLTV and JSON-style exports are still common. Document whether your provider ships UTC, local broadcast time, or panel-normalised timestamps. DST weekends are where silent offsets appear and overnight support earns its keep.
If customers paste EPG URLs into forums, expect hotlinking and scraping. Prefer proxying via your panel so you can rotate endpoints without mailing the world a new string every month.
Regression-test the boring edges: midnight rollover, overtime sports, and two feeds that share a display name but not the same tvg-id. Those are the cases that look fine in demos and break in production.