Open Eddez02 opened 10 months ago
Exoplayer is compiled and shipped by the firmware, in your case NVidia
jellyfin-androidtv is fully capable of providing the streams to exoplayer but does not perform the actual playback so issues with playback are a result of device firmware not jellyfin
the jellyfin androidtv app is fully capable of playing DTS on a Rocktek G2 as well as a FireTV Cube Gen3
on the FireTV, however, the FireTV has a firmware issue that causes freezing - not an issue with jellyfin either
as you state libvlc works it further points to exoplayer which can only be fixed by NVidia
- 3rd party observations only, I do not claim to be part of the Jellyfin project
Installed and setup a Emby Server just to test as Emby also uses the Exoplayer backend. In Emby it plays back DTS-HD-MA files without a problem. The problem is with how the FFmpeg extension is set up in Jellyfin. The FFmpeg extension is used to get support for more audio codecs inside of Exoplayer. Also exoplayer is run at an applevel and not at an OS level. It's a feature that needs to be enabled in Exoplayer like Opus and Flac playback was in the latest beta version.
Because you said we don't know if Emby is playing back the file untouched I decided to download a DTS-HD-MA 7.1 audio test file and open it up in the stock gallery app on the Shield. When playing back the mkv test file in the gallery app DTS-HD-MA 7.1 played back as intended. The shield also uses the exoplayer for playback in the gallery app. My server also tells me the file is being directly played on the Shield. I found if you turn off PCM to use Dolby reference level I can at least get the DTS-HD-MA to be output to LPCM instead of PCM 2.0.
That file doesn't work to get output as LPCM so it should be lossless but it isn't output as a DTS-MA file so it can be a problem for people that want to listen to DTS:X audio.
I am running Jellyfin Server 10.8.11 and right now i am running the Jellyfin v0.16.0-Beta 5 i don't know how to compile an apk from the master branch myself, otherwise I would like to test it on the latest version of the branch if that would change anything.
Dolby Digital+ Also experiences the same issue and gets converted to PCM instead. But i notice on my AVR that it flashes between DTS or DD+ depending on the format and in the end it sets it self to multichannel PCM. TrueHD, DD, DTS core works at it should.
Also if you turn of Dolby bit streaming. DTS-MA will play as normal DTS insted of multichannel PCM.
I can concour there is issues with the bit streaming part using FireTV Cube 3. Set preferred player Exoplayer.
Latest Jellyfin 16 beta 5.
Works Dolby TrueHD, Dolby Atmos with DD
does not work correctly DD+ downmix to multi CH 2.0 DTS-HD outputs DTS Core sometime freezes or works weirdly.
with KODI all works except DD+ output Multi CH 5.1.
Thanks.
Check out issue #1753 which is related. I have tons of issues with direct sound output on this app, so I have to use Plex even though I don't want to.
+1 Here, i have the same issue on Nvidia Shield TV Pro 2019.
DTS-HD MA not works is turned in DTS, Dolby True HD is turned in MultiChannel.
Here the Passthrough not works correctly
Version Jellyfin Android Player 0.16.04
Player for Playback is set to Automatic
I have this same issue with AAC 7.1 audio stuttering on a brand new Nvidia Shield TV Pro through Plex. Video, in DV or HDR plays perfectly. Switching to other non-AAC 7.1 audio streams on the same movie has no stuttering. I checked the logs and there is no transcoding happening. It's a direct stream that's being passed through. All other formats including Dolby TrueHD/Atmos work fine. I connected Kodi on the Nvidia Shield to my NAS and played the file through there, and there was no stutter. This means:
Nvidia Shield TV Pro is capable of playing it
Receiver is capable of playing it
Plex on Nvidia Shield TV Pro for some odd reason is NOT currently capable of playing it without stutter
Kodi on Nvidia Shield TV Pro DOES play it properly
As a side note: Plex on my LG C1 also DOES play it without stuttering
That would seem to indicate an issue with the Exoplayer that Plex/Jellyfin are using on the Nvidia Shield Pro. Hope this helps.
It´s not an Exoplayer issue itself, because Jellyfin AndroidTV Player don´t work with Exoplayer and DTS-HD MA and e.g. Emby or Plex uses also the Exoplayer and here is no issue with playback of DTS-HD MA.
So i think it´s an issue somewhere between Jellyfin AndroidTV Player and Exoplayer.
I need to say i have only tested this with MKV Files, because these are the most common files at this time
It´s not an Exoplayer issue itself, because Jellyfin AndroidTV Player don´t work with Exoplayer and DTS-HD MA and e.g. Emby or Plex uses also the Exoplayer and here is no issue with playback of DTS-HD MA.
So i think it´s an issue somewhere between Jellyfin AndroidTV Player and Exoplayer.
I need to say i have only tested this with MKV Files, because these are the most common files at this time
Starting with Android TV client 0.16.3, they switched away from exoplayer to the newer mediax library, but I still have playback issues like unable to play non-dolby 7.1 audio formats, jittery playback sometimes, etc.
If u choose LibVLC (experimental) DTS-HD MA works for me but then Subtitles don´t work correct or without Transcoding.
+1 Here, i have the same issue on Nvidia Shield TV Pro 2019.
DTS-HD MA not works is turned in DTS, Dolby True HD is turned in MultiChannel.
Here the Passthrough not works correctly
Version Jellyfin Android Player 0.16.04
Player for Playback is set to Automatic
+2 then. Same here. libVLC shows DTS-MA on receiver, but no audio, or stutter.
In Kodi external player the DTS-MA works fine, but if I have embedded subs and external subs, only the embedded are recognized.
+3 exactly the same issue. This prevents me from using DTS:X or Auro3D. So it is a showstopper. No issues with exoplayer from any othe app. Problem seems to be with Jellyfin.
TrueHD works for me. Latest Jellyfin Android for TV on Nvidia Shield Pro 2019. I think that DTS-HD MA does not work and gets interpreted as DTS (lossy) is simple enough. As far as I can tell, ffmpeg does not identify DTS-HD MA specifically, but rather sends AudioCodec=dts in the URL. However, there is in fact a mimeType for DTS-HD MA in Android:
public static final String [AUDIO_DTS_HD](https://developer.android.com/reference/androidx/media3/common/MimeTypes#AUDIO_DTS_HD()) = "audio/vnd.dts.hd"
So, it would seem that we need to get a chance for ffmpeg or perhaps libffmpeg and a change to jellyfin android tv to get DTS-HD to work.
Mike
Same exact issue here. Using libvlc or vimu external player as work around but hoping for a solution for native exoplayer.
Just (Video) Player works pretty well with Jellyfin client. It will play DTS-HD MA. Not sure why the projects don't collaborate. Anyhow, I like JP because it is simple and lightweight. Generally, I really like the Jellyfin client, but just ignoring DTS-HD MA for seemingly no reason makes it less than great. I looked at their source, but with no comments and new code vs. old code, and a working player I get could get elsewhere made it not really worth the time it would take to learn to fix the issue.
I don't mind using an external player, however resume positions are lost because of this need which can be pretty frustrating.
With the removal of LibVLC, the Android TV client can no longer play DTS-HD and DTS:X. They are both played as plain DTS, which results in massively different sound, in the :X case losing depth and positional information. I believe this is because Exoplayer is still used as the now-only player, with its limitations regarding lack of DTS-HD and DTS:X support as described in this issue.
I'm having the same problem. My current solution is to use Just Player as @mikeporterinmd suggested. It also seems to remember the resume position now, which didn't work before. I'd still prefer an internal player as I like the jellyfin UI more.
Describe the bug
When using my Nvidia Shield 2019 Pro with Exoplayer it doesn't play DTS-MA and AAC 7.1. When playing up a DTS-MA track the audio instead gets played back as the lossy DTS-Core. And AAC 7.1 gets played back as 2.0 PCM. On the supported format section on the Exoplayer website it says that both of these formats are supported when running the FFmpeg extension that jellyfin is using. When using libVlc the playback of these audio codes work correctly as it should but has the tendency to stutter in some scenes.
Logs
No response
FFmpeg logs
No response
Media info of the file
Application version
v0.16.0-Beta.5
Device information
Nvidia Shield 2019 Pro
Android version
Andriod 11
Jellyfin server version
10.8.11