Glossary

EPGOAT Documentation - AI Reference (Educational)

Glossary

Status: Reference Last Updated: 2025-11-02 Related Docs: System Overview, Quick Start Code Location: N/A (Terminology reference)


Key terms and concepts used throughout the EPGOAT project.

Core Concepts

EPG (Electronic Program Guide)

A digital guide that displays television program schedules. Shows what's on, when it starts, and includes metadata like descriptions, categories, and artwork.

XMLTV

An XML-based file format for EPG data. The de facto standard for IPTV program guides. EPGOAT generates XMLTV files that IPTV players consume.

Example:

<programme channel="ufc-ppv-1" start="20251005010000 +0000" stop="20251005050000 +0000">
  <title>UFC 309 — Main Card</title>
  <sub-title>Edwards vs. Muhammad 2</sub-title>
  <desc>Live PPV coverage. Main card begins 9:00 PM ET.</desc>
  <category>Sports</category>
  <category>MMA</category>
</programme>

IPTV (Internet Protocol Television)

Television content delivered over internet protocols rather than traditional broadcast/cable. Users access channels via M3U playlists or Xtream codes.

M3U Playlist

A text file format that lists media URLs. IPTV providers distribute M3U files containing channel stream URLs and metadata.

Example:

#EXTINF:-1 tvg-id="ufc-ppv-1" tvg-name="UFC PPV 1",UFC 309 Main Card 22:00 ET
http://provider.com/stream/12345

Xtream Codes

An API protocol for IPTV services. Provides structured access to channels, VOD, and EPG data. More feature-rich than plain M3U.

EPGOAT-Specific Terms

ECID (Entity Channel ID)

A stable, canonical identifier for a channel entity across providers and platforms.

Purpose: - Same channel may have different names per provider - ECID allows one schedule to power multiple provider feeds - Enables mapping FAST channels and provider variants

Example: - ECID: ecid:sports:ufc-ppv-main-1 - Trex calls it: "UFC PPV 01" - Strong8k calls it: "UFC Events Main Card" - Both map to same ECID → same schedule

PCM (ProviderChannelMapping)

A mapping table that links provider-specific channel variants to their canonical ECID.

Structure:

provider,channel_variant_name,url_fingerprint,ecid,confidence,notes
trex,"UFC PPV 01",hash_abc123,ecid:sports:ufc-ppv-main-1,0.95,Primary UFC PPV feed

Source Tier (T0-T3)

A precedence system for conflicting data sources. Higher tier = more trusted.

Tiers: - T0: API Linker (SportsDB, SportsData.io) - highest trust - T1: Network/FAST EPG data - official but may lag - T2: Provider EPG data - less reliable - T3: Heuristic parsing from channel titles - lowest trust, fallback only

Example: If T0 API says event starts at 9pm but T3 heuristic parsed 8pm from title, use 9pm.

Linker

The parsing and enrichment engine that: 1. Detects event channels from titles 2. Parses structured data (league, time, teams) 3. Cross-references with external APIs 4. Assigns confidence scores 5. Maps to ECID

Named "Linker" because it links channel titles to structured event data.

Confidence Score

A numeric measure (0.0-1.0) of how certain we are about parsed event data.

Thresholds: - ≥0.72: High confidence → auto-publish - 0.55-0.71: Medium confidence → publish placeholder + flag for review - <0.55: Low confidence → don't publish, needs manual review

Factors: - Has time token: +0.4 - Has league keyword: +0.3 - Has matchup (vs, @): +0.3 - Has stage keyword: +0.2 - Validated by API: +0.3

Event Channel

A channel whose name indicates a specific event rather than 24/7 programming.

Examples: - "UFC 309 Main Card 22:00 ET" ✅ Event channel - "ESPN News" ❌ Regular channel - "NFL Game Pass 13:00" ✅ Event channel - "CNN" ❌ Regular channel

Detection: Pattern matching for time tokens, matchups, league keywords, stage identifiers.

Pop-up Channel

Synonym for event channel. Named because they "pop up" for specific events then go dark or change to a different event.

Product Terms

Provider Packs

Pre-built EPG feeds for specific IPTV providers.

Example: "Trex Pack" = XMLTV URL that covers all Trex event channels

Features: - Single URL per provider - Covers PPV, ESPN+, league passes, etc. - Tiered pricing: Basic, Plus, Pro

BYO Builder (Bring Your Own)

Custom EPG generation service where users upload their own M3U playlist.

Features: - Upload your M3U/Xtream credentials - System generates personalized XMLTV - Private per-user feed URL - Timezone and duration customization

Clone M3U

An optional M3U playlist that mirrors the user's original but adds stable tvg-ids for perfect EPG mapping.

Purpose: Some M3U files have messy or missing tvg-ids. Clone M3U fixes this.

Example: - Original: #EXTINF:-1,UFC PPV Channel - Clone: #EXTINF:-1 tvg-id="ecid:sports:ufc-ppv-main-1",UFC PPV Channel

Core EPG

The base tier offering basic listings.

Includes: - Titles, times, descriptions - Channel logos - Basic categories - Standard XMLTV format

Excludes: - Artwork cards - Countdowns - Event badges - Rich metadata

Premium EPG

The enhanced tier with visual storytelling features.

Adds: - Artwork cards (posters, backdrops) - PPV/event countdowns - Event badges (LIVE, REPLAY, 4K, etc.) - Rich metadata panels (cast, synopsis, ratings)

Technical Terms

Heuristic Parsing

Using pattern matching and rules-of-thumb to extract structured data from unstructured text.

Example: Regex to detect "UFC 309" → league=UFC, event_number=309

Limitations: Brittle, requires maintenance, lower confidence than API data.

Duration Heuristics

Default event durations based on league and stage when exact end time is unknown.

Examples: - UFC PPV Main Card: 4-5 hours - UFC Prelims: 2-3 hours - NBA game: 2.5 hours - NFL game: 3-3.5 hours

Drift

When parsed event time differs from API-validated time by a significant margin.

Threshold: ≥90 minutes = drift

Action: Publish placeholder, retry enrichment, flag for review.

Placeholder Programme

A temporary EPG entry shown when event details are uncertain.

Example: - Title: "Airing Next: UFC 309 (Time TBA)" - Description: "Event scheduled but exact time pending confirmation"

Purpose: Better than no EPG entry; indicates we're tracking the event.

Signed URL

A URL with an HMAC token that prevents unauthorized sharing.

Format: https://epg.epgoat.tv/u/abc123.xml?sig=hmac_token

Purpose: Anti-abuse, device limiting, access control.

Business Terms

Grandfathered Pricing

Policy where existing subscribers keep their original price even if prices increase.

Details: - Active subscribers locked in forever - 30-day grace to re-subscribe at old rate after lapse - Documented in ToS

Lifetime License

A one-time purchase that grants access for the lifetime of the EPGOAT service.

Scope: - Covers core features at time of purchase - Doesn't include future premium add-ons (unless stated) - Clear sunset procedure if service discontinues

Fair Use

Reasonable limits on usage to prevent abuse and sharing.

Limits: - Device slots (e.g., 3-5 devices per account) - Daily IP caps - Client fetch rate limits

Enforcement: Automated detection → throttle, CAPTCHA, or flag account.

Recurring Discount

Platform-level discount for renewing subscriptions.

Rate: 10% off renewals

Implementation: Stripe coupon applied automatically.

Player & Platform Terms

TiviMate

Popular Android IPTV player with excellent EPG support.

IBO Player

Cross-platform IPTV player (Android, iOS, web).

Smarters

IPTV Smarters Pro - widely used IPTV player app.

Kodi

Open-source media center with IPTV plugin support (PVR IPTV Simple Client).

OTT Navigator

Feature-rich IPTV player with advanced EPG features.

IPTVEditor

Web tool for editing M3U playlists and managing EPG mappings.

Data & File Formats

tvg-id

Channel identifier used in M3U files to match EPG data.

Example: tvg-id="ecid:sports:ufc-ppv-main-1"

tvg-name

Human-readable channel name in M3U files.

Channel ID

Unique identifier for a channel in XMLTV format.

Must match tvg-id in M3U for EPG to map correctly.