Open jasonafriedman opened 6 months ago
What happens if you try to play the video using an external player and choosing the complete stock OS-bundled video player?
The DV file does not play in stock video player or cx file explorer. It does play in VLC, I think that has some software/hardware decoding available. I have upgraded to JF server 10.9 and the issue persists. Looking at my network bandwidth it looks like jellyfin is sending the full file to the client and the client is receiving it and playing it just as a black screen. Once I turn down the bitrate to 1080p 40mbps, the client triggers a transcode on the server. Tone mapping works properly on 10.9 with my AMD gpu so the client just needs a manual override to lower the resolution and force a transcode because otherwise it will play a black video.
FYI there is now a PR for adding DV support to androidx/media: https://github.com/androidx/media/pull/1235
First time commenting here - can agree to this being an issue. Server is running in an Unraid docker container on version 10.9.8 and the client is the Jellyfin android app on two different devices - Galaxy S10 and Galaxy Tab S7 both on version 2.6.2. Both clients show a black screen when direct playing 4k HEVC DV HDR10 (Profile 7.6) content using the Integrated player. Audio works as intended.
This is the media info for a file that does playback correctly: The.Beekeeper.2024.REMUX-2160P.HEVC.TRUEHD.ATMOS.7.1.DV.HDR10 Containermkv Path/media/movies/The Beekeeper (2024)/The.Beekeeper.2024.REMUX-2160P.HEVC.TRUEHD.ATMOS.7.1.DV.HDR10.mkv Size56273 MB Video Title4K HEVC HDR CodecHEVC AVCNo ProfileMain 10 Level153 Resolution3840x2160 Aspect ratio16:9 AnamorphicNo InterlacedNo Framerate23.976025 Bitrate74500 kbps Bit depth10 bit Video rangeHDR Video range typeDOVIWithHDR10 DV titleDV Profile 8.1 (HDR10) DV version major1 DV version minor0 DV profile8 DV level6 DV rpu preset flag1 DV el preset flag0 DV bl preset flag1 DV bl signal compatibility id1 Color spacebt2020nc Color transfersmpte2084 Color primariesbt2020 Pixel formatyuv420p10le Ref frames1
And here is one that only shows a black screen: The.Lord.of.the.Rings.The.Return.of.the.King.2003.REMUX-2160P.PROPER.HEVC.TRUEHD.ATMOS.7.1.DV.HDR10 Containermkv Path/media/movies/The Lord of the Rings The Return of the King (2003)/The.Lord.of.the.Rings.The.Return.of.the.King.2003.REMUX-2160P.PROPER.HEVC.TRUEHD.ATMOS.7.1.DV.HDR10.mkv Size161280 MB Video Title4K HEVC HDR CodecHEVC AVCNo ProfileMain 10 Level153 Resolution3840x2160 Aspect ratio16:9 AnamorphicNo InterlacedNo Framerate23.976025 Bitrate85639 kbps Bit depth10 bit Video rangeHDR Video range typeHDR10 DV titleDV Profile 7.6 DV version major1 DV version minor0 DV profile7 DV level6 DV rpu preset flag1 DV el preset flag1 DV bl preset flag1 DV bl signal compatibility id6 Color spacebt2020nc Color transfersmpte2084 Color primariesbt2020 Pixel formatyuv420p10le Ref frames1
Excluding file sizes and bitrate, there were small differences in the media info: Video range typeDOVIWithHDR10 DV titleDV Profile 8.1 (HDR10) DV profile8 DV el preset flag0 DV bl signal compatibility id1
Versus the file that is only a black screen: Video range typeHDR10 DV titleDV Profile 7.6 DV profile7 DV el preset flag1 DV bl signal compatibility id6
Original commenter's media info: Video range typeHDR10 DV titleDV Profile 7.6 DV profile7 DV el preset flag1 DV bl signal compatibility id6
Noting the fact that both the file I had issues with and the one the OP had issues with were using DV profile 7.6, I went hunting for other 4k remux DV content. These were the results: 16x Files that reported Video range typeHDR10 and DV titleDV Profile 7.6 would only display a black screen with audio. 4x Files that reported Video range typeDOVIWithHDR10 and DV titleDV Profile 8.1 (HDR10) would play back as expected.
Wondering if remuxes were the only type of content plagued by this issue I switched to 4k web files, however I only could find ones with Video range typeDOVIWithHDR10 + DV titleDV Profile 8.1 (HDR10) and the 10 I tried all displayed correctly.
I also attempted to use the Jellyfin for Android TV app on the Galaxy S10 to see if it would work, but it uses the same integrated player and still produces the same result. Using Jellyfin Media Player on windows and the Jellyfin for Android TV app on a Sony TV all content including DV profile 7.6 played correctly, so this issue is not on windows and is not on all android powered devices. I am by no means knolowdgeable enough to understand why profile 7.6 does not work while 8.1 does, but I assume that the latter is falling back to HDR10 for devices that do not support DV, while the former is not and is sending an incompatable stream to the device. The logs all look normal, and do not differ from what the OP put in their post. I agree with the follow up comment from the OP that the network activity appears as the server is sending the full bandwith needed to the client device as if the file is playing normally. Forcing any sort of transcode by lowering the quality/bitrate plays the file as intended, with me having no issues with tone mapping using a GTX 1660 Super.
I don't need the DV profile at all as I am fine with it falling back to HDR10, however I agree with the OP that the app should not allow the file to direct play if it will produce a black screen, which in my testing was DV profile 7.6 content on android devices that do not appear to support DV.
Eager to hear what comes of this as I'm only realizing now how much DV profile 7.6 content I have as I normally playback on windows, so I never noticed this issue until now. Will gladly do more testing if needed.
Edit: Using the integrated video player on the Samsung devices DID work, and the same goes for using VLC. This issue for me only occurs with ExoPlayer.
Use Just player as an external player. That app is also using Exoplayer but it has an option in settings which supports HDR fallback for DV profile 7 files.
While I'm sure this works as for me VLC and Samsung's integrated player both did, it doesn't address the main issue. The file shouldn't be served directly if there will be an issue playing it back natively on the app using any android device such as Pixel 6a or a Galaxy S10.
As per the OP's original issue:
If DV is not supported on the pixel 6a, then the app should not allow a broken direct play and force server transcoding
Describe the bug
When playing Dolby Vision content on pixel 6a, the app reports that it is direct playing, however there is just a black screen for video. The audio works fine. If DV is not supported on the pixel 6a, then the app should not allow a broken direct play and force server transcoding. If I select a lower bitrate (eg1080p 10mbps) then I can get the video to show up, however it is green and purple (Jellyfin 10.8 AMD VAAPI transcoding does not support tonemapping on my vega 7 gpu).
Media info: The Hobbit An Unexpected Journey (2012) [imdbid-tt0903624] - Extended Cut [Remux-2160p][DV HDR10][TrueHD Atmos 7.1][HEVC]-FraMeSToR Containermkv Path/media/library/movies/The Hobbit - An Unexpected Journey (2012)/The Hobbit An Unexpected Journey (2012) [imdbid-tt0903624] - Extended Cut [Remux-2160p][DV HDR10][TrueHD Atmos 7.1][HEVC]-FraMeSToR.mkv Size71112 MB Video Title4K HEVC HDR CodecHEVC ProfileMain 10 Level153 Resolution3840x2160 Aspect ratio16:9 InterlacedNo Framerate23.976025 Bitrate54472 kbps Bit depth10 bit Video rangeHDR Video range typeHDR10 DV titleDV Profile 7.6 DV version major1 DV version minor0 DV profile7 DV level6 DV rpu preset flag1 DV el preset flag1 DV bl preset flag1 DV bl signal compatibility id6 Color spacebt2020nc Color transfersmpte2084 Color primariesbt2020 Pixel formatyuv420p10le Ref frames1 Audio TitleTrueHD Atmos 7.1 - Eng - Default Languageeng CodecTRUEHD Layout7.1 Channels8 ch Bitrate3402 kbps Sample rate48000 Hz Bit depth24 bit DefaultYes ForcedNo ExternalNo Audio TitleAC-3 5.1-EX - Eng - Dolby Digital Languageeng CodecAC3 Layout5.1 Channels6 ch Bitrate448 kbps Sample rate48000 Hz DefaultNo ForcedNo ExternalNo Audio TitleCommentary by director Peter Jackson and writer Philippa Boyens - Eng - Dolby Digital - Stereo Languageeng CodecAC3 Layoutstereo Channels2 ch Bitrate192 kbps Sample rate48000 Hz DefaultNo ForcedNo ExternalNo Subtitle TitleEnglish (SDH) - PGSSUB Languageeng CodecPGSSUB DefaultNo ForcedNo ExternalNo Subtitle TitleArabic - PGSSUB Languageara CodecPGSSUB DefaultNo ForcedNo ExternalNo Subtitle TitleChinese (Simplified) - PGSSUB Languagechi CodecPGSSUB DefaultNo ForcedNo ExternalNo Subtitle TitleChinese (Traditional) - PGSSUB Languagechi CodecPGSSUB DefaultNo ForcedNo ExternalNo Subtitle
Logs
Application version
2.6.1
Where did you install the app from?
None
Device information
Pixel 6a
Android version
Android 14
Jellyfin server version
10.8.13
Which video player implementations does this bug apply to?