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)
- Subscribe to EPGOAT TPS Pack
- Configure IPTV player:
- M3U URL:
https://tps.example.com/playlist.m3u(from TPS) - EPG URL:
https://epg.epgoat.tv/tps.xml(from EPGOAT) - Done! - EPG automatically updates every hour
Plug-and-Play Rating: 9.5/10 ⭐
Alternate Setup (if provider lacks tvg-ids)
- Subscribe to EPGOAT TPS Pack
- 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
- Obtain provider M3U (URL or sample file)
- Analyze channel patterns:
- Which sports/events do they cover?
- Do they use tvg-ids?
- What naming conventions do they use?
- 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:
tps.xml- EPG in XMLTV format- Contains: Channel definitions + programme schedules
- Updated: Every hour
-
Cached: 6 hours client, 12 hours edge
-
tps-clone.m3u- Clone M3U with tvg-ids (if needed) - Contains: All channels from provider M3U with stable tvg-ids added
- Updated: Every hour
-
Optional: Only needed if provider lacks tvg-ids
-
tps-audit.csv- Internal audit trail - Contains: Parsing results, confidence scores, warnings
- 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
-
Pricing Strategy: Should Provider Packs be cheaper than BYO Builder since infrastructure costs are shared?
-
Free Tier: Offer free basic EPG for popular providers to drive adoption?
-
Provider Revenue Share: Partner with providers and share subscription revenue?
-
White-Label Option: Allow providers to offer "Powered by EPGOAT" EPG under their brand?
-
API Access: Should we offer API access for power users who want programmatic EPG access?
Next Steps
- Wait for TPS Response on tvg-ids and channel list request
- Create
tps.ymlconfig once we have their data - Test end-to-end flow with real TPS M3U
- Document user setup guide for TPS users
- Soft launch with small group of TPS users
- Iterate based on feedback
- Expand to next provider (Trex or Strong 8K)
Related Documentation
- System Architecture
- Pricing Strategy
- Key Decisions: Dual SKU
- Features: Provider Packs -
feat_provider_packs - Roadmap - Provider Pack milestones