Overview
Dispatcharr integrates with Emby and Jellyfin using HDHomeRun emulation, allowing these media servers to discover Dispatcharr as a live TV tuner device. This enables:- Live TV viewing in Emby/Jellyfin
- DVR recording capabilities
- IPTV stream access through native interfaces
- Electronic program guide (EPG) integration
Both Emby and Jellyfin support HDHomeRun devices natively, making integration with Dispatcharr seamless.
How It Works
Dispatcharr emulates an HDHomeRun network tuner by providing compatible API endpoints:- Device Discovery: Returns device information and capabilities
- Channel Lineup: Lists available channels with stream URLs
- EPG Data: Provides XMLTV-formatted program guide
- Stream URLs: Proxies IPTV streams through Dispatcharr
Setup Instructions for Jellyfin
Access Live TV Settings
In Jellyfin:
- Navigate to Dashboard → Live TV
- Click Add to add a new tuner device
Select Tuner Type
- Choose Other or HDHomeRun as the tuner type
- Enter the device URL:
- Click Save
Replace
YOUR_SERVER_IP with your Dispatcharr server IP. For Docker setups, use container names if on the same network.Configure Channel Lineup
Jellyfin will fetch channels from Dispatcharr:
- Review the detected channels
- Select channels to enable
- Click Save
Add EPG Source
Configure the electronic program guide:
- Go to Dashboard → Live TV → Guide Data Providers
- Click Add
- Select XMLTV as the guide provider
- Enter the EPG URL:
- Click Save
Map Channels to EPG
- Go to Live TV → Channels
- Click on each channel to map it to EPG data
- Save your mappings
Setup Instructions for Emby
Import Channels
- Emby will discover channels from Dispatcharr
- Review and enable desired channels
- Configure channel numbers if needed
- Click Save
Configure Guide Provider
- Go to Settings → Live TV → Guide
- Select XMLTV as the guide provider
- Enter the EPG path:
- Set refresh interval (recommended: 4-6 hours)
- Click Save
Map Channels to Guide Data
- Go to Live TV → Channels
- Map each channel to its corresponding guide data
- Save your configuration
Using Channel Profiles
Create different HDHomeRun devices for different channel lineups using Dispatcharr’s Channel Profiles:- Create separate tuners for different content categories
- Manage multiple Emby/Jellyfin servers with different channel lineups
- Provide different content to different users
HDHomeRun API Endpoints
Dispatcharr provides these HDHomeRun-compatible endpoints:Discovery Endpoint
URL:/hdhr/discover.json or /hdhr/{profile}/discover.json
Response Example:
Lineup Endpoint
URL:/hdhr/lineup.json or /hdhr/{profile}/lineup.json
Response Example:
Lineup Status Endpoint
URL:/hdhr/lineup_status.json
Response Example:
Device XML Endpoint
URL:/hdhr/device.xml
Response Example:
Stream Endpoint
URL:/proxy/ts/stream/{channel_uuid}
This endpoint proxies the actual IPTV stream. The channel_uuid is provided in the lineup response.
Docker Network Configuration
Same Docker Network (Recommended)
- Device URL:
http://dispatcharr:9191/hdhr - EPG URL:
http://dispatcharr:9191/epg
Host Network Mode
- Device URL:
http://localhost:9191/hdhr - EPG URL:
http://localhost:9191/epg
Bridge Network with Port Mapping
- Device URL:
http://HOST_IP:9191/hdhr - EPG URL:
http://HOST_IP:9191/epg
DVR Recording
Both Emby and Jellyfin support DVR recording from HDHomeRun devices:Jellyfin DVR Setup
- Go to Dashboard → Live TV → DVR
- Enable DVR functionality
- Configure recording path
- Set post-processing options
- Navigate to Live TV guide
- Click on a program and select Record
Emby DVR Setup
- Go to Settings → Live TV → DVR
- Enable DVR
- Configure storage location
- Set quality and post-processing options
- Use the TV guide to schedule recordings
Troubleshooting
Emby/Jellyfin Can’t Detect Device
Channels Missing or Not Loading
- Verify channels are enabled in Dispatcharr
- Check that channel numbers are assigned
- Refresh channel lineup in Emby/Jellyfin
- Check Dispatcharr logs for errors
Streams Won’t Play
-
Test stream directly in VLC:
- Check Dispatcharr stream logs: Look for connection errors or source failures
- Verify stream profile configuration: Ensure output format is compatible with Emby/Jellyfin
- Test original source: Verify the upstream IPTV source is working
EPG Data Not Showing
- Verify EPG sources are configured in Dispatcharr
- Test EPG URL in browser:
- Check EPG mapping for channels
- Manually refresh guide data in Emby/Jellyfin
- Verify EPG refresh interval settings
Recordings Fail
- Check available disk space
- Verify recording path permissions
- Ensure stream is stable (use failover in Dispatcharr)
- Check Emby/Jellyfin logs for recording errors
- Test stream playback before recording
Performance Optimization
Transcoding Settings
For optimal performance, configure stream profiles in Dispatcharr to:- Use H.264 video codec (widely compatible)
- Use AAC or MP3 audio codec
- Set appropriate bitrate for your network
- Enable hardware acceleration if available
Jellyfin Playback Settings
- Dashboard → Playback → Transcoding
- Enable hardware acceleration (if supported)
- Set transcoding thread count
- Configure H.264 presets
Emby Playback Settings
- Settings → Transcoding
- Enable hardware acceleration
- Set maximum transcoding streams
- Configure codec preferences
Advanced Configuration
Multiple Tuner Instances
Create multiple virtual tuners with different profiles:Custom Tuner Count
Dispatcharr reports tuner count based on your configuration. This represents how many concurrent streams can be active. Adjust this in Dispatcharr settings to match your stream limits.User-Specific Channel Lineups
Combine Dispatcharr’s user authentication with channel profiles to provide different content to different users. Configure separate tuners per user profile.Feature Comparison
| Feature | Jellyfin | Emby |
|---|---|---|
| HDHomeRun Support | ✅ Native | ✅ Native |
| XMLTV EPG | ✅ Yes | ✅ Yes |
| DVR Recording | ✅ Free | ✅ Premium* |
| Hardware Transcoding | ✅ Free | ✅ Premium* |
| Live TV Guide | ✅ Yes | ✅ Yes |
| Multi-Tuner Support | ✅ Yes | ✅ Yes |
| Stream Transcoding | ✅ Yes | ✅ Yes |