I have a few Roku TV's, the living room has an AVR so no big deal, but my other TV's have no external sound setup.
I am noticing that most of my 4K content has TrueHD audio, which the Roku all of a sudden hates, it literally freezes
the TV if I try to play a movie with a TrueHD track even if I select the regular DD track.
I am not faulting Emby here but just curious what others are doing. I just basically don't watch this stuff on those TV's,
but it has me hesitant to buy UHD blu rays for my daughter as she will want to watch them in a room with no AVR. I
could get a different streaming device I understand that but would like to avoid that.
This is us taking advantage of an "undocumented behavior" under special circumstances. When direct streaming HEVC and converting the audio it is possible to produce artifact/macroblock-ing and ruins the image quality. To prevent this we were letting ALL RokuTV models pass-through TrueHD because the RokuTV is down converting this with the TV circuitry to Dolby AC3. Basically decimate from 8 to 6 channels. It was doing this on the TV hardware. This allowed your media to direct play both video and audio streams in original quality in their original container.
Now with the newest Roku firmware pushed to TV models it has lost this unique ability. We must now transcode the TrueHD into Dolby AC3 with your Emby server. We must change to HLS delivery with an M3U8 Manifest and TS container. This slows down the delivery process just a bit. But a few milliseconds can mean the difference when you are encoding at 30 frames per second and the media plays back at 30 frames per second. Any little hiccup can cause the Roku to go into PANIC MODE and throw up the "Retrieving" screen. This happens when the Roku internal buffer falls below 3 seconds. You can witness this using the Stats-for-Nerds feature within the app. Watch the Transcoding Buffer and the time within parenthesis. This is your visual clue if your server is strong enough is that buffer stays considerable in size and doesn't drop to mere seconds. Live TV is different since runtime is an unknown and just a guess. The Transcoding buffer is Live and will show the exact same as Transcoding Progress will.
The Roku will also disregard your audio choice if there is a track set as DEFAULT. You should be able to get correct playback changing this to the Dolby AC3 track before playback using the detail screens pre-playback menu above the play button. If playback is still choppy coverting TrueHD to Dolby your Emby server may not be fast enough to do this at real time. You can check any ffmpeg logs created to see what the FPS is in the logs. If this is below the speed of the FPS of the encoded media it will have dropouts/pauses/buffering as it has to wait for the stream to build enough chunks for you to play enough until you exhaust them to repeat the process over and over. The request for new chunks and the speed of their delivery also comes into play which is highly dependent on how fast ffmpeg can provide these chunks.
You can show us some ffmpeg logs and where you feel it should be possible to keep up. We can help you decide if perhaps your Emby server just isn't powerful enough. In that case you need to find media in a format that can be direct played. Unfortunately with Roku using TrueHD is an undocumented feature that will hopefully come back one day and when it does we will again take advantage of it. Roku does not advertise it supports TrueHD with RokuTV. They also do not explain why the undocumented support for TrueHD pass-through decimation to Dolby was present on their RokuTV models. It might come back in firmware version 9.3 and when that firmware is released we can come back to this and see if TrueHD pass-through on RokuTV is again enabled.
When it is we will of course take full advantage of that on the RokuTV. Apologies again, it isn't us, but it is Roku that broke things.
Edited by speechles, 23 May 2020 - 04:35 PM.