jellyfin / jellyfin-androidtv

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

Compatibility profile for Nvidia Shield is wrong on current App 0.16.11 #3645

Open DaveR1974 opened 4 weeks ago

DaveR1974 commented 4 weeks ago

Describe the bug

I had Jellyfin 10.18.13 installed on my Openmediavault server (7.1.1-1 "Sandworm"), and Jellyfin for Android TV (don't know the version number, just that it was the previous) installed on my Nvidia Shield TV (2019). This worked fine with all my content (using directplay). On updating the App to the current version (0.16.11) I got the notification to update the Jellyfin server to 10.19.0 before the next App update, which I did (first 10.19.3). Now the App is unable to correctly play my Dolby Vision content (DV is not displayed on my TV and colour is all wrong). The files all worked before the updates. I have since updated to 10.19.4, and still the same issue. I checked the logs, and there are now "FFmpeg.Transcode" logs that were not there before the updates. Disabled Transcoding in the Users settings on the server. Now the files will not play at all, and I get an error that it cannot play the file with an "incompatible file" message. As advised in the Jellyfin Forums, activated debug mode. In debug mode, the files played without issue, but as soon as debug was turned off again, the files will not play. TheDreadParrot moderator advised this appears to be a compatibility profile error, and to raise this issue here with the log. The file used for the test is "Art DV Test.mp4"

Logs

upload_org.jellyfin.androidtv_log_20240604.zip

FFmpeg logs

No response

Media info of the file

General
Complete name                            : Z:\Movies\Dolby Vision Test Files\Art DV Test.mp4
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42 (mp42/dby1/isom)
File size                                : 267 MiB
Duration                                 : 1 min 16 s
Overall bit rate                         : 29.2 Mb/s
Frame rate                               : 60.000 FPS
Encoded date                             : 2017-09-19 18:54:04 UTC
Tagged date                              : 2017-09-19 18:54:04 UTC

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5.1@Main
HDR format                               : Dolby Vision, Version 1.0, Profile 5, dvhe.05.09, BL+RPU
Codec ID                                 : dvhe
Codec ID/Info                            : High Efficiency Video Coding with Dolby Vision
Duration                                 : 1 min 16 s
Bit rate                                 : 28.6 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 60.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.057
Stream size                              : 261 MiB (98%)
Encoded date                             : 2017-09-19 18:54:04 UTC
Tagged date                              : 2017-09-19 18:54:04 UTC
Codec configuration box                  : hvcC+dvcC

Audio
ID                                       : 2
Format                                   : E-AC-3 JOC
Format/Info                              : Enhanced AC-3 with Joint Object Coding
Commercial name                          : Dolby Digital Plus with Dolby Atmos
Format settings                          : Dolby Surround EX
Codec ID                                 : ec-3
Duration                                 : 1 min 16 s
Bit rate mode                            : Constant
Bit rate                                 : 640 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Stream size                              : 5.84 MiB (2%)
Service kind                             : Complete Main
Encoded date                             : 2017-09-19 18:54:04 UTC
Tagged date                              : 2017-09-19 18:54:04 UTC
Complexity index                         : 16
Number of dynamic objects                : 15
Bed channel count                        : 1 channel
Bed channel configuration                : LFE

Application version

0.16.11

Device information

Nvida Shield TV (2019)

Android version

Android 11

Jellyfin server version

10.19.4

pascalwei commented 3 weeks ago

Thank you for your bug report! Maybe we get a clue from the device logs. Please get the logs from the Shield itself via adb. Ideally once with debug mode where it plays and once without debug mode where it doesn't play. I can't test this on my own as I don't have a Dolby Vision enabled display.

DaveR1974 commented 3 weeks ago

So I have now set up my Shield to allow adb access, but I do not have a clue where the logs are located. Please advise on the path to the logs. Many thanks.

pascalwei commented 3 weeks ago

You want to use the SDK platform tools to retrive the logs. The logs aren't accessible with a file browser, you need to connect the Shield to a PC either remotely over Wi-Fi or via USB as described in the documentation. Then you'll be able to view the logs using the logcat command on your computer's command line.

DaveR1974 commented 3 weeks ago

Sorry for the delay. Something strange is going on. I was able to get the Logcat for when Directplay works (Debugging on in the Jellyfin server). When I disabled Debugging on the Server is where it gets weird. Whilst the Shield is in Developer mode (adb/Logcat) Directplay continues to work. When I switch off Developer mode on the Shield (so unable to Logcat) is when Directplay stops and I get the incompatible media type error. This means I am unable to produce a device log for when the issue occurs. logcat_Debug_On.txt

pascalwei commented 3 weeks ago

The application doesn't change its behaviour based on enabling / disabling developer options. But even if it does, you should be able to turn off developer options, get the error, turn on developer options and do a logcat. The logs are always created, so the period when developer options were off should still be there (unless you reboot or wait a long time).

If you set everything back to default (developer options off on both server and shield, transcoding allowed for the user). You get the ffmpeg logs. What is the reason for transcoding shown in the web ui admin dashboard? You can see the reason by clicking on the small information icon in Active Devices while the stream is playing.