Roku audio missing only when source is online, not local
New project, streaming video from a website through Streamlink and VLC to create a local http stream (http://mypc:8081) and that's the Serviio online source. There used to be an app that did all this including invoking VLC using Streamlink, that app is now dead so I'm recreating the process with Streamlink-VLC-Serviio.
My problem is that the audio is missing from both Roku and Serviio mediaBrowser (the audio plays fine locally in VLC if I just play the Streamlink source rather than streaming it as http). If I save the file using VLC instead of streaming it and then play that file through Serviio, the audio plays great in MB and in Roku. And, no transcoding is needed at all as a local file. So it's only a problem as an online source in Serviio.
It's probably some codec problem (h264 video codec in mpeg-4, audio is AAC muxing mode ADTS based on the saved file) but while troubleshooting I disabled transcoding in Serviio to narrow down exactly what was going on and, a transcoding job is still kicked off. My custom profile is definitely being invoked based on the Serviio log file:
"Delivering file 'http://mypc:8081' using transcoding (profile: CustomRoku4kMPM2 > quality: ORIGINAL > OnlineTranscoding > [APPLE_HTTP] > matcher: 2)"
The entire custom profile is a copy of the stock Roku profile except at the very end where I transcode audio from eac3 to ac3 (prior issue, not related to this). So the Online Transcoding section is this:
<Video targetContainer="applehttp"> <!-- dont transcode audio -->
<Matches container="mp4" />
<Matches container="flv" vCodec="h264" />
</Video>
alwaysenabletranscoding parameter isn't in my custom profile or in the stock one (although I now know that it IS in the MediaBrowser profile in application-profiles.xml).
First question: does the 'matcher: 2' mean it's matching on the second matches line with container=flv? It should be matching on mp4 but maybe I'm misunderstanding.
Second question: even with transcoding disabled, it looks like the profile xml will still be crawled looking for matches to trigger transcoding?
Third question:Disabling transcoding just prevents ffmpeg from being invoked?
So I removed the online transcoding section and now it still tries to kick off transcoding (a folder is created in my transcoding directory) but then a java io exception is thrown as it can't find the m3u8 file etc etc. So maybe turning off transcoding is partly working and ffmpeg is NOT being invoked, but Serviio "thinks" there will be transcode files in place and is still trying to use them?
Fourth question: with no match for transcoding since I deleted the online transcoding section, should it still be looking for transcoding files that don't exist?
Hopefully I can just mirror something that works from the regular transcoding section into the online transcoding section to get my audio working. But, since the same video as a local file plays with no transcoding, I was hoping to avoid any transcoding when playing it as an online source.