@Ant - Some random thoughts...
Just in case you have not found it, you can get to the TVH WebUI via http://[TVH_IP]:9981.
From there, from the main configuration tab, set yourself to be 'Expert'.
If you go into the debugging tab, you can add trace/debug for various subsystems and nominate a log file name. You can also do this directly from the command line at startup.
https://docs.tvheadend.org/documentation/appendices/debugging
In the DVR profile, you can set your codec to 'Passthru'. This will do no transcoding at all. If you still cannot play something recorded with passthru, this could give you a hint as to what's going on.
A tool like FFMPEG or VLC can be used to see what codecs the broadcaster is using.
You also did not mention which version of TVH you are using.