2024-05-18, 11:14 PM
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?
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?