Jellyfin Forum
Some Criterion Collection 4k won't play on AndroidTV Client - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Some Criterion Collection 4k won't play on AndroidTV Client (/t-some-criterion-collection-4k-won-t-play-on-androidtv-client)

Pages: 1 2


Some Criterion Collection 4k won't play on AndroidTV Client - AudioVisualAndy - 2025-02-10

I have a handful of Criterion Collection 4k videos that do not play using the Android TV Jellyfin client. They play fine using the Web client.

I assume that there is a transcoding issue, either Audio or Video, but how can I verify exactly what is the problem?

Some examples: The Princess Bride and The Long Good Friday.

I am running 10.10.3 in Docker, on a Synology NAS.


RE: Some Criterion Collection 4k won't play on AndroidTV Client - TheDreadPirate - 2025-02-11

Can you share your Jellyfin logs via privatebin.net?

(Sorry, I missed this post yesterday)


RE: Some Criterion Collection 4k won't play on AndroidTV Client - AudioVisualAndy - 2025-02-12

Here is a cleaned version of the log: https://privatebin.net/?12212a1718c95748#C5Be5CpKPjDfQGC3hjLuioxgVriraRv79AbVHn9GoKWv
Cleaned up to remove some of the Trickplay error messages.

When I play the movie, the screen is just black, and doesn't time out. When I go to the on-screen controls, I see the movie is paused. When I push play, the screen stays black and doesn't time out. I think the stream timeouts correspond to when I press the 'Play' button on the onscreen controls, after I already "started" the movie.

I should mention that this ONLY happens with Criterion Movies, and usually, it has an encoding like PCM S24LE, but sometimes, movies with that encoding work, so it's not a silver bullet.


RE: Some Criterion Collection 4k won't play on AndroidTV Client - theguymadmax - 2025-02-12

Provide the complete media info for two of the files that you are having issues with. Also, what device are you running the Jellyfin ATV client on.


RE: Some Criterion Collection 4k won't play on AndroidTV Client - AudioVisualAndy - 2025-02-13

I will get the metadata info tonight, what's the best way to accomplish that?


RE: Some Criterion Collection 4k won't play on AndroidTV Client - TheDreadPirate - 2025-02-13

In the Jellyfin UI in a browser, click on the "..." context menu for the movie and click "media info".


RE: Some Criterion Collection 4k won't play on AndroidTV Client - AudioVisualAndy - 2025-02-14

----------------------- The Long Good Friday
Audio
Title: Mono - English - PCM_S24LE - 1 ch - Default
Language: eng
Codec: PCM_S24LE
AVC: No
Channels: 1 ch
Bitrate: 1152 kbps
Sample rate: 48000 Hz
Bit depth: 24 bit
Default: Yes
Forced: No
External: No

Video
Title: 4K HEVC Dolby Vision Profile 7.6 (HDR10)
Codec: HEVC
AVC: No
Profile: Main 10
Level: 153
Resolution: 3840x2160
Aspect ratio: 16:9
Anamorphic: No
Interlaced: No
Framerate: 23.976025
Bitrate: 97423 kbps
Bit depth: 10 bit
Video range: HDR
Video range type: HDR10
DV title: Dolby Vision Profile 7.6 (HDR10)
DV version major: 1
DV version minor: 0
DV profile: 7
DV level: 6
DV rpu preset flag: 1
DV el preset flag: 1
DV bl preset flag: 1
DV bl signal compatibility id: 6
Color space: bt2020nc
Color transfer: smpte2084
Color primaries: bt2020
Pixel format: yuv420p10le
Ref frames: 1

Audio
Title: Director Commentary from 2002 - English - Dolby Digital - Mono
Language: eng
Codec: AC3
AVC: No
Layout: mono
Channels: 1 ch
Bitrate: 192 kbps
Sample rate: 48000 Hz
Default: No
Forced: No
External: No

Subtitle
Title: English - PGSSUB
Language: eng
Codec: PGSSUB
AVC: No
Resolution: 1920x1080
Default: No
Forced: No
External: No

----------------------- The Princess Bride

Audio
Title: Surround 5.1 - English - DTS-HD MA - Default
Language: eng
Codec: DTS
AVC: No
Profile: DTS-HD MA
Layout: 5.1
Channels: 6 ch
Bitrate: 3864 kbps
Sample rate: 48000 Hz
Bit depth: 24 bit
Default: Yes
Forced: No
External: No

Video
Title: 4K HEVC Dolby Vision Profile 7.6 (HDR10)
Codec: HEVC
AVC: No
Profile: Main 10
Level: 153
Resolution: 3840x2160
Aspect ratio: 16:9
Anamorphic: No
Interlaced: No
Framerate: 23.976025
Bitrate: 81761 kbps
Bit depth: 10 bit
Video range: HDR
Video range type: HDR10
DV title: Dolby Vision Profile 7.6 (HDR10)
DV version major: 1
DV version minor: 0
DV profile: 7
DV level: 6
DV rpu preset flag: 1
DV el preset flag: 1
DV bl preset flag: 1
DV bl signal compatibility id: 6
Color space: bt2020nc
Color transfer: smpte2084
Color primaries: bt2020
Pixel format: yuv420p10le
Ref frames: 1

Audio
Title: Surround 5.1 - English - DTS
Language: eng
Codec: DTS
AVC: No
Profile: DTS
Layout: 5.1
Channels: 6 ch
Bitrate: 1536 kbps
Sample rate: 48000 Hz
Default: No
Forced: No
External: No

Audio
Title: Commentary - English - Dolby Digital - Mono
Language: eng
Codec: AC3
AVC: No
Layout: mono
Channels: 1 ch
Bitrate: 192 kbps
Sample rate: 48000 Hz
Default: No
Forced: No
External: No

Audio
Title: Audiobook Reading Excerpts - English - Dolby Digital - Mono
Language: eng
Codec: AC3
AVC: No
Layout: mono
Channels: 1 ch
Bitrate: 192 kbps
Sample rate: 48000 Hz
Default: No
Forced: No
External: No

Subtitle
Title: English - PGSSUB
Language: eng
Codec: PGSSUB
AVC: No
Resolution: 1920x1080
Default: No
Forced: No
External: No


RE: Some Criterion Collection 4k won't play on AndroidTV Client - AudioVisualAndy - 2025-02-14

I started playing the Long Good Friday, and then The Princess Bride on the web client and these messages were in the Log:
[2025-02-13 19:00:20.440 -05:00] [INF] [144] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.0.128" request
[2025-02-13 19:00:45.273 -05:00] [INF] [144] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "root". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2025-02-13 19:00:46.174 -05:00] [ERR] [188] Jellyfin.MediaEncoding.Hls.Extractors.MatroskaKeyframeExtractor: Extracting keyframes from "/media/Video/Movies01/The Long Good Friday (1980)/The Long Good Friday (1980).mkv" using matroska metadata failed
System.InvalidOperationException: Operation is not valid due to the current state of the object.
at NEbml.Core.EbmlReader.EnterContainer()
at Jellyfin.MediaEncoding.Keyframes.Matroska.MatroskaKeyframeExtractor.GetKeyframeData(String filePath)
at Jellyfin.MediaEncoding.Hls.Extractors.MatroskaKeyframeExtractor.TryExtractKeyframes(String filePath, KeyframeData& keyframeData)
[2025-02-13 19:00:47.154 -05:00] [INF] [144] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2025-02-13 19:00:47.155 -05:00] [INF] [144] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -fflags +genpts -i file:\"/media/Video/Movies01/The Long Good Friday (1980)/The Long Good Friday (1980).mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 libfdk_aac -ac 1 -ab 128000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename \"efc30871c2458a0a4308aae5ea6630d8-1.mp4\" -start_number 0 -hls_segment_filename \"/cache/transcodes/efc30871c2458a0a4308aae5ea6630d8%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/cache/transcodes/efc30871c2458a0a4308aae5ea6630d8.m3u8\""
[2025-02-13 19:00:53.054 -05:00] [INF] [131] MediaBrowser.Controller.MediaEncoding.TranscodingJob: Stopping ffmpeg process with q command for "/cache/transcodes/efc30871c2458a0a4308aae5ea6630d8.m3u8"
[2025-02-13 19:00:53.411 -05:00] [INF] [131] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0
[2025-02-13 19:00:53.411 -05:00] [INF] [131] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) "/cache/transcodes/efc30871c2458a0a4308aae5ea6630d8.m3u8"
[2025-02-13 19:00:55.190 -05:00] [INF] [218] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.10.3" playing "The Long Good Friday". Stopped at "1208" ms
[2025-02-13 19:05:36.381 -05:00] [INF] [40] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "root". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2025-02-13 19:05:36.751 -05:00] [ERR] [162] Jellyfin.MediaEncoding.Hls.Extractors.MatroskaKeyframeExtractor: Extracting keyframes from "/media/Video/Movies01/The Princess Bride (1987)/The Princess Bride (1987).mkv" using matroska metadata failed
System.InvalidOperationException: Operation is not valid due to the current state of the object.
at NEbml.Core.EbmlReader.EnterContainer()
at Jellyfin.MediaEncoding.Keyframes.Matroska.MatroskaKeyframeExtractor.GetKeyframeData(String filePath)
at Jellyfin.MediaEncoding.Hls.Extractors.MatroskaKeyframeExtractor.TryExtractKeyframes(String filePath, KeyframeData& keyframeData)
[2025-02-13 19:05:36.771 -05:00] [INF] [162] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2025-02-13 19:05:36.772 -05:00] [INF] [162] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -fflags +genpts -i file:\"/media/Video/Movies01/The Princess Bride (1987)/The Princess Bride (1987).mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af \"volume=2\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename \"12218c1ff55542dfb70bb307599f0e02-1.mp4\" -start_number 0 -hls_segment_filename \"/cache/transcodes/12218c1ff55542dfb70bb307599f0e02%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/cache/transcodes/12218c1ff55542dfb70bb307599f0e02.m3u8\""
[2025-02-13 19:05:43.087 -05:00] [INF] [40] MediaBrowser.Controller.MediaEncoding.TranscodingJob: Stopping ffmpeg process with q command for "/cache/transcodes/12218c1ff55542dfb70bb307599f0e02.m3u8"
[2025-02-13 19:05:43.225 -05:00] [INF] [40] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0
[2025-02-13 19:05:43.225 -05:00] [INF] [40] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) "/cache/transcodes/12218c1ff55542dfb70bb307599f0e02.m3u8"
[2025-02-13 19:05:44.812 -05:00] [INF] [115] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.10.3" playing "The Princess Bride". Stopped at "2938" ms


In both cases, the Web Client successfully plays the movies.
However, my AndroidTV (Sony) fails to play them. I am running the latest AndroidTV client


RE: Some Criterion Collection 4k won't play on AndroidTV Client - TheDreadPirate - 2025-02-14

Borrowing part of @theguymadmax 's copy+paste for this issue.

Jellyfin has issues with Dolby Vision profile 7.6.  That specific profile is NOT compatible with anything except bluray players and some software decoders.  It has "fallback" profiles for 8.1 and HDR10, but Jellyfin (or is it exoplayer?) does not fallback to those compatible profiles.

Workarounds:
  1. Remove DV Metadata: Follow the steps in this forum thread to strip out the Dolby Vision metadata.
    Code:
    /usr/lib/jellyfin-ffmpeg/ffmpeg -y -hide_banner -stats -fflags +genpts+igndts -loglevel error -i "/path/to/dvhdr10+_video.mkv" -map 0 -bsf:v hevc_metadata=remove_dovi=1 -codec copy -max_muxing_queue_size 2048 -max_interleave_delta 0 -avoid_negative_ts disabled hdr10_video.mkv
  2. Remove HDR10+ Metadata:
    Code:
    /usr/lib/jellyfin-ffmpeg/ffmpeg -y -hide_banner -stats -fflags +genpts+igndts -loglevel error -i "/path/to/dvhdr10+_video.mkv" -map 0 -bsf:v hevc_metadata=remove_hdr10plus=1 -codec copy -max_muxing_queue_size 2048 -max_interleave_delta 0 -avoid_negative_ts disabled dv_video.mkv
  3. Force Transcoding on ATV: Reduce the bitrate or set audio to stereo to trigger transcoding on the client.
  4. Use Kodi as an external player for the ATV client: Kodi allows you to choose the format compatible with your TV. You can disable Dolby Vision or HDR10+ as needed.
  5. Use Kodi with Jellyfin Plugin: Kodi allows you to choose the format compatible with your TV. You can disable Dolby Vision or HDR10+ as needed.

On your browser clients, Jellyfin is transcoding it from the get go.


RE: Some Criterion Collection 4k won't play on AndroidTV Client - AudioVisualAndy - 2025-02-14

Thanks for the reply, I am glad I finally know why it is failing and how I can play them.

Is there a guthub issue I can track to see if/when Jellyfin can handle this DV profile, either by decoding it or by falling back to a profile it does support?