Phase: N (End-User Documentation) Step: N.16 Since: 0.18.0
TL;DR โ
Live TV lets you watch and record broadcast, cable, and IPTV channels through Phlix. You connect a tuner (HDHomeRun over the network, a USB DVB-T stick on Linux, or an IPTV M3U playlist), configure guide data (Schedules Direct or XMLTV), and you're ready to watch live TV or schedule recordings. Setup takes 10โ30 minutes depending on tuner type and guide data source. Once configured, Live TV appears alongside your regular media library.
1. Tuner Types โ Which One to Use โ
| Tuner | Connection | Platforms | Channels | Notes |
|---|---|---|---|---|
| HDHomeRun | Network (Ethernet/WiFi) | Any | ATSC/DVB-C/T | Zero-config discovery on LAN |
| USB DVB-T/T2 | USB on server | Linux only | DVB-T/T2 | Kernel drivers required |
| IPTV / M3U | Internet/IPTV | Any | Varies | Playlist from ISP or IPTV provider |
Recommendation: HDHomeRun for most users (simplest), IPTV for cord-cutters without an antenna, DVB-T for Linux-only servers with antenna access.
2. Setting Up an HDHomeRun Tuner โ
Step-by-step โ
- Connect the HDHomeRun device to your network (wired recommended for reliability).
- Discover the device IP address:
# Auto-discover HDHomeRun devices on the LAN
hdhomerun_config discover
# Example output:
# hdhr: 192.168.1.100 / tuners: 2- Verify the channel lineup is detected:
# Replace DEVICE_ID with your HDHomeRun device ID
hdhomerun_config DEVICE_ID get /lineup/statusYou should see a list of channels with numbers and names. If the list is empty, the HDHomeRun may not have found antenna/cable channels โ check your antenna placement or cable signal.
- In the Phlix web UI: go to Settings โ Live TV โ Add Tuner โ HDHomeRun.
- The device IP is auto-detected if it is on the same LAN. Select it and confirm.
- Phlix scans and imports all detected channels.
Tuner status and concurrent streams โ
Each HDHomeRun model specifies a maximum number of simultaneous streams (commonly 2 or 4). The Live TV section of the UI shows each tuner and its current status (idle / streaming / recording). You cannot exceed the per-tuner stream limit โ a second stream request when all tuners are busy returns an error.
3. Setting Up a USB DVB-T Tuner (Linux) โ
Requirements โ
- Linux server with a kernel supporting DVB-T/T2 (most modern kernels)
- A supported USB DVB-T/T2 stick (e.g., RTL-SDR, Astro DMW, Hauppauge WinTV)
- Antenna connected to the tuner
Step-by-step โ
- Plug the USB tuner into the server. Check
dmesgfor recognition:
dmesg | grep -i dvb
# Expected: "DVB: registering adapter 0/0" etc.- Install the required firmware (varies by tuner โ check the device docs):
# Example for RTL-SDR:
apt install librtlsdr0- In Phlix: go to Settings โ Live TV โ Add Tuner โ DVB-T.
- Phlix scans the available frequency range and imports discovered channels.
- If no channels are found: check antenna placement, try outdoors, or use an amplified antenna.
Linux-only note: DVB-T tuners require the server to be Linux. If your Phlix server runs in Docker on a NAS, USB passthrough must be correctly configured for the container to access the device.
4. Setting Up IPTV / M3U โ
When to use IPTV โ
When you have an IPTV subscription from an ISP or third-party provider, or when you use a public IPTV service that provides an M3U playlist.
Step-by-step โ
- Get the M3U playlist file from your IPTV provider (usually a
.m3uor.m3u8URL or file). - In Phlix: go to Settings โ Live TV โ Add IPTV Tuner.
- Upload the
.m3ufile or paste the M3U URL. - Phlix imports the channel list from the playlist.
- Optional: upload XMLTV guide data (see ยง5 below).
M3U format: Phlix reads #EXTINF lines for channel names and channel numbers. The order in the M3U determines the channel numbering unless overridden.
5. Setting Up the Electronic Program Guide (EPG) โ
Live TV is significantly more useful with guide data (EPG) showing program listings and schedules. Phlix supports two sources: Schedules Direct (recommended) and XMLTV (self-hosted).
5a. Schedules Direct (Recommended) โ
Account setup:
- Go to schedulesdirect.org and create an account (~$25/year).
- Log in and select your lineup (antenna channels by ZIP/postal code or your IPTV provider's channel lineup).
- Note your username and password for the next step.
In Phlix:
- Go to Settings โ Live TV โ EPG Source โ Schedules Direct.
- Enter your Schedules Direct username and password.
- Phlix connects and syncs your channel lineup.
- Initial sync downloads ~14 days of guide data and may take a few minutes.
- Guide data refreshes automatically every night. To force an immediate refresh, click Refresh Guide in the Live TV settings.
What you get: Program titles, descriptions, start/end times, categories, and original air dates for each channel. This data powers the program guide in the UI, upcoming program listings, and DVR series rule matching.
5b. XMLTV Import (Self-Hosted / Free) โ
If you prefer not to pay for Schedules Direct, you can use free XMLTV data from xmltv.org or a similar source. Free XMLTV data is often less complete and may have stale or missing entries for some channels.
Step-by-step:
- Download an XMLTV schedule for your region (e.g., from xmltv.org).
- In Phlix: go to Settings โ Live TV โ EPG Source โ XMLTV Import.
- Upload the
.xmlor.xml.gzfile. - Phlix parses and imports the guide data.
- Re-upload periodically (or script it) to keep the guide current.
6. DVR Scheduling Basics โ
Once your tuners and guide data are configured, you can schedule recordings.
Series Rules โ
When you record a show from the guide, Phlix asks whether to create a series rule:
| Option | What it does |
|---|---|
| Record all episodes | Records every future episode of this show |
| New episodes only | Skips reruns; only records episodes flagged as new |
| Specific timeslot | Records only episodes that air in the chosen time slot |
Series rules appear in Settings โ Live TV โ Recording Rules where you can edit or delete them.
Conflict Resolution โ
When two shows are scheduled to record at the same time:
- Both tuners free โ both recordings start normally.
- One tuner busy, one free โ the free tuner records the higher-priority show; the other is marked as conflict.
- Both tuners busy โ one show is recorded; the other is marked as conflict and you are notified.
Conflict resolution preference: In Settings โ Live TV โ DVR, you can set whether Phlix prefers to keep existing recordings or prioritize new episodes when resolving conflicts.
Storage โ
Recordings are stored in the path configured in Settings โ Live TV โ Storage. This can be a dedicated folder (e.g., /var/recordings) or a subfolder of an existing media library.
Storage usage is shown in Settings โ Live TV โ Storage with total / used / free bytes.
Post-recording: After a recording completes, Comskip runs automatically if enabled (see Live TV Comskip) to detect and flag commercials.
7. What Can Go Wrong โ
Failure 1: HDHomeRun Not Discovered (UDP Port 65001 Blocked) โ
Symptom: HDHomeRun tuner is connected to the network but does not appear in Phlix during setup.
Diagnosis:
# hdhomerun_config uses UDP port 65001 for discovery
nc -zvu 192.168.1.100 65001
# Or use the discovery command (broadcasts on UDP 65001)
hdhomerun_config discoverFix: Open UDP port 65001 on your server firewall, router firewall, or VPN. Alternatively, manually enter the HDHomeRun IP address during setup instead of using auto-discovery. Find the IP via your router's device list or by checking the HDHomeRun's built-in web interface at http://<hdhomerun-ip>.
Failure 2: EPG Guide Data Shows Wrong Channels (M3U + XMLTV Mismatch) โ
Symptom: The program guide appears but channel numbers or names don't match the actual channels in the M3U playlist.
Diagnosis:
# Check the first few entries of your M3U playlist โ note the #EXTINF channel numbers
head -20 /path/to/playlist.m3u
# Check the corresponding channel IDs in your XMLTV file
grep -m 5 "<channel" /path/to/guide.xml
# The M3U #EXTINF index order should match the XMLTV channel IDsFix: The M3U and XMLTV files must have matching channel references. Re-export the M3U or XMLTV with matching channel identifiers, or switch to Schedules Direct which maintains its own channel map and avoids this mismatch entirely.
Failure 3: DVR Storage Drive Fills Up โ
Symptom: Recordings stop mid-recording or fail to start. The Live TV UI shows a storage error.
Diagnosis:
# Check recording storage path usage
df -h /var/recordings
# List recording file sizes
du -sh /var/recordings/* | sort -rh | head -20Fix: Free up space by deleting completed recordings you no longer need, changing the storage path to a larger drive (Settings โ Live TV โ Storage), or setting a maximum storage limit. Enable auto-delete to remove old recordings when space is low.
Failure 4: Recording Missed Due to Tuner Conflict โ
Symptom: A scheduled recording did not happen. The recording shows as "Missed" or "Conflict" in the UI. The tuner was busy with another show at the same time.
Diagnosis:
# Check the Live TV tuner status
curl http://localhost:32400/api/v1/livetv/tuners
# Look for a tuner that was busy (status: recording) during the missed show's time slotFix: Conflict resolution follows the priority set in Settings โ Live TV โ DVR. To avoid this: add a second tuner, adjust series rules to avoid overlapping timeslots, set conflict preference to "prioritize new episodes," or check the Upcoming Recordings list regularly for conflicts.
8. Next Steps โ
- Live TV Comskip โ configure automatic commercial detection and skipping in recordings
- DLNA / Play To โ stream live TV or recordings to DLNA-enabled devices
- Remote Access / Hub โ access Live TV from outside your home network
- Recording Rules โ managing and editing scheduled recordings