Jellyfin Forum
SOLVED: Successful transcodes in browser, but not on other devices - 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: SOLVED: Successful transcodes in browser, but not on other devices (/t-solved-successful-transcodes-in-browser-but-not-on-other-devices)



Successful transcodes in browser, but not on other devices - abaxi - 2024-01-31

I'm running into an issue where Jellyfin does not kick off a transcode job for AV1 files when streamed to certain clients like my Chromecast and jellyfin-web-player desktop applications. I have verified that hardware transcoding is enabled and working for the AV1 codec when streaming from a Firefox browser. But when I try to stream the same video file to a Chromecast or desktop jellyfin-media-player app, no transcode takes place. I know this because no transcode log appears in the log dashboard after terminating playback. I have svt-av1 installed in the container and av1 codec libraries present on the proxmox host.

Here's a log of the playback events when streaming from the Chromecast:

Code:
[2024-01-30 17:31:16.442 -06:00] [INF] User policy for "User". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-01-30 17:31:16.442 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="AndroidTV-libVLC", Path="\\<NAS_ADDRESS>:/media/movies/<AV1_VIDEO_FILE>.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/86172980-0326-efd0-756e-9a9881689b6d/stream.mkv?MediaSourceId=861729800326efd0756e9a9881689b6d&Static=true&VideoCodec=av1&AudioCodec=opus&AudioStreamIndex=2&api_key=<token>&SubtitleMethod=Encode&Tag=35f597325fb159f353b0005fbb6bc2b6"
[2024-01-30 17:31:16.632 -06:00] [INF] User policy for "User". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-01-30 17:31:16.633 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="AndroidTV-ExoPlayer", Path="\\<NAS_ADDRESS>:/media/movies/<AV1_VIDEO_FILE>.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoProfileNotSupported ) "media:/videos/86172980-0326-efd0-756e-9a9881689b6d/master.m3u8?MediaSourceId=861729800326efd0756e9a9881689b6d&VideoCodec=hevc,h264&AudioCodec=aac,mp3,ac3,eac3&AudioStreamIndex=2&VideoBitrate=13868607&AudioBitrate=228309&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&RequireAvc=false&Tag=35f597325fb159f353b0005fbb6bc2b6&SegmentContainer=ts&BreakOnNonKeyFrames=False&av1-level=8&av1-videobitdepth=10&av1-profile=main&aac-audiochannels=8&TranscodeReasons=VideoProfileNotSupported"
[2024-01-30 17:31:32.373 -06:00] [INF] Playback stopped reported by app "Android TV" "0.16.4" playing "<VIDEO>". Stopped at "6040" ms

I'm not exactly sure why it would transcode when streaming to the browser but not elsewhere, as the Chromecast 4K and my desktop clients do not support AV1.

Server Setup:
  • Jellyfin 10.8.13 running in privileged proxmox LXC
  • Intel RocketLake CPU with QSV transcoding enabled and working
  • AV1 decoding enabled

Chromecast 4K Client:
  • Jellyfin 0.16.4 on Android TV 12
  • Player choice and streaming bitrate set to "Auto"



RE: Successful transcodes in browser, but not on other devices - TheDreadPirate - 2024-01-31

Can you share the full media info for this video as shown by the Jellyfin UI?


RE: Successful transcodes in browser, but not on other devices - tmsrxzar - 2024-01-31

(2024-01-31, 12:08 AM)abaxi Wrote: I'm not exactly sure why it would transcode when streaming to the browser but not elsewhere, as the Chromecast 4K and my desktop clients do not support AV1.

because the source video is already compatible with the client, PlayMethod=DirectPlay
and because the android-tv app does not have force transcoding settings
that means the client does not request a transcode

transcoding settings on the server only tell the server what it is capable of doing IF THE CLIENT REQUESTS IT

the server cannot force clients to take a transcoded version


RE: Successful transcodes in browser, but not on other devices - abaxi - 2024-01-31

(2024-01-31, 12:13 AM)TheDreadPirate Wrote: Can you share the full media info for this video as shown by the Jellyfin UI?

The video stream has info:

Code:
Video
Title: 1080p AV1 SDR
Codec: AV1
Profile: Main
Level: 8
Resolution: 1920x802
Aspect ratio: 2.40:1
Interlaced: No
Framerate: 23.976025
Bitrate: 1679 kbps
Bit depth: 10 bit
Video range: SDR
Video range type: SDR
Color space: bt709
Color transfer: bt709
Color primaries: bt709
Pixel format: yuv420p10le
Ref frames: 1

The audio stream has info:

Code:
Audio
Title: OPUS - 5.1
Codec: OPUS
Layout: 5.1
Channels: 6 ch
Bitrate: 228 kbps
Sample rate: 48000 Hz
Default: No
Forced: No
External: No

(2024-01-31, 12:15 AM)tmsrxzar Wrote:
(2024-01-31, 12:08 AM)abaxi Wrote: I'm not exactly sure why it would transcode when streaming to the browser but not elsewhere, as the Chromecast 4K and my desktop clients do not support AV1.

because the source video is already compatible with the client, PlayMethod=DirectPlay
and because the android-tv app does not have force transcoding settings
that means the client does not request a transcode

transcoding settings on the server only tell the server what it is capable of doing IF THE CLIENT REQUESTS IT

the server cannot force clients to take a transcoded version

What does "compatible" mean here? Why would the client request a direct stream for a codec that it's not able to decode?


RE: Successful transcodes in browser, but not on other devices - TheDreadPirate - 2024-01-31

My CCwGTV 4K requests transcodes for my AV1 content. But I explicitly use exoplayer (manually selected). I see in the first log you posted that libVLC wanted to direct play. I manually selected libVLC on mine and it ATTEMPTED to direct play (it did not go well).

What happens when you manually select exo as your preferred player?


RE: Successful transcodes in browser, but not on other devices - tmsrxzar - 2024-01-31

disregard*

take it TDP, all yours


RE: Successful transcodes in browser, but not on other devices - abaxi - 2024-01-31

(2024-01-31, 03:45 AM)TheDreadPirate Wrote: My CCwGTV 4K requests transcodes for my AV1 content.  But I explicitly use exoplayer (manually selected).  I see in the first log you posted that libVLC wanted to direct play.  I manually selected libVLC on mine and it ATTEMPTED to direct play (it did not go well).

What happens when you manually select exo as your preferred player?

Ah, I had LibVLC selected for troubleshooting this issue with Auto set before (also attempted direct play). Selecting ExoPlayer explicitly seemed to have resolved the issue, thank you!