jellyfin / jellyfin-androidtv

Android TV Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.75k stars 469 forks source link

Dolby and DTS playback issues #1753

Open branches78 opened 2 years ago

branches78 commented 2 years ago

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):

Client System (please complete the following information):

tydog98 commented 2 years ago

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+

branches78 commented 2 years ago

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?

tydog98 commented 2 years ago

Tivo Stream 4K, running latest update with Android 10. Server is on 10.8.0 beta 3.

branches78 commented 2 years ago

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:

image

ON THE REALME STICK WITH GOOGLE TV 11:

image

tydog98 commented 2 years ago

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)

branches78 commented 2 years ago

With the latest Jellyfin git I can play 2 channel DTS with LibVLC, but 6 channel still doesn't play.

Did you test exoplayer?

tydog98 commented 2 years ago

Exoplayer is still not playing anything at all for me.

branches78 commented 2 years ago

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:

image

Android 11:

image

tydog98 commented 2 years ago

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.

almightiest commented 1 year ago

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.

branches78 commented 1 year ago

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.

almightiest commented 1 year ago

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.

branches78 commented 1 year ago

Ok, I will test and share.

Thank you for letting me know.

branches78 commented 1 year ago

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.

image

Let me know if you still need the files.

almightiest commented 1 year ago

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.

branches78 commented 1 year ago

Here's the link:

https://drive.google.com/drive/folders/1lNghE_nWn6TaeJH6GhBPZ6r39YO69Dgw?usp=sharing

branches78 commented 1 year ago

Make sure you use the "Auto" option audio setting on not a manual setting or passthrough setting on your Android TV device.

almightiest commented 1 year ago

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.

branches78 commented 1 year ago

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?

almightiest commented 1 year ago

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)

branches78 commented 1 year ago

Can you share a picture of the audio setting of one of the CC and the shield if it's not a problem?

almightiest commented 1 year ago

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: image

image

Jellyfin: image

image

branches78 commented 1 year ago

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.

almightiest commented 1 year ago

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).

branches78 commented 1 year ago

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.

almightiest commented 1 year ago

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

nielsvanvelzen commented 1 year ago

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).

branches78 commented 1 year ago

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.

almightiest commented 1 year ago

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.

almightiest commented 1 year ago

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
branches78 commented 1 year ago

I'm going to add Dolby Digital 2.0 and DTS 2.0 in this bug report since the one I created was closed due to inactivity, therefore, with server version 10.8.8 and 0.15.2 version of the Emby for Android TV app, Dolby Digital 2.0 and DTS 2.0 are passing through directly with Exoplayer, but they are still getting decoded as PCM 2.0 with libVLC.

almightiest commented 1 year ago

Updated my comment with a better table - and also added Plex comparison on the same device (to show capabilities / like-comparison).

Can you share your new test files? Also, I'm happy to share my additional ones.

branches78 commented 1 year ago

Can you share your new test files?

I don't have more test files, do you mean the Dolby Digital 2,0 and DTS 2.0 ones?

almightiest commented 1 year ago

Can you share your new test files?

I don't have more test files, do you mean the Dolby Digital 2,0 and DTS 2.0 ones?

yea - just so we can test with same files

branches78 commented 1 year ago

so we can test with same files

They're basically a copy of two of the same files but I reduced the channels to stereo, look for one file called Dolby Digital 2.0 and one called DTS 2.0 in the Google Drive folder.

almightiest commented 1 year ago

Added some additional tests.

File | Codec | Channels | Frequency | Jellyfin TV v0.15.2 + 10.8.8 Server + ExoPlayer | Plex (latest) + ExoPlayer -- | -- | -- | -- | -- | -- Audio 01 - 7.1 - 48Khz.mkv | 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. | OK, 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. | OK, Transcode Multi-in 7.1 Audio 06 - DTS 5.1 - 48Khz.mkv | DTS | 5.1 | 48 | Passthrough | "Direct" but plays Multi-in Audio 07 - DTS 5.1 - 96Khz.mkv | DTS | 5.1 | 96 | Passthrough | "Direct" but plays Multi-in Audio 08 - DTSHDRHA 7.1 - 96Khz.mkv | DTS-HD RHA | 7.1 | 96 | Failed / Error | "Direct" but plays Multi-in Audio 09 - DTSHDMA 5.1 - 48Khz.mkv | DTS-HD MA | 5.1 | 48 | Passthrough Core DTS? | "Direct" but plays Multi-in Audio 10 - DTSHDMA 7.1 - 48Khz.mkv | DTS-HD MA | 7.1 | 48 | Failed / Error | "Direct" but plays Multi-in Audio 11 - DTSHDMA 7.1 - 96Khz.mkv | DTS-HD MA | 7.1 | 96 | Failed / Error | "Direct" but plays Multi-in Audio 12 - DTSHDMA X 7.1.4 - 48Khz.mkv | DTS-HD MA X | 7.1.4 | 48 | Failed / Error | "Direct" but plays Multi-in Audio 13 - DTS-ES 6.1 - 48Khz.mkv | DTS-ES | 6.1 | 48 | Failed / Error | "Direct" but plays Multi-in Audio 14 - LPCM 5.1 - 48Khz.mkv | LPCM | 5.1 | 48 | Transcode Multi-in - Low Vol. | OK, Transcode Multi-in Audio 15 - LPCM 7.1 - 48Khz.mkv | LPCM | 7.1 | 48 | Failed / Error | OK, Transcode Multi-in 7.1 Audio 16 - HE-AAC 5.1.mp4 | HE-AAC | 5.1 | 48 | OK, Transcode Multi-in | OK, Transcode Multi-in Audio 17 - HE-AAC 5.1 LFE SBR.mp4 | HE-AAC LFE SBR | 5.1 | 48 | OK, Transcode Multi-in | OK, Transcode Multi-in Audio 18 - HE-AAC 7.1 - audio only.mp4 | HE-AAC | 7.1 | 48 | Failed / Error (no video track) | OK, Transcode Multi-in 7.1 Audio 19 - FLAC 7.1 - 96Khz.mkv | FLAC | 7.1 | 96 | Failed / Error | OK, Transcode Multi-in 7.1 Audio 20 - FLAC 5.1 - 96Khz.mkv | FLAC | 5.1 | 96 | OK, Transcode Multi-in | OK, Transcode Multi-in Audio 21 - FLAC 5.0 - 96Khz.mkv | FLAC | 5.0 | 96 | Poor, Transcode to Stereo | Poor, Transcode to Stereo Audio 22 - FLAC 4.0 - 96Khz.mkv | FLAC | 4.0 | 96 | Poor, Transcode to Stereo | Poor, Transcode to Stereo Audio 23 - FLAC 7.1 - 48Khz.mkv | FLAC | 7.1 | 48 | Failed / Error | OK, Transcode Multi-in 7.1 Audio 24 - FLAC 5.1 - 48Khz.mkv | FLAC | 5.1 | 48 | OK, Transcode Multi-in | OK, Transcode Multi-in Audio 25 - FLAC 5.0 - 48Khz.mkv | FLAC | 5.0 | 48 | Poor, Transcode to Stereo | Poor, Transcode to Stereo Audio 26 - FLAC 4.0 - 48Khz.mkv | FLAC | 4.0 | 48 | Poor, Transcode to Stereo | Poor, Transcode to Stereo Audio 27 - Dolby Digital 2.0 - 48Khz.mkv | DD | 2.0 | 48 | Passthrough | Failed / no sound Audio 28 - DTS 2.0 - 48Khz.mkv | DTS | 2.0 | 48 | Passthrough | Failed / Error
branches78 commented 1 year ago

Did you run the above tests only with Exoplayer?

almightiest commented 1 year ago

Correct, only ExoPlayer. That's what Plex uses, too. I wanted to show that it was technically possible to be at least at par with Plex using the same native player. Since LibVLC isn't recommended, I have stayed away from it. I can try to run those tests on LibVLC but it may be later next week until I can do that.

branches78 commented 1 year ago

With new server 10.8.9 and new Android TV app 0.15.3 this is what I've got:

With DTS codecs:

image

With Dolby codecs:

image

With PCM 96Khz which is the resolution that has issues with Exoplayer:

image

branches78 commented 1 year ago

I agree with @almightiest when using Max streaming bitrate, using "Auto" has issues so it's better to use a manual bitrate, I used the 120Mb/s option and I didn't have too many playback issues.

Also, for some reason, PCM 5.1 96khz didn't play in my initial test but it was working afterwards, so it seems Exoplayer is still buggy.

almightiest commented 1 year ago

Pretty much the same except for now having normal audio levels for TrueHD transcode to Multi, but super low volume on DD 2.0 48khz passthrough.

File | Codec | Channels | Frequency | Jellyfin TV v0.15.2 + 10.8.8 Server + ExoPlayer | Plex (latest) + ExoPlayer | Jellyfin TV v0.15.3 + 10.8.9 Server + ExoPlayer -- | -- | -- | -- | -- | -- | -- Audio 01 - 7.1 - 48Khz.mkv | DD+ | 7.1 | 48 | Passthrough | Passthrough | Passthrough Audio 02 - Dolby Digital Plus with Dolby Atmos 5.1 - 48Khz.mkv | DD+ Atmos | 5.1 | 48 | Passthrough | Passthrough | Passthrough Audio 03 - Dolby Digital Plus with Dolby Atmos 7.1 - 48Khz.mkv | DD+ Atmos | 7.1 | 48 | Passthrough | Passthrough | Passthrough Audio 04 - Dolby TrueHD 5.1 - 48Khz.mkv | TrueHD | 5.1 | 48 | Transcode Multi-in - Low Vol. | OK, Transcode Multi-in | OK, 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. | OK, Transcode Multi-in 7.1 | OK, Transcode Multi-in 7.1 Audio 06 - DTS 5.1 - 48Khz.mkv | DTS | 5.1 | 48 | Passthrough | "Direct" but plays Multi-in | Passthrough Audio 07 - DTS 5.1 - 96Khz.mkv | DTS | 5.1 | 96 | Passthrough | "Direct" but plays Multi-in | Passthrough Audio 08 - DTSHDRHA 7.1 - 96Khz.mkv | DTS-HD RHA | 7.1 | 96 | Failed / Error | "Direct" but plays Multi-in | Failed / Error Audio 09 - DTSHDMA 5.1 - 48Khz.mkv | DTS-HD MA | 5.1 | 48 | Passthrough Core DTS? | "Direct" but plays Multi-in | Passthrough Core DTS? Audio 10 - DTSHDMA 7.1 - 48Khz.mkv | DTS-HD MA | 7.1 | 48 | Failed / Error | "Direct" but plays Multi-in | Failed / Error Audio 11 - DTSHDMA 7.1 - 96Khz.mkv | DTS-HD MA | 7.1 | 96 | Failed / Error | "Direct" but plays Multi-in | Failed / Error Audio 12 - DTSHDMA X 7.1.4 - 48Khz.mkv | DTS-HD MA X | 7.1.4 | 48 | Failed / Error | "Direct" but plays Multi-in | Failed / Video without sound Audio 13 - DTS-ES 6.1 - 48Khz.mkv | DTS-ES | 6.1 | 48 | Failed / Error | "Direct" but plays Multi-in | Failed / Error Audio 14 - LPCM 5.1 - 48Khz.mkv | LPCM | 5.1 | 48 | Transcode Multi-in - Low Vol. | OK, Transcode Multi-in | OK, Transcode Multi-in Audio 15 - LPCM 7.1 - 48Khz.mkv | LPCM | 7.1 | 48 | Failed / Error | OK, Transcode Multi-in 7.1 | Failed / Error Audio 16 - HE-AAC 5.1.mp4 | HE-AAC | 5.1 | 48 | OK, Transcode Multi-in | OK, Transcode Multi-in | OK, Transcode Multi-in Audio 17 - HE-AAC 5.1 LFE SBR.mp4 | HE-AAC LFE SBR | 5.1 | 48 | OK, Transcode Multi-in | OK, Transcode Multi-in | OK, Transcode Multi-in Audio 18 - HE-AAC 7.1 - audio only.mp4 | HE-AAC | 7.1 | 48 | Failed / Error (no video track) | OK, Transcode Multi-in 7.1 | Failed / Error (no video track) Audio 19 - FLAC 7.1 - 96Khz.mkv | FLAC | 7.1 | 96 | Failed / Error | OK, Transcode Multi-in 7.1 | Failed / Error Audio 20 - FLAC 5.1 - 96Khz.mkv | FLAC | 5.1 | 96 | OK, Transcode Multi-in | OK, Transcode Multi-in | OK, Transcode Multi-in Audio 21 - FLAC 5.0 - 96Khz.mkv | FLAC | 5.0 | 96 | Poor, Transcode to Stereo | Poor, Transcode to Stereo | Poor, Transcode to Stereo Audio 22 - FLAC 4.0 - 96Khz.mkv | FLAC | 4.0 | 96 | Poor, Transcode to Stereo | Poor, Transcode to Stereo | Poor, Transcode to Stereo Audio 23 - FLAC 7.1 - 48Khz.mkv | FLAC | 7.1 | 48 | Failed / Error | OK, Transcode Multi-in 7.1 | Failed / transcode failed after 4s Audio 24 - FLAC 5.1 - 48Khz.mkv | FLAC | 5.1 | 48 | OK, Transcode Multi-in | OK, Transcode Multi-in | OK, Transcode Multi-in Audio 25 - FLAC 5.0 - 48Khz.mkv | FLAC | 5.0 | 48 | Poor, Transcode to Stereo | Poor, Transcode to Stereo | Poor, Transcode to Stereo Audio 26 - FLAC 4.0 - 48Khz.mkv | FLAC | 4.0 | 48 | Poor, Transcode to Stereo | Poor, Transcode to Stereo | Poor, Transcode to Stereo Audio 27 - Dolby Digital 2.0 - 48Khz.mkv | DD | 2.0 | 48 | Passthrough | Failed / no sound | Poor, passthrough very low audio Audio 28 - DTS 2.0 - 48Khz.mkv | DTS | 2.0 | 48 | Passthrough | Failed / Error | Passthrough
HolgerKuehn commented 1 year ago

Noticed this a few days ago, in detail. Since the uodaae to 0.15.3 on my Shield 2019 Pro with Denon AVR 4700H all DTS HD tracks play only the core DTS. DD+ and ATMOS play just fine.

When starting the DTS HD tracks are recognised as DTS HI-RES at first and playing all 8 channels, but drop to DTS core eventually.

If I should provide some media info let me know. Otherwise I'll wait for 0.16.

branches78 commented 1 year ago

all DTS HD tracks play only the core DTS

Thank you for sharing this to us, but I wonder if it was working on previous versions.

HolgerKuehn commented 1 year ago

Have done some tests yesterday after posting this. As far as I could observe, DTS HD MA up to 5.1 channels get as DTS HI RES to the AVR. DTS HD HRA will get there as well with all channels present. DTS HD MA with 7.1 channels only show up as DTS Core.

Interestingly a DTS HD MA 2.0 got there as DD+ 2.0, witch I could not understand. Will do some more tests and compare the media info as in previous posts.

As for previous versions, I am quite sure it worked when I sat up Jellyfin (and up 3 about 3 weeks ago. But When I tested with older clients by side loading them, all showed the same as the most recent. So could not verify it, but I'd say it had once worked as the sound quality is pretty important to me and I'd like to feed the 7.1.2 channels I set up as much as possible.

Is it important to note that I play them with libVLC as Exoplayer does not play some files. If you need something specific I'd be happy to provide if possible.

Edit: Tried to find the Jellyfin-logs on the Shield, but I could not even find the app folder, can someone point me to the location I should find it. All I find via ADB are those:

mdarcy:/storage/self/primary/Android/data $ ls
com.android.gallery3d  com.google.android.gms      com.nvidia.tegrazone3
com.android.vending    com.google.android.katniss  org.xbmc.kodi
branches78 commented 1 year ago

Hello everyone, I wasn't able to test the previous version 0.15.4 but I was able to test the recent 0.15.5, therefore, here's my test results:

First of all, I want to thank the developers for taking into account this topic, they were able to provide passthrough support for Dolby TrueHD but not without on single issue:

The "Auto" bitrate still has playback issues and I hope they get resolved but I was able to play all codecs by selecting a manual bitrate of 120Mb/s.

I only tested Exoplayer since libVLC was marked as experimental and it has some issues as well.

With Dolby codecs while using "Auto" and 120Mb/s:

image

With DTS codecs while using "Auto" bitrate:

image

With DTS codecs while using the 120Mb/s bitrate:

image

Music playback also needs work and it's explained in detail here: https://github.com/jellyfin/jellyfin-androidtv/issues/1755#issuecomment-1472685422

THINGS TO DO:

1) The app needs a separate DTS-HD and Dolby TrueHD options to be able to turn OFF passthrough for those codecs since most Android TV devices don't support it, the idea is to avoid transcoding to Dolby Digital and instead to get multichannel PCM, the options could be similar as the ones found in Emby:

image

almightiest commented 1 year ago

Hello everyone, I wasn't able to test the previous version 0.15.4 but I was able to test the recent 0.15.5, therefore, here's my test results:

First of all, I want to thank the developers for taking into account this topic, they were able to provide passthrough support for Dolby TrueHD but not without on single issue:

The "Auto" bitrate still has playback issues and I hope they get resolved but I was able to play all codecs by selecting a manual bitrate of 120Mb/s.

I only tested Exoplayer since libVLC was marked as experimental and it has some issues as well.

With Dolby codecs and PCM while using "Auto" and 120Mb/s:

image

With DTS codecs while using "Auto" bitrate:

image

With DTS codecs while using the 120Mb/s bitrate:

image

Music playback also needs work and it's explained in detail here: #1755 (comment)

THINGS TO DO:

  1. The app needs a separate DTS-HD and Dolby TrueHD options to be able to turn OFF passthrough for those codecs since most Android TV devices don't support it, the idea is to avoid transcoding to Dolby Digital and instead to get multichannel PCM, the options could be similar as the ones found in Emby:

image

I'm having a much different experience on my CC with GTV device, even on v0.15.5 and setting 120mbps.

On DTS, everything but regular DTS 5.1 is broken and results in errors. On TrueHD, anything 7.1 is broken. No issues with Plex on any of these media files.

branches78 commented 1 year ago

I'm having a much different experience on my CC with GTV device, even on v0.15.5 and setting 120mbps.

Can you please tell me what is the date of the security patch installed in the CC?

almightiest commented 1 year ago

I'm having a much different experience on my CC with GTV device, even on v0.15.5 and setting 120mbps.

Can you please tell me what is the date of the security patch installed in the CC?

Oct 1, 2022 (latest for CC w GTV 4K)

branches78 commented 1 year ago

Ok, if I'm not wrong, all DTS issues were fixed in later versions, when I bought the Realme 4K stick with Android 11 it was on juanuary 2022 and it had issues with DTS, they recently updated it to november 2022 but I've been unable to test it out, meanwhile, when I got the Homatics box it was on november 2022 and the DTS issues were fixed, it is currently on january 2023 and it still works correctly.

I don't have the Realme Stick around for the moment so I've been unable to test it out but I will reply once I have the chance just to compare the results. The Chromecast doesn't have Dolby TrueHD passthrough support so the codec should be transcoded to Dolby Digital, are you saying that you are not getting that either?

What do you mean with "anything 7.1 is broken"?

almightiest commented 1 year ago

Ok, if I'm not wrong, all DTS issues were fixed in later versions, when I bought the Realme 4K stick with Android 11 it was on juanuary 2022 and it had issues with DTS, they recently updated it to november 2022 but I've been unable to test it out, meanwhile, when I got the Homatics box it was on november 2022 and the DTS issues were fixed, it is currently on january 2023 and it still works correctly.

I don't have the Realme Stick around for the moment so I've been unable to test it out but I will reply once I have the chance just to compare the results. The Chromecast doesn't have Dolby TrueHD passthrough support so the codec should be transcoded to Dolby Digital, are you saying that you are not getting that either?

What do you mean with "anything 7.1 is broken"?

I get the popup on screen "Too many errors" and it doesn't play anything for most DTS and TrueHD codecs. Basically my post from before on Jan 28 is the same. Downmixing to stereo isn't an option for us, so we are using Plex until further notice. I hate it, would rather use jelly fin, so I keep trying as updates come out, but nothing is changing for me.