Bad 4K Performance on Jellyfin

Scrubbles@poptalk.scrubbles.tech to Selfhosted@lemmy.world – 51 points –

Hi all, looking for some help with the Jellyfin Media Player.

For background, I've used Plex for years, and I've had it working well. I'm trying out Jellyfin because of all of the reasons you're already thinking of.

One issue I'm having - I like uncompressed 4K HDR. I'm trying to play a large movie, one Plex direct plays perfectly fine to my HTPC. (2.5GB networking through and through, direct access, all the basics have checked). However Jellyfin Media Player seems to stutter and drop frames.

Not like "It stops and buffers", but more like playing a video game and it drops down to 15fps. Is there a setting somewhere I'm missing to enable GPU support or something? I toggled OpenGL on and off and it didn't seem to have an effect.

Video says it's direct play, no transcode. Not sure what else it could be beyond hardware acceleration?

Thanks!

27

WDYM by "uncompressed"? A truly uncompressed 4K HDR movie needs about 6Gbit/s of goodput. A 2.5Gbit/s link won't be enough for that.

Straight rip from disc. Bandwidth was never a problem with Plex. However another comment got me up and running.

I see. In future, better refer to this as "ripped blu-rays" or "ripped ISOs" to avoid confusion. "uncompressed" really does mean something entirely different.

Glad you managed to sort it out :)

4K@60 with 4:4:4 and HDR is 18Gbps of bandwidth.

If you take a look at my calculation, I'm assuming 24fps because this is a movie.

Yeah, I saw it. I was just giving more information.

7 more...

Have you checked and enabled hardware acceleration?

Support and troubleshooting steps are dependent on your GPU and OS.

Should that matter for direct play? On Plex I never used hardware acceleration and focused on my media player being able to play everything. My client is a full PC, with an Nvidia GPU on Windows. The client doesn't seem to be using it from what I can tell.

Am I misunderstanding this? Is a client setup here different from the server?

In my personal experience the jellyfin clients just aren't as good. I play my whole jellyfin library through Kodi and everything direct plays without issue.

Same here, all my 4k players run Kodi/CoreELEC with the Jellyfin plugin.

Don't like the default clients either, I use Delfin on Linux and Findroid on Android

Try jellyfin-mpv-shim. It directly uses mpv (either a built in version or even your system mpv) and if it doesn't play well there, it's likely not going to play well anywhere.

So far this is working pretty well! Shame it's such a pain doing the extra step

What OS are you watching on? There are some third-party clients that might work better. For example, Delfin on Linux and Findroid on Android.

You can also use jellyfin media player that uses mpv too.

What browser are you using? Is your CPU usage usually high during playback? If so your system isn't using hardware decode

If you want direct play of the file, play around with different clients. Encoding 4k can be taxing on a system. Some jellyfin clients just don't support the media format for direct pass through.

Another thing to remember is the client needs to support decoding the video in hardware or have enough CPU to handle it in software. I have intel i7 (3rd gen) with no hardware HEVC/x265 support but it has enough CPU to power through.

What's your CPU load look like? You may need to setup hardware acceleration and enable transcoding

I was having issues a few weeks ago, using the Jellyfin client on the Google TV w/ Chromecast, and a lot of them were solved by reinstalling the app.

but more like playing a video game and it drops down to 15fps

Likely not a server-side problem (check CPU usage on the server), if the server was struggling to transcode I think it would result in the playback pausing, and resuming when the encoder catches up. Network/bandwidth problems would result in buffering. This looks like a bad playback performance problem, what client are you using? Try with multiple clients (use the web interface ina browser as a baseline) and see if it makes any difference.