This is an electronic program guide for TV Headend, whose user interface is rendered entirely in simple HTML so as to be lightweight.
It was written because TVH doesn't really have an EPG, just a list of what's on and how much of currently playing programs has elapsed.
Users can choose just to see a channel list, a full EPG in the classic style of horizontal bars for each channel, and a list of recordings.
This tool doesn't have the ability to play channels or recordings at all, rather, it outputs an m3u playlist file which can be opened in a player like VLC or MXPlayer.
There is now basic Chromecast support (which requires that the web server running this program is on the same network (broadcast domain) as a Chromecast.
It's a simple python3 cgi-bin program which grabs channel, EPG or recordings data from a TVHeadEnd server and presents it in a grid form, with a link to click to play the channel.
This cgi-bin program runs independently of the TV Headend server, it can run on the same machine (but in, say, Apache) or a different one.
I expect to add more features to make it more useful... I'd be grateful for any help I can get! See the ROADMAP for plans and changes.
Although the instructions seem a little daunting at first, each stage should be fairly easy.
Create a user for playing media, enabling persistent authentication, and copy off that token and put into the settings along with the username and password.
There is basic support for chromecast, see CHROMECAST.md for installation details. The web server running the CGI needs to be on the same network. It's quite slow as the pychromecast library has to listen on the network for the chromecast to announce itself.
Note that you need 9.4.0 because any later changes break tvh_epg https://github.com/home-assistant-libs/pychromecast/archive/refs/tags/9.4.0.zip
Thanks to https://github.com/dgilbert2 for finding that and letting me know
See ROADMAP.md
This program only exists because of the awesome developers working on https://tvheadend.org
And also big thanks to Paulus Schoutsen (balloob) for pychromecast
A big thanks to dgilbert2 for being a patient alpha tested
https://github.com/balloob/pychromecast - the library used for chromecast support
https://github.com/dave-p/TVH-API-docs - the API docs
https://tvheadend.org/boards/5/topics/34232 - the TVH forum discussion which sparked this off
https://tvheadend.org/boards/5/topics/21836?r=39707 - the discussion about pychromecast