Provider Packs

EPGOAT Documentation - SIGNAL - CEO & CTO

Provider Packs

Status: Active Last Updated: 2025-11-02 Related Docs: BYO Builder, Pricing Strategy, Architecture


Overview

Provider Packs are pre-built, shared EPG feeds for popular IPTV providers. Unlike BYO Builder (where each user gets a custom feed), Provider Packs deliver a single EPG URL that works for ALL subscribers of a given provider.

Product Positioning

Provider Packs vs BYO Builder

Feature Provider Packs BYO Builder
Target User Subscribers of popular IPTV services Users with custom/niche playlists
Setup Complexity Simple (just add EPG URL) Moderate (upload M3U, configure)
EPG Generation One EPG shared by all users Unique EPG per user
Cost Structure Lower price (shared infrastructure) Higher price (per-user processing)
Channel Coverage Provider's event channels only All channels user provides
Customization None (one-size-fits-all) Timezone, duration preferences
Scalability Extremely scalable Limited by processing capacity

Examples

Provider Packs: - "TPS Pack" - EPG for TPS subscribers - "Trex Pack" - EPG for Trex subscribers - "Strong 8K Pack" - EPG for Strong 8K subscribers

Pricing Model: - Basic: $2.99/month - Core EPG - Plus: $4.99/month - Core EPG + Logos - Pro: $6.99/month - Premium EPG + Logos + Priority support

How Provider Packs Work

For End Users

Setup Process (Ideal Flow with tvg-ids)

  1. Subscribe to EPGOAT TPS Pack
  2. Configure IPTV player:
  3. M3U URL: https://tps.example.com/playlist.m3u (from TPS)
  4. EPG URL: https://epg.epgoat.tv/tps.xml (from EPGOAT)
  5. Done! - EPG automatically updates every hour

Plug-and-Play Rating: 9.5/10

Alternate Setup (if provider lacks tvg-ids)

  1. Subscribe to EPGOAT TPS Pack
  2. Choose your approach:

Option A: Use Clone M3U (Easiest) - M3U URL: https://epg.epgoat.tv/tps-clone.m3u (EPGOAT's clone) - EPG URL: https://epg.epgoat.tv/tps.xml

Option B: Manual Mapping (Advanced users) - M3U URL: https://tps.example.com/playlist.m3u (original) - EPG URL: https://epg.epgoat.tv/tps.xml - Use IPTVEditor to map channels manually

Plug-and-Play Rating: - Option A: 8.5/10 - Option B: 6/10

For EPGOAT (Backend)

Initial Setup for New Provider

  1. Obtain provider M3U (URL or sample file)
  2. Analyze channel patterns:
  3. Which sports/events do they cover?
  4. Do they use tvg-ids?
  5. What naming conventions do they use?
  6. Create provider config: ```yaml # backend/config/providers/tps.yml provider: name: "TPS" id: "tps" has_tvg_ids: true # or false

input: m3u_url: "https://tps.example.com/get.php?..."

output: epg_xml: "dist/tps.xml" clone_m3u: "dist/tps-clone.m3u"

patterns: enabled: - nba - nfl - ncaaf - ufc 4. **Test EPG generation:**bash python backend/epgoat/run_provider.py --provider tps ``` 5. Set up automated runs: - Cron job runs every hour - Generates fresh EPG - Uploads to Cloudflare R2/Pages 6. Publish URLs and make available to subscribers

Ongoing Operations

  • Hourly runs: Cron job regenerates EPG every hour
  • Monitoring: Check for provider M3U changes, broken patterns
  • Updates: Adjust patterns if provider changes channel naming
  • Support: Help users with setup issues

Requirements from IPTV Providers

For Provider Packs to work optimally, we need providers to:

Essential Requirements

Stable M3U URL - Consistent URL that doesn't change frequently

Consistent Channel Naming - Predictable patterns for event channels - Good: "NBA 01: Lakers vs Celtics @ 8pm ET" - Bad: Random naming that changes unpredictably

Event Channel Coverage - Clear distinction between event channels and regular 24/7 channels

Ideal Requirements (Nice to Have)

tvg-id Attributes - Stable channel identifiers in M3U #EXTINF:0 tvg-id="nba-01" tvg-name="NBA 01: ..." Impact: Eliminates need for Clone M3U, provides best user experience

Channel List Documentation - Official list of event channels they provide Impact: Ensures we cover all relevant channels

Advance Notice of Changes - Heads up when they change M3U structure or channel naming Impact: Prevents EPG breakage

API Access (Future) - Programmatic access to M3U and metadata Impact: Better reliability, faster updates

Provider Outreach Strategy

Pitch to Providers

Subject: Partnership Opportunity: Improve EPG for Your Subscribers

Key Points: 1. Problem: Your subscribers struggle with missing/broken EPG for live events 2. Solution: We build and maintain accurate EPG specifically for your service 3. Benefit to You: - Improved user satisfaction - Reduced support tickets about EPG issues - Better retention (users stay when features work) 4. What We Need: - Stable tvg-id attributes in your M3U (small technical change) - Optional: Official channel list - Optional: Advance notice of changes

What We Offer: - Free EPG service for your users (or revenue share opportunity) - Professional support and maintenance - Regular updates and improvements

Provider Tiers

Tier 1: Fully Cooperative - Provides tvg-ids - Shares channel list - Gives advance notice of changes - User Experience: 9.5/10 ⭐⭐⭐⭐⭐

Tier 2: Partially Cooperative - Provides channel list - OR provides tvg-ids - User Experience: 8/10 ⭐⭐⭐⭐

Tier 3: Non-Cooperative - We reverse-engineer their M3U - Provide Clone M3U workaround - User Experience: 7/10 ⭐⭐⭐

Technical Implementation

System Architecture

┌─────────────────────────────────────────┐
│   Provider (TPS, Trex, Strong 8K)      │
│   Serves M3U playlist to subscribers    │
└─────────────────┬───────────────────────┘
                  │
                  │ Fetch M3U (hourly)
                  ▼
┌─────────────────────────────────────────┐
│   EPGOAT Processing (Cron Job)         │
│                                         │
│  1. Fetch provider M3U                 │
│  2. Detect event channels (patterns)    │
│  3. Parse event details (teams, times)  │
│  4. Generate EPG XML                    │
│  5. Generate Clone M3U (if needed)      │
│  6. Upload to CDN                       │
└─────────────────┬───────────────────────┘
                  │
                  │ Upload
                  ▼
┌─────────────────────────────────────────┐
│   Cloudflare CDN (R2 + Pages)          │
│                                         │
│  - epg.epgoat.tv/tps.xml               │
│  - epg.epgoat.tv/tps-clone.m3u         │
│  - epg.epgoat.tv/trex.xml              │
│  - epg.epgoat.tv/strong8k.xml          │
└─────────────────┬───────────────────────┘
                  │
                  │ Fetch EPG
                  ▼
┌─────────────────────────────────────────┐
│   End Users (IPTV Players)             │
│   TiviMate, IBO, Smarters, Kodi, etc.  │
└─────────────────────────────────────────┘

File Outputs per Provider

For each provider (e.g., TPS), we generate:

  1. tps.xml - EPG in XMLTV format
  2. Contains: Channel definitions + programme schedules
  3. Updated: Every hour
  4. Cached: 6 hours client, 12 hours edge

  5. tps-clone.m3u - Clone M3U with tvg-ids (if needed)

  6. Contains: All channels from provider M3U with stable tvg-ids added
  7. Updated: Every hour
  8. Optional: Only needed if provider lacks tvg-ids

  9. tps-audit.csv - Internal audit trail

  10. Contains: Parsing results, confidence scores, warnings
  11. Used for: Monitoring, debugging, quality assurance

Cron Schedule

# Run all providers every hour at :05 past the hour
5 * * * * cd /path/to/epgoat-internal && python backend/epgoat/run_all_providers.py

# Or run specific providers at different times
5 * * * * python backend/epgoat/run_provider.py --provider tps
15 * * * * python backend/epgoat/run_provider.py --provider trex
25 * * * * python backend/epgoat/run_provider.py --provider strong8k

Launch Plan

Phase 1: Single Provider Validation (TPS)

Goal: Prove the concept works with one provider

Tasks: - [ ] Get TPS to add tvg-ids (or confirm they won't) - [ ] Get official TPS channel list - [ ] Create tps.yml config - [ ] Test EPG generation and validation - [ ] Deploy to Cloudflare Pages - [ ] Test with real TPS users (small group) - [ ] Gather feedback and iterate

Timeline: 2-4 weeks

Success Criteria: - EPG accuracy >95% - User setup time <5 minutes - Positive user feedback

Phase 2: Multi-Provider Expansion

Goal: Scale to top 3-5 providers

Providers to Target: - TPS (done in Phase 1) - Trex - Strong 8K - [2 more popular providers]

Tasks per Provider: - [ ] Obtain M3U access - [ ] Create provider config - [ ] Test EPG generation - [ ] Deploy and announce

Timeline: 1-2 weeks per provider

Phase 3: Provider Pack Marketplace

Goal: Launch as paid product

Tasks: - [ ] Set up Stripe billing - [ ] Create pricing tiers (Basic, Plus, Pro) - [ ] Build subscription management - [ ] Launch marketing campaign - [ ] Public beta

Timeline: 4-6 weeks

Success Metrics

User Metrics

  • Setup completion rate (goal: >90%)
  • Average setup time (goal: <5 minutes)
  • User satisfaction (goal: 4.5+ stars)
  • Churn rate (goal: <10% monthly)

Technical Metrics

  • EPG accuracy rate (goal: >95%)
  • Update frequency (target: hourly)
  • Uptime (goal: 99.9%)
  • Cache hit rate (goal: >80%)

Business Metrics

  • Subscribers per provider
  • Revenue per provider
  • Customer acquisition cost
  • Lifetime value

Risk Mitigation

Risk: Provider Changes M3U Structure

Impact: EPG breaks, users complain

Mitigation: - Monitor for parsing errors - Alert system for sudden drops in matched channels - Maintain relationships with providers for advance notice - Have rollback capability to previous config

Risk: Provider Blocks EPGOAT Access

Impact: Can't fetch M3U, service down

Mitigation: - Use residential proxy rotation - Respect rate limits - Get explicit permission from cooperative providers - Have backup M3U sources (user-submitted samples)

Risk: Provider Goes Offline/Defunct

Impact: Lost revenue from that provider's subscribers

Mitigation: - Diversify across multiple providers - Allow easy migration to BYO Builder - Sunset plan: 30-day notice + partial refund

Risk: Legal/Copyright Issues

Impact: Potential legal liability

Mitigation: - Only provide metadata (not streams) - Clear ToS disclaimers - DMCA compliance procedure - Legal review of provider relationships

Open Questions

  1. Pricing Strategy: Should Provider Packs be cheaper than BYO Builder since infrastructure costs are shared?

  2. Free Tier: Offer free basic EPG for popular providers to drive adoption?

  3. Provider Revenue Share: Partner with providers and share subscription revenue?

  4. White-Label Option: Allow providers to offer "Powered by EPGOAT" EPG under their brand?

  5. API Access: Should we offer API access for power users who want programmatic EPG access?

Next Steps

  1. Wait for TPS Response on tvg-ids and channel list request
  2. Create tps.yml config once we have their data
  3. Test end-to-end flow with real TPS M3U
  4. Document user setup guide for TPS users
  5. Soft launch with small group of TPS users
  6. Iterate based on feedback
  7. Expand to next provider (Trex or Strong 8K)