If you are trying all the suggestions above,and you are not getting the same results as playing the Network/Mux url on VLC, first you need to uncheck HTTP Digest Authentication from General config, then yo have to create a new stream profile type Pass-Through, and uncheck the four rewrite options, after that, you need to add a new user and pass and finally, create an access control for that user, selecting just the created profile, define as none the Preferred service video type option and check the Switch to another service option...
After that, download your playlist using http://user:pass@server:9981/playlist(this will create two request to server, once junidentified and another one with basic auth, so for half a minute you will see two subscriptions) and thats it, enjoy it.... if your media includes, mp3, mp4, avi , etc... you may use another type of stream profile...or, get the channel list streams directly from /api/channels/grid and use uuid on /stream/channel/uuid, and get the original url for the rest of channels from the /api/mpegts/mux/grid...
Anything yo get from the htv server at least will be proxying the packets, unless yo use the mux URL from api o the media fall on no profile and switch to something I call, all-pass.profile.
I am running on the same thing becausse I am using TVH on RaspPi, and I am using TVH as Media Hub, so It controls my live subscriptions, and provedes acurate EPG, and for the other media, TVH acts as URI repository....