What is an EPG (Electronic Program Guide)?
An EPG (Electronic Program Guide) is the digital metadata service allowing television viewers to browse scheduled programming in real time: broadcast start and finish timestamps, program titles, detailed synopsis descriptions, episode numbering, and channel badges.
On a large living room television, navigating without a structured schedule leads to blind channel hopping. However, on an LG Smart TV running webOS with an app memory budget capped at 256MB, handling thousands of program listings without performance degradation or system out-of-memory errors represents a major software challenge.
The XMLTV Standard Format
Historically, broadcast schedule data has been distributed using the XMLTV standard format (an XML-based schema). An XMLTV file contains two primary data blocks:
- Channel declarations (
<channel id="bbc1.uk">) with display labels, icon URLs, and tuning parameters. - Program blocks (
<programme start="20261016200000 +0000" stop="20261016220000 +0000" channel="bbc1.uk">) holding the title, category tags, ratings, and detailed descriptions.
The major drawback of raw XMLTV files is their sheer file size: an uncompressed multi-day schedule spanning hundreds of channels frequently weighs between 50MB and 200MB. Parsing an entire XML file in memory on a smart TV browser engine will trigger an immediate browser crash.
The Xtream Codes API: get_short_epg & get_simple_data_table
To eliminate memory pressure, Xtream Codes compatible backends expose lightweight, targeted endpoints that Vibe IPTV optimizes:
- Action
get_short_epg: Queries data for a single channel. The server returns only the current broadcast plus the upcoming 3 to 4 events in a compact JSON payload (a few kilobytes). This powers instant info banners during channel zapping. - Action
get_simple_data_table: Retrieves the complete daytime timeline grid when you activate the full program guide (accessible via the Yellow Button on the LG Magic Remote).
Two-Layer Caching Architecture in Vibe IPTV
To deliver smooth 60fps scrolling without consuming excess TV memory, Vibe IPTV deploys a proprietary dual-layer caching strategy:
| Cache Level | Technology | Time-To-Live (TTL) | Purpose |
|---|---|---|---|
| Volatile Cache (L1) | JavaScript Memory Map | 15 minutes | Zero-latency (0ms) lookup for active channel info |
| Persistent Cache (L2) | TV IndexedDB Storage | 4 to 6 hours | Persists schedule between app launches without refetching |
With this architecture, every program query is fetched only once. If cached data is available, it appears instantly on screen, saving internet bandwidth and reducing load on the remote server.
Accessing the EPG with Your LG Magic Remote
- Yellow Key: Toggles the full-screen interactive EPG grid overlay.
- Dedicated Guide Button (LG keycode 458): Directly launches the program timeline.
- D-Pad Navigation (Up/Down/Left/Right): Browse hour by hour without interrupting background video audio.