jellyfin-androidtv
jellyfin-androidtv copied to clipboard
Dolby and DTS playback issues
On my two Android TV devices (Mecool KT1 with Android 10 and Realme 4K Stick with Google TV 11), I'm getting two odd behaviors with the DTS option ON and OFF using Exoplayer or libVLC while they're connected to a AV receiver.
BASICALLY, WHEN THE DTS OPTION IS ON, ALL DTS CODECS SHOULD PASSTHROUGH IF THE DEVICE HAS SUPPORT OR GET TRANSCODED TO DOLBY DIGITAL WHEN IT DOESN'T HAVE SUPPORT, WHEN THE OPTION IS OFF, ALL DTS CODECS SHOULD BE DECODED AS MULTICHANNEL PCM.
It's important to clarify that I have to exit from the app every time I turn the option ON and OFF to operate correctly.
I tested Exoplayer and libVLC with videos using the h264, h265 video codecs and DTS and DTS-HD streams with 48Khz and 96Khz sampling frequencies.
ON THE MECOOL KT1 WITH ANDROID 10:
Media Player: Exoplayer
DTS option ON and OFF:
H264/DTS 5.1 48KHZ = Playback error H265/DTS 5.1 48KHZ = Playback error H264/DTS 5.1 96KHZ = Playback error H265/DTS 5.1 96KHZ = Playback error H264/DTS-HD MA 5.1 48KHZ = Playback error H265/DTS-HD MA 5.1 48KHZ = Playback error H264/DTS-HD MA 7.1 48KHZ = DD H265/DTS-HD MA 7.1 48KHZ = DD H264/DTS-HD MA 7.1 96KHZ = Playback error H265/DTS-HD MA 7.1 96KHZ = DD
Media Player: libVLC:
DTS option ON:
H264/DTS 5.1 48KHZ = DTS H265/DTS 5.1 48KHZ = DTS H264/DTS 5.1 96KHZ = DTS H265/DTS 5.1 96KHZ = DTS H264/DTS-HD MA 5.1 48KHZ = PCM 7.1 H265/DTS-HD MA 5.1 48KHZ = DTS without sound H264/DTS-HD MA 7.1 48KHZ = DTS without sound H265/DTS-HD MA 7.1 48KHZ = DTS without sound H264/DTS-HD MA 7.1 96KHZ = PCM 7.1 H265/DTS-HD MA 7.1 96KHZ = PCM 7.1
DTS option OFF:
H264/DTS 5.1 48KHZ = DTS H265/DTS 5.1 48KHZ = DTS H264/DTS 5.1 96KHZ = DTS H265/DTS 5.1 96KHZ = DTS H264/DTS-HD MA 5.1 48KHZ = DTS without sound H265/DTS-HD MA 5.1 48KHZ = DTS without sound H264/DTS-HD MA 7.1 48KHZ = DTS without sound H265/DTS-HD MA 7.1 48KHZ = DTS without sound H264/DTS-HD MA 7.1 96KHZ = PCM 7.1 H265/DTS-HD MA 7.1 96KHZ = PCM 7.1
ON THE REALME STICK WITH GOOGLE TV 11:
Media Player: Exoplayer
DTS option ON:
H264/DTS 5.1 48KHZ = DTS H265/DTS 5.1 48KHZ = DTS H264/DTS 5.1 96KHZ = DTS H265/DTS 5.1 96KHZ = DTS H264/DTS-HD MA 5.1 48KHZ = DTS H265/DTS-HD MA 5.1 48KHZ = DTS H264/DTS-HD MA 7.1 48KHZ = DD H265/DTS-HD MA 7.1 48KHZ = DD H264/DTS-HD MA 7.1 96KHZ = Playback error H265/DTS-HD MA 7.1 96KHZ = DD
DTS option OFF:
H264/DTS 5.1 48KHZ = DTS H265/DTS 5.1 48KHZ = DTS H264/DTS 5.1 96KHZ = DTS H265/DTS 5.1 96KHZ = DTS H264/DTS-HD MA 5.1 48KHZ = DTS H265/DTS-HD MA 5.1 48KHZ = DTS H264/DTS-HD MA 7.1 48KHZ = DD H265/DTS-HD MA 7.1 48KHZ = DD H264/DTS-HD MA 7.1 96KHZ = DD H265/DTS-HD MA 7.1 96KHZ = DD
Media Player: libVLC:
DTS option ON:
H264/DTS 5.1 48KHZ = PCM 5.1 H265/DTS 5.1 48KHZ = PCM 5.1 H264/DTS 5.1 96KHZ = PCM 5.1 H265/DTS 5.1 96KHZ = PCM 5.1 H264/DTS-HD MA 5.1 48KHZ = PCM 5.1 H265/DTS-HD MA 5.1 48KHZ = PCM 5.1 H264/DTS-HD MA 7.1 48KHZ = PCM 2.0 H265/DTS-HD MA 7.1 48KHZ = PCM 2.0 H264/DTS-HD MA 7.1 96KHZ = PCM 2.0 H265/DTS-HD MA 7.1 96KHZ = PCM 2.0
DTS option OFF:
H264/DTS 5.1 48KHZ = PCM 5.1 H265/DTS 5.1 48KHZ = PCM 5.1 H264/DTS 5.1 96KHZ = PCM 5.1 H265/DTS 5.1 96KHZ = PCM 5.1 H264/DTS-HD MA 5.1 48KHZ = PCM 5.1 H265/DTS-HD MA 5.1 48KHZ = PCM 5.1 H264/DTS-HD MA 7.1 48KHZ = PCM 2.0 H265/DTS-HD MA 7.1 48KHZ = PCM 2.0 H264/DTS-HD MA 7.1 96KHZ = PCM 2.0 H265/DTS-HD MA 7.1 96KHZ = PCM 2.0
Android 9, 10 and 11 have issues decoding multichannel PCM, they are explained here:
https://issuetracker.google.com/issues/235460800
Server System (please complete the following information):
- OS: Windows 11
- Jellyfin Version: 10.7.7 stable
- Hardware settings & device: 11th Gen Intel(R) Core(TM) i3-1115G4 @ 3.00GHz, Intel UHD graphics.
- Reverse proxy: No
- Other hardware notes: None.
Client System (please complete the following information):
- Device: Mecool KT1 and Realme 4K Stick with Google TV
- OS: Android TV 10 and 11
- Client: Latest stable version for Android TV
I believe I'm having the same issue. Exoplayer wont play anything at all and LibVLC will play without audio. Kodi also plays without audio until I turn off passthrough, then it plays in 2.0 DD+
I believe I'm having the same issue. Exoplayer wont play anything at all and LibVLC will play without audio. Kodi also plays without audio until I turn off passthrough, then it plays in 2.0 DD+
And what is your device?
Tivo Stream 4K, running latest update with Android 10. Server is on 10.8.0 beta 3.
With the new 10.8.1 server, some are now playing, others still don't while others stopped playing:
ON THE MECOOL KT1 WITH ANDROID 10:
ON THE REALME STICK WITH GOOGLE TV 11:
With the latest Jellyfin git I can play 2 channel DTS with LibVLC, but 6 channel still doesn't play. (strangely enough everything works perfectly though my TVs media player with DLNA)
With the latest Jellyfin git I can play 2 channel DTS with LibVLC, but 6 channel still doesn't play.
Did you test exoplayer?
Exoplayer is still not playing anything at all for me.
With the new 0.14.3 version of Jellyfin for Android TV, Android 10 worsen a bit while Android 11 improved a bit as well, take a look at the bold ones and compare them with the above screenshots:
Android 10:
Android 11:
Was able to fix my audio issues in libVLC by changing my devices audio settings from manually selecting which codecs my device supports to setting it to automatic. It chooses the same exact codecs so I have no idea why that would fix things. Haven't done thorough testing. Exoplayer still does not work though.
Are these test files available anywhere for download so I can test on some other devices? I've run into some audio issues on my CCwGTV (and I also have the HD-version to test with) hooked to my Denon receiver that I never experienced with Shield TV (but can compare results with that). Sorry if I missed the files anywhere but I did look twice and couldn't find them. I probably have full coverage across my media library but finding them will be taxing.
Are these test files available anywhere for download so I can test on some other devices? I've run into some audio issues on my CCwGTV (and I also have the HD-version to test with) hooked to my Denon receiver that I never experienced with Shield TV (but can compare results with that). Sorry if I missed the files anywhere but I did look twice and couldn't find them. I probably have full coverage across my media library but finding them will be taxing.
I can share the files to you through a Google Drive link, however, I need to run another test with the latest version of the Jellyfin app that was released recently to see how it improved and I will reply back.
Are these test files available anywhere for download so I can test on some other devices? I've run into some audio issues on my CCwGTV (and I also have the HD-version to test with) hooked to my Denon receiver that I never experienced with Shield TV (but can compare results with that). Sorry if I missed the files anywhere but I did look twice and couldn't find them. I probably have full coverage across my media library but finding them will be taxing.
I can share the files to you through a Google Drive link, however, I need to run another test with the latest version of the Jellyfin app that was released recently to see how it improved and I will reply back.
you may encounter issues in 0.15.1 based on a change that broke truehd (unknown to me if it affects dts in any way - fixed in master but unreleased). Maybe 0.15 would be better to test against if your client isn't updated.
Ok, I will test and share.
Thank you for letting me know.
I was able to test the latest stable version of the server and the latest stable version of the Android TV app on Android 11 (I don't have the Android TV device with Android 10 anymore) and I see an improvement with DTS, however, I'm pretty sure that those issues have been resolved in latest Google security patches regardless of the Android version, so I imagine that if an Android TV device with Android 9 and Android 10 get updated with a more recent security patch, DTS issues will be resolved as well.
What I still see is that turning OFF the DTS option, the DTS codecs are not decoded as multichannel PCM but passing through directly whether using Exolplayer or libVLC so this is something that needs to be addressed.
The only DTS codec not working is DTS-HD Master Audio in the 96Khz, it gives a playback error with Exoplayer but it passes through with libVLC.
It's always worth mentioning that devices like mine don't have DTS-HD High Resolution Audio and Master Audio passthrough, therefore, the DTS core is the one passed through in my tests.
I also tested Dolby Digital Plus with and without Dolby Atmos and they passthrough correctly as well.
Dolby TrueHD seems to be passing through with Exoplayer, I didn't find any transcoding log but I don't get audio with libVLC.
Let me know if you still need the files.
Great findings. I have had great results with DTS except for 7.1.
I would love the files.
I can add to the testing with additional devices as well as a receiver that natively supports passthrough for all of these audio formats.
Here's the link:
https://drive.google.com/drive/folders/1lNghE_nWn6TaeJH6GhBPZ6r39YO69Dgw?usp=sharing
Make sure you use the "Auto" option audio setting on not a manual setting or passthrough setting on your Android TV device.
Make sure you use the "Auto" option audio setting on not a manual setting or passthrough setting on your Android TV device.
Within Jellyfin app, or in the Android TV settings? My devices are on Android 12 and don't recall seeing that option.
Within Jellyfin app, or in the Android TV settings?
In the Jellyfin app look for a Direct option and look for Auto in the Android TV settings.
What devices do you have?
Within Jellyfin app, or in the Android TV settings?
In the Jellyfin app look for a Direct option and look for Auto in the Android TV settings.
What devices do you have?
2x CCwGTV 4k 1x CCwGTV HDR (1080p) 2x Shield (2019)
Can you share a picture of the audio setting of one of the CC and the shield if it's not a problem?
I've gathered some additional test files with other media formats (FLAC, LPCM, DTS:X 7.1.4, DTS-ES 6.1, AAC, etc)... would you like me to upload them to your drive?
CCwGTV 4k:
Jellyfin:
would you like me to upload them to your drive?
I don't see it necessary and I'll tell you why:
FLAC, LPCM and AAC are decoded internally by the device as PCM or LPCM and even though stereo ones are playing correctly, there are issues with multichannel music files in the 88.2, 96khz and 192khz resolutions which I already explained in a separate post (https://github.com/jellyfin/jellyfin-androidtv/issues/1755), however, playing those audio codecs with video files inside containers such as MKV is a different story, they usually have issues when the the resolution is 96Khz, where the audio doesn't get decoded and no audio is output, that issue is related directly to Exoplayer because they get decoded with libVLC.
You can test them and confirm what I'm saying.
A per the screenshots, I see that "Automatic" is selected in the device and "Direct" in "Audio output" which is correct but I think you should select "Auto" with "Max streaming bitrate" just to avoid issues.
would you like me to upload them to your drive?
I don't see it necessary and I'll tell you why:
FLAC, LPCM and AAC are decoded internally by the device as PCM or LPCM and even though stereo ones are playing correctly, there are issues with multichannel music files in the 88.2, 96khz and 192khz resolutions which I already explained in a separate post (#1755), however, playing those audio codecs with video files inside containers such as MKV is a different story, they usually have issues when the the resolution is 96Khz, where the audio doesn't get decoded and no audio is output, that issue is related directly to Exoplayer because they get decoded with libVLC.
You can test them and confirm what I'm saying.
A per the screenshots, I see that "Automatic" is selected in the device and "Direct" in "Audio output" which is correct but I think you should select "Auto" with "Max streaming bitrate" just to avoid issues.
thanks! I do think the additional DTS tests will be helpful at least, though.
I selected Max streaming bitrate to 50mbps on the CCwGTV because i ran into issues with Auto, however, it could have been related to my issues with v0.15.1 and burn-in subs with truehd audio #2396 - that shouldnt' be an issue with these test files so i will reset it back to Auto!
I will test them all and let you know of the results (probably this weekend).
I just installed the new version 0.15.2 and Dolby Atmos inside Dolby Digital Plus with 7.1 channels is broken, it was working with the previous version, Dolby Atmos inside Dolby Digital Plus with 5.1 channels is working fine, though I still need to test the rest of the files.
0.15.1 included #2381 which must have supported that, but it was reverted in v0.15.2 since transcoding for burned-in subs was broken. I believe 0.16 will have #2381 back in it and these tests could help out @nielsvanvelzen
The changes in #2381 only affect the supported audio codecs for transcodes. Previously when we needed to transcode because the video codec wasn't supported it would also transcode audio most of the time. The change added all audio codecs normally supported for direct play. There was one regression in that change though, even when FFmpeg copies the audio stream is needs the encoder for the audio codec. And two of the codecs that got added were in experimental stage and needed a special flag that the server did not provide. We've changed that for 10.8.9 but also reverted those 2 codecs (TrueHD and DCA) for now in #2397. We can revert that once we change the client to only support 10.9 and newer (likely in 0.16).
I tested all the files and non of the DTS files played and Dolby TrueHD with 7.1 channels didn't play either, they all played in the previous version, I guess I will have to wait for the next 0.16 version.
I tested all the files and non of the DTS files played and Dolby TrueHD with 7.1 channels didn't play either, they all played in the previous version, I guess I will have to wait for the next 0.16 version.
same, v0.15.2 is unusable for my home theater as very few movies are playing at all or with sound (downmixing everything isn't enjoyable to me). I'll have to go back to Plex (ugh) until v0.16+. i'll still run the tests on your test files now that i've added them to my library.
My results on a CCwGTV 4K -> Denon AV -> Samsung 4K TV:
File | Codec | Channels | Frequency | Jellyfin v0.15.2 + 10.8.8 | Plex (latest) |
---|---|---|---|---|---|
Audio 01 - 7.1 - 48Khz.mkv - Good, passthrough | DD+ | 7.1 | 48 | Passthrough | Passthrough |
Audio 02 - Dolby Digital Plus with Dolby Atmos 5.1 - 48Khz.mkv | DD+ Atmos | 5.1 | 48 | Passthrough | Passthrough |
Audio 03 - Dolby Digital Plus with Dolby Atmos 7.1 - 48Khz.mkv | DD+ Atmos | 7.1 | 48 | Passthrough | Passthrough |
Audio 04 - Dolby TrueHD 5.1 - 48Khz.mkv | TrueHD | 5.1 | 48 | Transcode Multi-in - Low Vol. | Transcode Multi-in |
Audio 05 - Dolby TrueHD with Dolby Atmos 7.1 - 48Khz.mkv | TrueHD Atmos | 7.1 | 48 | Transcode Multi-in 7.1 - Low Vol. | Transcode Multi-in 7.1 |
Audio 06 - DTS 5.1 - 48Khz.mkv | DTS | 5.1 | 48 | Passthrough | "Direct" but Multi-in |
Audio 07 - DTS 5.1 - 96Khz.mkv | DTS | 5.1 | 96 | Passthrough | "Direct" but Multi-in |
Audio 08 - DTSHDRHA 7.1 - 96Khz.mkv | DTS-HD RHA | 7.1 | 96 | Failed / Error | "Direct" but Multi-in |
Audio 09 - DTSHDMA 5.1 - 48Khz.mkv | DTS-HD MA | 5.1 | 48 | Passthrough Core DTS? | "Direct" but Multi-in |
Audio 10 - DTSHDMA 7.1 - 48Khz.mkv | DTS-HD MA | 7.1 | 48 | Failed / Error | "Direct" but Multi-in |
Audio 11 - DTSHDMA 7.1 - 96Khz.mkv | DTS-HD MA | 7.1 | 96 | Failed / Error | "Direct" but Multi-in |
Audio 12 - DTSHDMA X 7.1.4 - 48Khz.mkv | DTS-HD MA X | 7.1.4 | 48 | Failed / Error | "Direct" but Multi-in |
Audio 13 - DTS-ES 6.1 - 48Khz.mkv | DTS-ES | 6.1 | 48 | Failed / Error | "Direct" but Multi-in |
Audio 14 - LPCM 5.1 - 48Khz.mkv | LPCM | 5.1 | 48 | Transcode Multi-in - Low Vol. | Transcode Multi-in |
Audio 15 - LPCM 7.1 - 48Khz.mkv | LPCM | 7.1 | 48 | Failed / Error | Transcode Multi-in 7.1 |
Audio 16 - HE-AAC 5.1.mp4 | HE-AAC | 5.1 | 48 | Transcode Multi-in | Transcode Multi-in |
Audio 17 - HE-AAC 5.1 LFE SBR.mp4 | HE-AAC LFE SBR | 5.1 | 48 | Transcode Multi-in | Failed / Error |
Audio 18 - HE-AAC 7.1 - audio only.mp4 | HE-AAC | 7.1 | 48 | Failed / Error | Transcode Multi-in |