How to disable transcoding in Jellyfin?
☁️

How to disable transcoding in Jellyfin?

videoQuality
Tags
Nas,MediaCenter,Jellyfin,transcoding,hardware acceleration,Synology,DS1821+,WD,Plex,Emby,Player,Media,Infuse,MrMC,Kodi
Property
影片進度
Table of Contents
notion image

Background

I just setup my Synology DS1821+ using Jellyfin for media server. It's great that everything is free and open-source that everyone can build together. Jellyfin is great that it comes with free hardware transcoding which in Plex and Emby you need to pay for that feature. The video scrapper and media wall all worked great for Jellyfin!
 
notion image

Problem

However, I've got problems that Synology NAS is simply not powerful enough for HEVC, 4k, and 10bit videos where it just serve as a high speed nas, instead of a media centric nas.
Jellyfin offers web player for playing your media. However, as my nas without hardware acceleration, the media can only be transcoded with the CPU. Playing 4K HDR with HEVC( H265 ) contents turns CPU into 100% and the video cannot be played.
notion image

Solution

There are several solutions to the problem. We need to avoid making the nas do the transcoding job. So we need media players that direct-play the video from nas instead of transcoding at the nas first then send out.

iOS

In iOS, Infuse and MrMC work for direct play.
 
notion image
 
notion image
 

MacOS

In MacOS, you can use Jellyfin Media client and pick the highest framerate for direct play.
notion image

Android and Windows

In Android and Windows, Jellyfin's Kodi plugin is here to help!
notion image

Multiple Users

However, if we need to share the media center with family members, it'll be hard for them to understand which player to use for different platform. So, is there a way for disabling the transcoding on the Jellyfin server to avoid CPU 100% problem.
Yes! I found the solution from the reference link!

Steps

Here is what we need to do:
We cannot setup for the whole system to avoid transcoding, but we can avoid it in users' settings one by one.
First, let's get to the users settings menu
Disable these settings to avoid transcoding!
Under Media Playback;
  • ❌ Allow audio playback that requires transcoding
  • ❌ Allow video playback that requires transcoding
  • (possibly) Allow video playback that requires conversion without re-encoding
Under Download & Sync;
  • ❌ Allow media downloading and syncing that requires transcoding
 
Now, if the player starts playing HEVC videos that the browser client cannot transcode, it will only show the cover page. The Jellyfin server will not transcode for them so that the media server can remain stable!

Future work

Finding a hardware powerful enough for transcoding is still important for a media server, I still need to survey which board is the cheapest for the job. Maybe, RPi4, Nvidia video card or Nvidia shield? Please share some thoughts if you know the answer.
Stucking in the cover page as the video cannot be played is just a horrible user experience. An alert or notice message are needed for telling them to use proper player to play Jellyfin with client transcoding!

Reference

  1. https://forum.jellyfin.org/t/disabling-transcoding/2349