Overview
Channels in Dispatcharr are virtual channel assignments that can pull streams from one or multiple M3U sources. Each channel has:- Channel Number: Unique identifier for the channel (supports decimals like 2.1)
- Name & Logo: Display information for the channel
- Multiple Streams: Assign multiple streams with automatic failover
- EPG Integration: Link channels to Electronic Program Guide data
- Stream Profiles: Control transcoding and streaming behavior
- Access Control: User-level restrictions and adult content filtering
Channel Structure
Channels are organized into a flexible hierarchy:Channels
Virtual channel assignments with unique channel numbers
Channel Groups
Organize channels into categories (Sports, News, Movies, etc.)
Streams
Actual stream sources from M3U accounts
Channel Profiles
Control which channels are enabled for specific users
Creating Channels
Add New Channel
Click the “Add Channel” button and provide:
- Channel number (auto-assigned if not specified)
- Channel name
- Optional logo URL
- Channel group assignment
Assign Streams
Add one or more streams from your M3U accounts:
- Streams are tried in order
- Automatic failover if primary stream fails
- Each stream can have its own profile
Stream Assignment & Failover
Multiple Stream Sources
Channels support multiple streams with automatic failover:- Primary Stream: First stream in the order is tried
- Failover: If unavailable, next stream is attempted
- Profile Selection: Each M3U account can have multiple profiles with connection limits
- Redis Tracking: Active streams tracked in Redis for connection management
Streams are selected based on order and profile availability. If all profiles for a stream are at maximum connections, the next stream in order is tried.
Connection Management
Dispatcharr intelligently manages stream connections:Profile Connection Limits
Profile Connection Limits
Each M3U profile has a
max_streams setting:- 0: Unlimited connections
- N: Maximum N concurrent connections
- Other profiles on the same M3U account
- Next stream source in the channel’s stream list
Stream Selection Algorithm
Stream Selection Algorithm
Channel Groups
Organize channels into logical categories:- Auto-Sync: Automatically create/delete channels from M3U groups
- M3U Mapping: Link M3U account groups to channel groups
- Custom Organization: Override automatic grouping
Auto Channel Sync
EPG Integration
Link channels to Electronic Program Guide data:Manual EPG Assignment
Auto-Matching
Dispatcharr can automatically match channels to EPG sources:- By TVG ID: Matches
tvg_idfield - By Name: Fuzzy matching on channel name
- Priority: EPG sources have priority levels for conflict resolution
Run EPG matching from the Channels page or configure automatic matching when importing EPG data.
Stream Profiles
Control how channels are streamed to clients:Profile Assignment
Profiles can be assigned at multiple levels:- Channel Level:
channel.stream_profile- Overrides default - Stream Level:
stream.stream_profile- Per-stream configuration - Default Profile: System-wide default from CoreSettings
Profile Features
Proxy
Pass-through streaming with minimal processing
Redirect
Direct client to original stream URL
Transcoding
FFmpeg transcoding with custom parameters
Custom Backends
Use Streamlink, VLC, or custom scripts
Advanced Features
Adult Content Filtering
- Hidden from specific users
- Filtered in playlist exports
- Restricted by network access rules
Custom Properties
Store arbitrary metadata:- Provider-specific metadata
- Custom integration data
- Plugin extensions
Recording & DVR
Schedule recordings for channels:One-Time Recordings
One-Time Recordings
Recurring Rules
Recurring Rules
Real-World Use Cases
Consolidate Multiple Providers
Geographic Redundancy
Custom Channel Ordering
API Operations
Channels can be managed via REST API:List Channels
GET /api/channels/Filter by group, search, orderingCreate Channel
POST /api/channels/Auto-assigns next available channel numberUpdate Channel
PATCH /api/channels/{id}/Modify channel propertiesDelete Channel
DELETE /api/channels/{id}/Removes channel and stream assignmentsBulk Operations
- Match EPG: Auto-match channels to EPG data
- Assign Streams: Bulk assign streams to channels
- Update Properties: Batch update channel metadata
- Export: Generate M3U or XMLTV exports
All channel operations support real-time WebSocket updates to keep the UI in sync.