Unable to play new IPTV channels on TVH 4.0.9
I'm still running TVH 4.0.9, since there doesn't seem to exist a simple upgrade path to 4.2. On it I had a dozen IPTV channels that are configured as muxes on the IPTV network, using a bash script called on a pipe:// command line to get the streams and convert them appropriately for TVH and Kodi (17.3). Those worked and still work.
I've since added a lot more IPTV channels, setting them up exactly the same way as the old ones but I can't play them on Kodi (addon using HTSP). They work through the TVH Web interface, they work on VLC with a playlist generated from TVH (all using HTTP), but will not start playing on Kodi. The old channels still work.
I've tried copying the command line from an old mux into a new one and it does not play. I tried putting the command line from a new mux into an old one and the new stream plays correctly. So there is no problem with the streams, the issue is inside TVH that has some internal setting on the new muxes different from the old ones or is plain broken. I've checked the read-only infos on the Web interface and, apart from Mux UUIDs and the obvious differences because of the different streams (command line, mux name, ...) eveything is the same.
What can prevent streaming in HTSP for some channels only ?
I found the problem; apparently if video dimension information is not present in the service definition file Kodi or its addon is unable to play the stream. That information is conveyed by the width, height and duration tags inside the file, that must match the information on the original stream. For some reason THV does not extract that information from the pipe output, even if I run the scan and it succeeds, and therefore Kodi does not play the streams.
I had to manually add the tags to each of the service definition files inside /home/.hts/... to make it work.