Tvheadend setup and DVR permissions
Live TV and recordings need separate permissions. A TVH account can play channels while being denied DVR access, leaving recorded catch-up and past recorded EPG unavailable.
These instructions describe Tvheadend integration tested in AMP 1.2 (5) with TVH 4.3. Availability depends on your installed AMP version. TVH recordings remain TV archives in AMP, not Movies or a VOD playlist.
Prepare the TVH account
Open Configuration → Users → Access Entries in TVH. Create or edit the enabled account intended for AMP. Names can vary between TVH versions.
- Allowed networks: permit the actual client network or trusted VPN network, not every network as a troubleshooting shortcut.
- Streaming: enable the HTTP streaming access and profile required for the selected channels.
- Web interface: allow the web/API access used for channel information and native TVH integration. This is not Admin access.
- Video Recorder → Basic: enable recorder access. This is required separately from live streaming.
- Video Recorder → View all: enable only if this account should see recordings owned by other TVH users, including server-created automatic recordings.
- Channel and DVR profile restrictions: include the channels and recording profiles this account is intended to access.
Save the Access Entry. In Configuration → Users → Passwords, check that an enabled password entry exists for the same username.
Admin and Manage all are not required for AMP archive browsing and playback. Use a dedicated account with only the intended permissions. TVH's Basic recorder privilege is not a promise of a server-side read-only account. Archive browsing reads retained recordings; the TVH DVR Manager additionally submits recording and rule commands only when you choose and confirm them. Managing another user's recordings depends on the server's ownership and permission checks; View all alone does not grant management rights.
The TVH DVR API reference identifies Video Recorder Basic as the RECORDER privilege required by its DVR functions.
Add the playlist and XMLTV guide
Replace the fictional host below with your own accessible server. Preserve any configured reverse-proxy path prefix.
Playlist URL: http://tvh.home.arpa:9981/playlist/channels.m3u EPG URL: http://tvh.home.arpa:9981/xmltv/channels
- In AMP Pro Manager, add a Live TV source with a name and the usual playlist URL.
- Check Tvheadend Secure Playlist and enter TVH username and TVH password in the separate fields.
- Set the EPG URL on that same source row. The tested TVH export does not advertise a guide URL itself. The manager carries source credentials to the matching same-server
/xmltv/channelsendpoint. - Save, then return to AMP and refresh the assignment. Use the server URL, not an uploaded local M3U file, for this secure native TVH setup.
Use the separate credential fields so the manager encodes special characters. Do not manually concatenate a password containing @, :, #, % or spaces into a URL.
For an HTTPS reverse proxy, use its origin for both URLs:
Playlist URL: https://tvh.example.com/playlist/channels.m3u EPG URL: https://tvh.example.com/xmltv/channels
HTTP Basic/Digest authentication does not encrypt media or guide traffic. Use HTTPS or a trusted VPN for remote access. Keep authentication enabled and never share real passwords, credential-bearing URLs or playback tickets. See playlist credential safety.
Prepare recorded catch-up and groups
Configure the desired recording rules in TVH and retain both recording files and their DVR log entries. For continuous channel coverage, manage the automatic recording rules on the server. Enabling DVR alone does not create a 24-hour archive.
AMP builds past recorded programme rows and days from the authorized DVR inventory. The tested XMLTV feed contained only current/future events. A day without a retained, accessible recording is not a promised catch-up day; current XMLTV cannot reconstruct unrecorded past programmes.
Keep the exported tvg-id: AMP matches recordings to the original TVH channel UUID. A channel archive indicator confirms an available retained recording; future timers alone are not an archive.
Assign Channel Tags in TVH to use them as groups in AMP. Authorized channels can belong to more than one tag. Configure correct TVH channel icons where available; artwork matching is only a fallback.
Manage recordings from a channel
Open the selected channel's EPG → TVH DVR Manager, or its Live TV player menu. The manager is available for detected TVH sources and stays scoped to that channel, using the source account rather than a global administrator connection.
- Events: select up to 50 current or future broadcasts per batch, choose an allowed recording profile, inspect the confirmation and schedule them. Record now without a guide event uses the explicit duration.
- Quick EPG recording: choose the Record action on a current or future programme row. Record now records the current event; a future event can be scheduled. Record future episodes automatically opens the rule preview.
- Scheduled: cancel future timers or stop an active recording while keeping its file.
- Finished: play retained recordings or delete a recording after the irreversible-file warning. Deletion removes the server file.
- Auto Rec.: create, enable, disable or delete automatic rules. Use broadcaster series identifiers when available; otherwise the preview explicitly labels a title-and-channel rule. Available duplicate and broadcast options come from TVH.
When the account permits only one recording profile, AMP shows that profile and explains why there is no selector. Recording storage reports Free, Used by TVHeadend and Total in GiB for the server's default recording storage, with a checked time. Refresh updates the sample; other profiles may use a different disk. An unavailable storage sample does not prevent permitted recording actions.
The TVH server performs the recording and must remain running. Automatic rules schedule matching broadcasts; they do not restore missed episodes. Inspect confirmations, record only authorized media, and do not repeat a command whose server outcome is still uncertain. See the DVR Manager support summary.
Check the result in AMP
- Check live picture and sound, channel switching, Now/Next and any configured tag groups.
- Open EPG on a channel with a retained recording. Check its recordings and applicable past recorded days.
- Play a completed event and confirm it stays in Live TV archive playback.
After changing permissions, close and reopen the EPG. Allow the channel-card archive cache to refresh; its interval is 60 seconds. Downloading additionally requires explicit offline-saving authorization for that source and a supported platform. DVR access alone does not authorize downloading content.
Still-recording events: playback from the beginning of an unfinished, growing recording is not verified by this setup guide. Do not assume a permission change enables that feature.
Troubleshoot missing recordings or past EPG
- Live works but DVR is missing, or the DVR API returns 403 Forbidden: check Video Recorder Basic and the matching Access Entry. Do not grant Admin or disable authentication.
- DVR succeeds but other users' recordings are absent: check whether View all is intended and enabled, plus channel and DVR profile restrictions.
- 401 Unauthorized: check the enabled password entry and the credentials saved with this source.
- An earlier day is absent: check for a retained recording for that channel/day; current XMLTV need not contain expired events.
- A listed recording does not play: check that its file exists and is accessible. Listing a recording does not prove its playback.
- Now/Next is absent: check the explicit guide URL, guide access and original TVH channel identifiers.
For diagnostics, test /api/serverinfo, /api/channel/grid, /xmltv/channels and /api/dvr/entry/grid using the same account as AMP. The DVR grid is paginated: the first page can contain only scheduled events while completed recordings appear later. Check every page before declaring the archive empty.
A tested account returned live channels and XMLTV successfully but denied DVR with 403. After recorder access was corrected, recorded history worked on the iPhone and the complete inventory could be read. Send support sanitized endpoint paths, status codes and steps, not raw private responses.