Jellyfin Forum
Why is JF Transcoding? - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: General Questions (https://forum.jellyfin.org/f-general-questions)
+--- Thread: Why is JF Transcoding? (/t-why-is-jf-transcoding)



Why is JF Transcoding? - MediaMaan - 2024-05-18

OK, I set up a new server recently, so I can benefit from Intel QSV when needed.
Running Jellyfin Docker on unRAID.

Transcoding works - my problem is it seems to be transcoding too often, when a Direct Play or Direct Stream would be more appropriate.
e.g.

Playback Device = Pixel 7 phone running Jellyfin Client
Server User Setting = Allow Media, Allow Audio that requires transcoding & Allow video playback that requires conversion without re-encoding only selected.

I play a 1080p HEVC file with AC3 audio.
Result : Play Method = Direct Streaming, HEVC Direct, AAC audio

Server User Setting is updated to include Allow video playback that requires transcoding
Result when playing same video file : Play Method = Transcoding.
The file transcodes to H264 with AAC.
I can see the GPU spring to life (intel_gpu_top shows ffmpeg and Render/3D percentage jumps up to 98% to begin, while Video sits around 78%, Video Enhance around 28%, then they drop to 0%), and CPU usage increases.

Playback Info reports reason for transcoding = Container not supported & audio codec not supported.

Why, if the client is quite capable of Direct Streaming the HEVC video, would it transcode to H264?
Why would it put extra resources on the playback of this file, when Direct Streaming (and just re-enconding audio) works perfectly?
Is there a way I can limit this behaviour to only be performed on videos a specific client cannot truly play?


RE: Why is JF Transcoding? - TheDreadPirate - 2024-05-19

There is a setting to allow transcoding to HEVC. Is that enabled? If not, it defaults to only use H264.

Jellyfin also logs why it transcodes.


RE: Why is JF Transcoding? - MediaMaan - 2024-05-19

(2024-05-19, 12:13 AM)TheDreadPirate Wrote: There is a setting to allow transcoding to HEVC.  Is that enabled?  If not, it defaults to only use H264.

Jellyfin also logs why it transcodes.

Thanks for your reply.
Yes, I have transcode to HEVC selected.
However I didn't think it should be transcoding at all.

I modified the Jellyfin client on my phone to use the Integrated Player instead of the Web Player. That has helped, and now it shows Direct Play.

I am still confused as to why the client provoked a transcode on a file which it could Direct Stream through.


RE: Why is JF Transcoding? - TheDreadPirate - 2024-05-19

There is a line in the log (search for "TranscodeReason") that will state why it transcoded. The web player built into the Android app uses Chrome's HTML player, which does not support HEVC well. Switching to the integrated player uses exoplayer instead.


RE: Why is JF Transcoding? - MediaMaan - 2024-05-19

(2024-05-19, 01:01 AM)TheDreadPirate Wrote: There is a line in the log (search for "TranscodeReason") that will state why it transcoded.  The web player built into the Android app uses Chrome's HTML player, which does not support HEVC well.  Switching to the integrated player uses exoplayer instead.

Yeah, looks like ExoPlayer results in less Transcoding. I will run some tests on other hardware over the next few days, to ensure things are working as expected.