Set up live TV
Cinephage includes comprehensive IPTV support with multi-provider integration, supporting Stalker Portals, XStream Codes, and M3U playlists. This guide covers setting up and managing live TV.
Overview
Cinephage supports live TV through three provider types, each with different features and configuration requirements:
| Provider | Type | Authentication | Best For |
|---|---|---|---|
| Stalker Portal | MAG/Ministra | MAC Address | Providers using Stalker/Ministra middleware |
| XStream Codes | IPTV API | Username/Password | Providers using XStream Codes panel |
| M3U Playlist | Playlist File | None | Generic IPTV playlists |
Features Overview
Regardless of provider type, Cinephage provides:
- Channel sync from all provider types
- Electronic Program Guide (EPG) support (Stalker fully implemented, XStream planned)
- Channel lineup organization
- M3U playlist generation for external players
- Category management
- Portal scanning for Stalker account discovery
- Multi-provider mixing (channels from all providers in one lineup)
Live TV functionality supports all three provider types. Stalker Portal is the most mature implementation with full EPG support. XStream Codes and M3U support are actively developed.
Provider Types Explained
Stalker Portal (MAG/Ministra)
Stalker (also known as Ministra) is an IPTV middleware system used by many IPTV providers. It's commonly used with MAG set-top boxes.
How It Works:
- Provider gives you a portal URL and MAC address
- Cinephage authenticates using the MAC address
- Retrieves channel list, EPG, and account info from portal
Key Features:
- Full EPG support
- Archive/Catch-up TV
- Portal scanning for discovery
- Account expiration tracking
- Built-in authentication
Required Information:
- Portal URL (e.g.,
http://portal.example.com/c) - MAC Address (format:
00:1A:79:XX:XX:XX)
XStream Codes
XStream Codes is a popular IPTV panel system used by many providers. Accounts use username/password authentication.
How It Works:
- Provider gives you server URL, username, and password
- Cinephage authenticates via XStream API
- Retrieves channel list and account information
Key Features:
- Username/password authentication
- Account expiration tracking
- EPG support planned (not yet implemented)
- Archive support implemented but not fully tested
Required Information:
- Server URL (e.g.,
http://example.com:8080) - Username
- Password
M3U Playlist
M3U playlists are standard IPTV playlist files containing channel URLs. Many providers offer M3U URLs for use with generic IPTV players.
How It Works:
- Provider gives you an M3U playlist URL or file
- Cinephage parses the playlist for channel information
- No authentication required (URLs often contain tokens)
Key Features:
- Works with any M3U-compatible provider
- URL or file upload support
- Optional external EPG via XMLTV URL
- Auto-refresh support
- No built-in authentication
- No archive/catch-up support
Required Information:
- M3U URL or file
- Optional: XMLTV EPG URL
Adding a Live TV Account
Step 1: Navigate to Live TV Accounts
- Go to Live TV > Accounts in the main navigation
- Click Add Account
- Select your provider type from the dropdown
Step 2: Configure Stalker Portal
If you selected Stalker Portal:
- Name - Enter a display name (e.g., "My IPTV Provider")
- Portal URL - Enter the portal URL provided by your IPTV service
- Format:
http://portal.example.com/corhttp://portal.example.com:80/c - Must include the
/cpath suffix
- Format:
- MAC Address - Enter your MAC address
- Format:
00:1A:79:XX:XX:XX(colons required) - Must be a valid MAG MAC address format
- Format:
- Test Connection - Click Test to verify credentials
- Save - Click Save to add the account
Always test the connection before saving. The test verifies:
- Portal is accessible
- MAC address is valid
- Account is active
Step 3: Configure XStream Codes
If you selected XStream Codes:
- Name - Enter a display name
- Server URL - Enter the XStream server URL
- Format:
http://example.com:8080(include port if not 80) - Do not include paths like
/player_api.php
- Format:
- Username - Enter your XStream username
- Password - Enter your XStream password
- Test Connection - Click Test to verify
- Save - Click Save to add the account
Step 4: Configure M3U Playlist
If you selected M3U Playlist:
- Name - Enter a display name
- Source Type - Choose URL or File Upload
For URL:
- Paste the M3U playlist URL
- Optionally check Auto-refresh to update periodically
- Set refresh interval (default: 24 hours)
For File Upload:
- Click Choose File and select your M3U file
- Files are stored locally and won't auto-update
- EPG URL (Optional) - Add an XMLTV EPG URL for program guide
- Test - Cinephage parses the playlist and counts channels
- Save - Click Save to add the playlist
M3U URLs often contain authentication tokens. Treat them as sensitive information and don't share them publicly.
Discovering Stalker Accounts
If you have a Stalker portal but don't have valid credentials, Cinephage can scan for working MAC addresses.
How Portal Scanning Works
The scanner tests MAC addresses against a Stalker portal to find valid accounts:
- Generates or imports MAC addresses
- Attempts authentication with each
- Records successful connections
- Displays discovered accounts with expiration dates
- Allows you to approve accounts for use
Starting a Scan
- Ensure you have at least one Stalker account configured (or add portal URL)
- Go to Live TV > Accounts
- Click Scan for Accounts
- Select scan type:
Scan Type: Random
Generates random MAC addresses using known STB manufacturer prefixes:
- MAC Prefix - Choose manufacturer prefix (e.g.,
00:1A:79) - Number to Test - How many addresses to generate (10-1000)
- Parallel Workers - Concurrent scans (1-10)
Scan Type: Sequential
Tests a specific range of MAC addresses:
- Start MAC - Starting MAC address
- End MAC - Ending MAC address
- Step Size - Increment between addresses
Scan Type: Import
Tests a list of MAC addresses you provide:
- Paste MAC addresses (one per line)
- Or upload a text file
During the Scan
The scanner shows real-time progress:
- Tested - Number of MACs checked
- Found - Valid accounts discovered
- Failed - Invalid or expired accounts
- Progress Bar - Visual progress indicator
Only scan portals you have permission to access. Unauthorized scanning may violate terms of service.
Reviewing Discovered Accounts
After scanning completes:
- Review the list of discovered accounts
- Check account details:
- Expiration date
- Package/subscription info
- Number of connections allowed
- Select accounts to approve
- Click Approve Selected
Approved accounts are added to your Live TV accounts and can be used immediately.
Syncing Channels
After adding an account, you need to sync channels from the provider.
Manual Channel Sync
- Go to Live TV > Accounts
- Find your account in the list
- Click Sync Channels button
- Wait for sync to complete
What Gets Synced:
- Channel names and numbers
- Categories/groups
- Stream URLs
- Channel logos (if available)
- EPG channel IDs
- Archive/catch-up availability (Stalker)
What Happens During Sync
- Cinephage connects to provider
- Requests channel list
- Parses and normalizes channel data
- Downloads channel logos
- Updates database with channel information
- Shows sync results (channels added/updated/removed)
Sync time depends on number of channels:
- Small lists (100 channels): ~10-30 seconds
- Medium lists (500 channels): ~1-2 minutes
- Large lists (2000+ channels): ~3-5 minutes
Auto-Sync
Some providers support automatic channel synchronization:
- Stalker: Channels sync when you access Live TV
- XStream: Manual sync required
- M3U: Auto-refresh if enabled (URL only)
Managing Channels
Channel Overview
After syncing, view all channels at Live TV > Channels:
- Grid view with channel logos
- Category filtering
- Search functionality
- Status indicators (active/inactive)
Enabling/Disabling Channels
Not all channels from your provider may be relevant:
- Go to Live TV > Channels
- Find the channel to disable
- Toggle the Active switch off
- Channel is hidden from lineup
To Re-enable:
- Show disabled channels using the filter
- Toggle Active switch on
Channel Categories
Cinephage automatically imports categories from your provider. You can also create custom categories:
Viewing Categories
- Go to Live TV > Categories
- See all imported categories
- Shows channel count per category
Creating Custom Categories
- Click Add Category
- Enter category name
- Select color/icon (optional)
- Assign channels from any provider
- Click Save
Use Cases for Custom Categories:
- Favorites - Your most-watched channels
- Sports - Combine sports channels from all providers
- News - International news channels
- Kids - Family-friendly channels
Channel Lineups
Lineups determine which channels appear in your M3U playlist and Live TV interface.
Understanding Lineups
A lineup is a curated list of active channels:
- Can include channels from multiple providers
- Defines channel order
- Controls which channels appear in exported playlists
- Multiple lineups for different purposes
Creating a Lineup
- Go to Live TV > Lineups
- Click Create Lineup
- Enter lineup name (e.g., "Main", "Sports", "Family")
- Select channels:
- Click to add individual channels
- Use filters to bulk-select by category
- Search to find specific channels
- Arrange order:
- Drag and drop to reorder
- Use auto-sort by category or name
- Click Save
Default Lineup
Set a default lineup that appears first:
- Go to Live TV > Lineups
- Click the star icon next to your preferred lineup
- This lineup loads by default in the Live TV player
Multiple Lineups Strategy
Create different lineups for different use cases:
| Lineup | Purpose | Channels |
|---|---|---|
| All Channels | Complete provider list | Everything |
| Sports Only | Sports viewing | Sports categories |
| News | News monitoring | News channels |
| Family | Kid-friendly viewing | Family-safe channels |
| International | Specific languages | Language-specific |
Electronic Program Guide (EPG)
EPG provides TV schedule information for your channels.
EPG Sources by Provider
| Provider | EPG Support | Source |
|---|---|---|
| Stalker | Full | Retrieved from portal automatically |
| XStream | Planned | Via XStream EPG API (coming soon) |
| M3U | Optional | Requires external XMLTV URL |
Configuring EPG
For Stalker Portals
EPG is automatic:
- Stalker accounts include EPG data
- Sync channels to fetch EPG mappings
- EPG updates automatically with channel sync
- Configure refresh interval in settings
EPG Settings:
- Refresh Interval - How often to update EPG (default: 6 hours)
- Cache Duration - How long to keep EPG data (default: 24 hours)
For M3U Playlists
Add external EPG:
- When creating/editing M3U account, add EPG URL
- EPG should be in XMLTV format (.xml or .xmltv)
- Cinephage fetches and parses EPG data
- Maps channels using tvg-id attributes
Many IPTV providers offer XMLTV EPG URLs. Common sources:
- Provider-specific EPG (check your account panel)
- iptv-org/epg GitHub repository
- Third-party EPG services
Viewing EPG
- Go to Live TV > Guide or Live TV > Channels
- Channels show current and upcoming programs
- Click a channel for detailed schedule
- Navigate by time (now, next 24 hours, etc.)
EPG Features
- Current Program - What's playing now
- Up Next - Next 3-4 programs
- Full Schedule - Complete day view
- Program Details - Description, ratings, categories
M3U Playlist Export
Cinephage generates M3U playlists for use with external players.
Accessing Your Playlist
The M3U playlist is available at:
http://your-cinephage-url/api/livetv/playlist.m3u
Examples:
http://localhost:3000/api/livetv/playlist.m3u
Playlist Contents
The generated M3U includes:
- All active channels from your selected lineup
- Stream URLs (resolved from any provider type)
- Channel names and numbers
- EPG mapping (if configured)
- Category tags (group-title)
- Channel logos
Using with External Apps
Point any M3U-compatible player to the playlist URL:
VLC
- Media > Open Network Stream
- Paste playlist URL
- Click Play
IPTV Apps (iOS/Android)
- Add playlist by URL
- Enter Cinephage playlist URL
- Add EPG URL if desired
Smart TVs
- Install IPTV app (Smart IPTV, IPTV Smarters, etc.)
- Configure with playlist URL
- Enter EPG source
Kodi
- Install PVR IPTV Simple Client
- Set M3U playlist URL
- Set XMLTV URL for EPG
- Enable client
Jellyfin/Emby/Plex
- Add M3U tuner
- Enter Cinephage playlist URL
- Configure guide data
Playlist Updates
The playlist updates automatically when:
- Channels are synced
- Lineup is modified
- Channels enabled/disabled
External players should refresh playlists periodically.
Stream Playback
Direct Playback in Cinephage
- Go to Live TV > Channels
- Click any channel
- Stream plays in the built-in player
Player Features:
- Full-screen mode
- Channel up/down
- Volume control
- Quality selection (if multiple streams)
Playback via Media Server
Import the M3U playlist into your media server:
- Get playlist URL from Cinephage
- Add as IPTV source in Jellyfin/Emby/Plex
- Configure EPG for program guide
- Watch through your media server's interface
Failover Support
If you have multiple providers with the same channels:
- Cinephage detects duplicate channels
- Creates failover chains automatically
- If primary stream fails, tries backup sources
- Seamless failover in M3U playlist
Troubleshooting
Account Test Fails
Stalker Portal:
- Check Portal URL - Must include
/csuffix - Verify MAC Format - Must be
00:1A:79:XX:XX:XXwith colons - Test Portal Access - Try opening portal URL in browser
- Check Account Status - Ensure account is active with provider
- Firewall/Network - Verify Cinephage can reach portal
XStream Codes:
- Verify URL Format - Should be
http://server:portwithout paths - Check Credentials - Username/password are case-sensitive
- Account Status - Verify account is active
- Port Access - Ensure port is not blocked by firewall
M3U Playlist:
- URL Accessibility - Try opening M3U URL in browser
- File Format - Verify file is valid M3U/M3U8 format
- Authentication - Some M3U URLs expire; get fresh URL from provider
- File Upload - If uploading, ensure file isn't corrupted
Channels Not Loading
After Sync:
- Check Sync Results - Review how many channels were found
- Verify Account Active - Ensure subscription hasn't expired
- Re-sync Channels - Try syncing again
- Check Logs - Look for specific errors in Cinephage logs
Specific Channels:
- Channel Status - Verify channel is enabled in lineup
- Stream URL Valid - Some channels may have dead streams
- Geographic Restrictions - Some streams may be geo-blocked
EPG Not Showing
Stalker Portals:
- Re-sync Channels - EPG comes from portal during sync
- Check EPG Settings - Verify refresh interval is configured
- Portal EPG - Some portals have limited or no EPG data
- Wait for Update - EPG may take time to populate
M3U with External EPG:
- Verify EPG URL - Ensure URL is accessible and returns XMLTV
- Check tvg-id - Channel IDs in M3U must match EPG
- Format Compatibility - Ensure XMLTV format is valid
- Manual Refresh - Trigger EPG refresh in settings
Streams Not Playing
Buffering/Stuttering:
- Check Bandwidth - Live TV streams need stable connection
- Try Different Channel - May be provider-side issue
- Check Stream Format - Some players don't support all formats
- Use External Player - Try VLC or dedicated IPTV app
"Stream Unavailable":
- Provider Issue - Channel may be offline temporarily
- Account Limit - May have exceeded concurrent connections
- Expired Account - Check subscription status
- Try Failover - If available, try backup stream
Portal Scanner Not Finding Accounts
- Verify Portal URL - Must be valid Stalker portal
- Check MAC Range - Try different MAC prefixes
- Rate Limiting - Portal may block rapid requests
- Portal Security - Some portals have anti-scanning measures
- Increase Timeout - Some portals respond slowly
Migration Notes
From Stalker-Only Mode
If you previously used Stalker-only mode:
- All existing Stalker accounts are preserved
- Channel lineups remain intact
- You can now add XStream and M3U accounts
- Channel lineups can mix channels from all provider types
- EPG settings migrate automatically
Updating from Older Versions
When updating Cinephage:
- Restart Cinephage after update
- Re-sync Live TV accounts to get latest features
- Review lineup configuration for new options
- Check EPG settings for new configuration options
Best Practices
Account Management
- Test Before Adding - Always test account credentials
- Use Descriptive Names - Name accounts by provider/purpose
- Monitor Expiration - Keep track of subscription dates
- Regular Syncs - Sync channels weekly to catch changes
Lineup Organization
- Create Purpose-Specific Lineups - Different lineups for different uses
- Disable Unused Channels - Improves performance and clarity
- Use Categories - Organize channels logically
- Set Default Lineup - Choose most-used lineup as default
Performance
- Limit Active Channels - Too many active channels slows EPG loading
- Schedule Syncs - Sync during low-usage hours
- Cache EPG - Don't refresh EPG too frequently
- Use Appropriate Quality - Some providers offer multiple quality streams
Limitations
By Provider Type
Stalker:
- Portal API versions may vary
- Stream URL formats vary by portal
- Some portals limit concurrent connections
XStream:
- EPG not yet implemented
- Archive/catch-up not fully tested
- API variations between XStream versions
M3U:
- No built-in EPG (requires external source)
- No authentication management
- No automatic failover
- URLs may expire
General Limitations
- DVR/recording not yet supported
- Some streams require specific codecs
- EPG mapping accuracy depends on provider data
- Channel logos may not be available for all channels
See Also
- Understanding the Interface - Navigate the Live TV interface
- Troubleshooting - General troubleshooting steps
- Configure Subtitles - Set up subtitles for live TV