What is Catch-up TV / Timeshift Server?
Protocol Definition & Architecture: Developer Api Reference
Technical Definition
Catch-up (nDVR) is server-side recording of a live channel into a ring buffer so subscribers can replay programmes from the last 1-7 days. The Xtream API exposes tv_archive and tv_archive_duration per channel and serves archives via the timeshift endpoint.
How It Operates Under the Hood
Edge nodes write each 4-second segment of an archive-enabled channel to object storage keyed by timestamp. A request such as /timeshift/USER/PASS/120/2026-10-06:19-00/ID.ts asks for 120 minutes starting 19:00 and the server stitches the segments into a continuous MPEG-TS. Storage per channel is roughly 2.1 GB per hour at 4.7 Mbps.
Developer Reference
Developers integrating Catch-up TV / Timeshift Server should follow the governing standards cited below, use the Xtream Codes JSON endpoints for discovery, and respect RFC 3986 URI encoding for credentials. Device login flows on TVs should implement the RFC 8628 device-code pattern.
Protocol Engineering Specifications
| Stream Engineering Metric | Reference Specification | Governing Standard |
|---|---|---|
| Archive depth | 1-7 days |
tv_archive_duration |
| Storage per channel-day | ~50 GB at 4.7 Mbps |
Object storage |
| Request format | /timeshift/U/P/MIN/YYYY-MM-DD:HH-MM/ID.ts |
Xtream endpoint |
| Transport Container | MPEG-TS (188 bytes: 4 B header + 184 B payload, 0x47 sync) |
ISO/IEC 13818-1 |
| Manifest Specification | Extended M3U8 playlist / LL-HLS 0.5 s parts |
IETF RFC 8216 |
| Decoder Pipeline | Hardware MediaCodec HEVC Main 10 (ExoPlayer / Media3) |
Android Media3 |
Catch-up TV / Timeshift Server FAQ
What is Catch-up TV / Timeshift Server in simple terms?
Catch-up (nDVR) is server-side recording of a live channel into a ring buffer so subscribers can replay programmes from the last 1-7 days. The Xtream API exposes tv_archive and tv_archive_duration per channel and serves archives via the timeshift endpoint.
Why do only some channels have catch-up?
Archiving costs storage, so panels enable it for roughly 20-30% of channels, usually sports, news, and entertainment flagships.
What is the difference between Xtream Codes API, M3U URL, and Stalker Portal login?
All three deliver the same channels. Xtream Codes API uses player_api.php JSON endpoints so the player lazy-loads categories and EPG in seconds. An M3U URL (get.php) downloads a single text playlist of every stream, which is slow with 45,000 channels but works on any player. Stalker Portal authenticates by MAC address through a /c/ portal URL and is used by MAG receivers and some Smart TV apps.
Why is my EPG guide empty or showing programs at the wrong time?
Players fetch an XMLTV file from xmltv.php and match each channel by tvg-id. An empty guide means the player downloaded the file before the server finished its 15-minute refresh or the file exceeded the player size cap (set TiviMate EPG update to "never limit"). Wrong times are a timezone offset issue: XMLTV timestamps carry +0000 and the player must apply your local offset, so set an EPG shift of +1 or -5 hours in the channel settings rather than changing the device clock.
What is device MAC address binding and why does my MAG box or Smart TV app ask for it?
Stalker / Ministra middleware authenticates a set-top box by its 48-bit MAC address (MAG boxes use the 00:1A:79 OUI prefix) instead of a username and password. The reseller panel binds that MAC to a subscription line; apps such as IBO Player and Smarters on Samsung or LG TVs generate a virtual MAC that must be registered the same way. If you replace the device, the panel must re-bind the new MAC or the portal returns an "unregistered device" error.
How does multi-screen concurrency work and what happens if I exceed max_connections?
The Xtream Codes player_api.php handshake returns max_connections and active_cons. Each live or VOD stream request opens one session counted against that limit; a second TV, phone, or multi-view tile is a second connection. When active_cons would exceed max_connections, the server answers the new stream request with HTTP 403 / 458 and the player shows "max connections reached". Resellers should sell lines with 2-5 connections for households and enable IP-lock only for single-device subscribers.
How far behind live are IPTV sports streams and can latency be reduced?
Standard HLS with 4-second segments and a 3-segment player window sits 12-18 seconds behind the broadcast. Low-Latency HLS with 0.5-second partial segments brings glass-to-glass delay to about 3.8 seconds, and raw MPEG-TS over HTTP (.ts output format) is typically 5-7 seconds behind. Choose the .ts output format in your player for live sports and reserve .m3u8 for VOD and catch-up.
Every external citation on this page points to a primary source: telecommunications RFCs, ITU-T and ISO codec standards, manufacturer and developer documentation, national regulators, or official sports governing bodies. No commercial IPTV competitor is cited.