Managing EPGs
EPG configuration options
- Name
- Enter your EPG name, which is used throughout the app to reference.
- Automatically sync EPG
- Toggle to enable/disable automatic syncing of the EPG
- Sync Every (when Automatically sync EPG enabled)
- The interval at which to run the sync.
- Last Synced (when Automatically sync EPG enabled)
- Autopopulated field that will have the date of the last sync. Can be changed to force a sync at a specific time, e.g.: set Sync Every to 8hr, and then update the Last Synced field to 6hrs in the past to set the sync 2hr from now.
- XMLTV file or URL/file path
- You can enter the full EPG (XMLTV) URL from your provider
- Or if file is stored locally, provide the full path to the file
- Or if you have a file you would like to upload, upload it here
- User agent
- You can use the default, or enter a custom user agent (used to fetch and sync your playlist - not used for local or uploaded files)
- Disable SSL verification
- Not recommended - disable to troubleshoot issues connecting to your provider for downloading/syncing of playlist
- Preferred Locale
- Used for EPG mapping when no direct match is found for a channel. If multiple matching channels are found, will give priority to entered locale string, e.g.
en
- Used for EPG mapping when no direct match is found for a channel. If multiple matching channels are found, will give priority to entered locale string, e.g.
📡 EPG Source Types
New (v0.8.0)
m3u editor supports multiple EPG source types:
XMLTV URL
The most common option. Provide a URL to an XMLTV file from your provider or a third-party EPG service.
XMLTV File
Upload or specify a local path to an XMLTV file. Useful for:
- Custom EPG files you’ve created
- EPG files from providers that don’t offer direct URLs
- Testing and development
Schedules Direct
New (v0.8.0)
Schedules Direct is a subscription-based EPG service that provides high-quality programme data for North American TV channels.
Setup:
- Create a Schedules Direct account
- In m3u editor, create a new EPG and select Schedules Direct as the source type
- Enter your Schedules Direct credentials
- Select your lineup(s)
- Save and sync
Features:
- High-quality programme metadata
- Series information with episode details
- Artwork and images (automatically proxied)
- Regular updates throughout the day
âš¡ EPG Caching System
New (v0.8.0)
m3u editor includes a high-performance EPG caching system that dramatically improves performance for large EPG files.
How It Works
- EPG data is parsed and stored in optimized JSON cache files
- Programme data is chunked by date for efficient access
- Cache is automatically generated after each EPG sync
- API requests use cache instead of parsing XML files each time
Benefits
- Instant Response: Cache lookup instead of XML parsing
- Reduced Memory: Date-chunked storage allows partial loading
- Better Performance: Especially noticeable with large EPG files (100MB+)
Manual Cache Management
Generate cache manually:
docker exec -it m3u-editor php artisan app:epg-cache-generate {uuid}
Check cache health:
docker exec -it m3u-editor php artisan app:epg-cache-health-check
Clear playlist EPG files:
docker exec -it m3u-editor php artisan app:clear-playlist-epg-files
Cache API Endpoints
Access cached EPG data via API:
# Get EPG data for specific EPG
GET /api/epg/{uuid}/data?page=1&per_page=50&start_date=2025-01-01
# Get EPG data for playlist channels
GET /api/epg/playlist/{uuid}/data?page=1&per_page=50
See the API documentation for more details.