LiveTVH provides live TV streaming for Plex via Tvheadend, including metadata from Tvheadend’s EPG, theTVDB, and The Movie DB.
After running into a few issues with the existing Tvheadend channels (streaming to iOS, etc), developing a new plugin was a good excuse to play around with Python and the channel framework. I’m not a developer by trade so feedback is appreciated!
2018.07.25 - LiveTVH 1.4
- New: Support both plain and digest authentication for Tvheadend HTTP authentication
- New: Channel artwork via HTTPS now falls back to SSL without certificate verification if necessary due to a Plex issue
- Changed: Plex Web no longer supports direct streaming 256kbps audio, lowered specified audio bitrate for audio direct streaming
- Bugfix: Recordings failed to display when resolution was not set
- Bugfix: Plugin failed to respond if theTVDB metadata is enabled and thetvdb.com is unreachable
- Bugfix: Plugin failed to respond when accessing recordings if the Tvheadend recordings data contains invalid UTF-8 characters, added fallback to ISO-8859-1 characters
2018.07.08 - LiveTVH 1.3
- Updated: Tvheadend channel tags support additional codecs, resolutions, and radio (audio-only) channels
- Updated: Changed image filenames to match Plex channel guidelines.
2017.05.22 - LiveTVH 1.2
- New: Paginated channel lists with configurable # of items per page - this helps with longer channel lists (a necessity for IPTV providers with thousands of channels).
- New: Tvheadend recordings for playback - located at the end of the first page of the channel list (a display bug with several Plex clients prevents placing it at the beginning of the list).
- New: Codec identification using Tvheadend channel tags (experimental). This can enable direct streaming for H264-AAC streams on some clients - see the notes on GitHub.
- Updated: EPG parser to improve support for IPTV sources, including using images for a show if specified in the EPG (if other metadata providers are not available or are missing artwork).
- Updated: EPG item limit to 20k items/20MB (again, for IPTV sources).
- Updated: Plex clients will now display channel thumbnails as video clip objects (widescreen thumbnails) if metadata providers are disabled.
- Updated: Code housekeeping (partially PEP8-conformant)
- Bugfix: transcoding quality options not visible during playback
- Bugfix: episode names from EPG were not set on Plex for Android
2017.05.14 - LiveTVH 1.1
- EPG is no longer hard set - the number of EPG items requested is now based on the number of channels and hours of EPG data necessary (up to a maximum of 10,000 items or 10MB of data).
- Bugfix: Thumbnails fallback to a channel logo when a show matches theTVDB but does not have a poster.
- Bugfix: 12-hour time displays correctly on non-linux platforms.
- Bugfix: Year displays for movies (when available from TMDb).
2017.05.10 - Initial release 1.0
- EPG: displayed as a simple list within each channel description, with a configurable time period to display in 12/24 hour time.
- Recordings: available for playback with rich metadata if available.
- Rich metadata: provided via theTVDB and The Movie DB.
- If available through Tvheadend’s EPG, searching theTVDB utilizes zap2it ID information for more exact matches and will fall back to searching by name if not available.
- Fallback to using EPG images or Tvheadend channel icons if artwork is not available from the metadata providers.
- Customized for different clients to display metadata more efficiently - Plex clients vary quite a bit in which fields they choose to display!
- Direct streaming available and tested with Plex Web, iOS, Roku, and Android - this requires setting the video resolution and codecs as Tvheadend channel tags
- Caching where possible for EPG data, metadata and images to minimize channel list load times.
- Tvheadend stream URL checking for availability prior to sending the stream to the client - this prevents long timeouts on the client if Tvheadend stream is inaccessible (no available tuner, no connection to the source, etc).
Installation and Setup
LiveTVH is available on GitHub, along with setup notes and known issues:
Have feedback or an issue? Post here or at https://github.com/taligentx/LiveTVH.bundle/issues !
For issues, the following logs are useful:
/Plex Media Server/Logs/PMS Plugin Logs/com.plexapp.plugins.livetvh.log
- Plex Media Server:
/Plex Media Server/Logs/Plex Media Server.log
- Plex for iOS: https://support.plex.tv/hc/en-us/articles/201636593-iOS-Logs
- Plex for Android: https://support.plex.tv/hc/en-us/articles/201573117
- Plex Web: https://support.plex.tv/hc/en-us/articles/201611836-Plex-Web-App-Logs
- Note that there is a specific sequence to get logs from Plex Web: enable debug logging, reproduce the issue, view and collect the logs, then disable logging as the final step (disabling the logging instantly wipes the logs).