jellyfin / jellyfin-androidtv

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

Audio issues summary #1608

Open ocervell opened 2 years ago

ocervell commented 2 years ago

Describe the bug

Hi,

Here is a test showing the various audio issues I have been encountering using the Android TV Jellyfin app, across various audio formats and playing with different settings in the Android TV app (direct vs downmix to stereo and exoplayer vs libVLC).

I thought it would be useful for devs to have a centralized summary of the current audio issues happening within the app.

Test streams

Stream 1 Stream 2 Stream 3 Stream 4 Stream 5
Title Yesterday (2019) Matrix Resurrections (2021) Don't look up (2021) Goodfellas (1990) Adieu les cons (2020)
Video codec 4k HEVC Main 10 4k HEVC Main 10 4k HEVC Main 10 HEVC Main 10 1080p h264
Video bitrate 4.0 Mbps 18.6 Mbps 15.5 Mbps 5.3 Mbps 10.8 Mbps
Video range HDR HDR HDR HDR SDR
Audio codec AAC LC EAC3 AC3 Dolby 5.1 AC3 Dolby Stereo DTS 5.1
Audio bitrate 473 kbps 768 kbps 640 kbps 640 kbps 1.5 Mbps

Benchmark

Hardware & Software

Server Synology 920+ (20GB RAM)
Server version 10.8.0-beta1
Client Xiaomi Fengmi 4k & GCWATV (Google Chromecast with Android TV)
Android TV version 0.13.2

Results

Exoplayer w/ direct Exoplayer w/ downmix to stereo libVLC w/ direct libVLC w/ downmix to stereo
Stream 1 (AAC LC) ❌No audio
✅Direct play
❌No audio
⭕Transcode
❌No audio
✅Direct play
✅Audio OK
✅Direct play
Stream 2 (EAC3) ❌No audio
✅Direct play
⭕Audio delay 2s
⭕Transcode audio to AC3 (audio format is not supported)
❌No audio
✅Direct play
✅Audio OK
⭕Transcode to AC3 (audio format is not supported)
Stream 3 (AC3 Dolby 5.1) ⭕Audio delay 2s
✅Direct play
⭕Audio delay 2s
⭕Transcode
⭕Audio delay 2s
✅Direct play
✅Audio OK
✅Direct play
Stream 4 (AC3 Dolby Stereo) ⭕Audio delay 2s
✅Direct play
⭕Audio delay 2s
⭕Transcode
❌No audio
✅Direct play
✅Audio OK
✅Direct play
Stream 5 (DTS Dolby True Sound) ❌Error playing ⭕Audio delay 2s
⭕Transcode
✅Audio OK
✅Direct play
✅Audio OK
✅Direct play

Logs

No response

Application version

0.13.2

Where did you install the app from?

Google Play

Device information

Xiaomi Fengmi 4K

Android version

Android 10

Jellyfin server version

10.8.0-beta1

mueslimak3r commented 2 years ago

can you update the "Test streams" table with the number of channels in stream 1 & 2?

NeverEnoughTime commented 2 years ago

Very similar to what I'm running into on my Fire TV 4K stick, from a 10.7.7 server. True HD audio will start to play and then crash out with massive stuttering. AAC 7.1 will do the same. DTS HD MA with a 5.1 core will play okay, as will any 5.1 or lower audio files, except EAC3 apparenty. Switching the app to downmix didn't do anything at all, still said it was direct play compatible and those that crashed still crashed. Switching from auto to libvlc (downmix or not) didn't change anything; they all tried to directplay and still passed/failed as before. Switching to exoplayer with downmix appeared to cause it to transcode the whole thing not just audio.

Never noticed this before now because I was storing all my stuff with AC3 5.1 but since I'm moving on to 4k with a 5.1.2 I started storing the full DTS-HD/TrueHD and occasionally AAC 7.1. Took a bit of looking but I finally found a file with EAC 5.1 @ 640Kbps and with auto on it wouldn't even start, just reported player error, will try again and then failed back to the show details.

jellyfin-bot commented 2 years ago

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.

If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.

This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

tydog98 commented 2 years ago

Has there been any progress on finding out what's causing these audio issues? I have media with 2 channel DTS playing as DD+ and 6 channel DTS not playing at all.

IgitBuh commented 2 years ago

Not sure if this is the right place to address it (please point me to the right place if it isn't): The Jellyfin app on a FireTV 4K stick is unable to play a video file that contains an EAC3 audio track without transcoding.

If transcoding is disabled for this profile and I try to play the file it doesn't work and the log shows the reason as TranscodeReason=AudioCodecNotSupported.

Audio codec details according to VLC: Codec: A/52 B Audio (aka E-AC3) (eac3)

The same file on the same server plays fine in the android app on my phone. Also Plex plays the file without issues on the same FireTV 4K stick. In my understanding, the file is fine, the audio track is fine, the FireTV 4K stick is capable of playing that file and that audio track, the Jellyfin server is fine ... so the source of the problem has to be in the Jellyfin FireTV app.