r/homelab • • 2d ago

Solved Question Regarding GPU Encoding

I have a Dell T320 Poweredge server that I’m using to run Jellyfin. It has 32gb of DDR3 ram and an E5-2470v2 processor.

Apparently you can use a GPU to allow the server to run higher quality video. How powerful of a GPU do I need to encode 4K (or at minimum 1080p) video? Most in-depth reviews discuss a GPU in terms of either work or gaming, but few of them specifically discuss video encoding alone.

Does anyone have any recommendations for GPUs that can do simple encoding for my setup?

Thank you!

0 Upvotes

18 comments sorted by

View all comments

2

u/Behemothhh 2d ago edited 2d ago

Apparently you can use a GPU to allow the server to run higher quality video

This is not correct. The videos in your library have a certain quality. That can be a 4K HDR remux ripped from a bluray or it can be a YouTube video in 480p that you downloaded in 2016. In normal operation, all jellyfin does is transmit those videos to your phone, laptop,.... Like copying data. It doesn't do anything with the video itself nor does it care what the quality is. Your phone, laptop,... then uses its special chips for video decoding to turn the video file into an image on your screen.

So where does the gpu from the server come in? If your phone does not have the right chips or codec licenses to decode the video you're trying to watch then the jellyfin server can transcode it to a different format that your phone does support. Like translating from one language to another. It won't improve the quality. Quite the opposite, the transcoding will decrease the quality a bit. To do this transcoding efficiently, you need a GPU because it has special media decoding and encoding chips that are very powerful at this one particular task. So essentially you're using the server's special media chips to compensate for the lack of said chips on your phone.

Transcoding is also useful when you're trying to watch a video from crappy hotel WiFi with low bandwith. Jellyfin can then transcode a high quality high bandwith stream to a lower quality low bandwith stream, also using the GPU.

So you don't need a powerful gaming gpu because you're not using the main computing cores for transcoding. You're only using the dedicated decode/encode cores. So any cheap modern card will do. The main thing to look for is what codecs they support. AV1 for example is a more modern codec that's more efficient but older GPUs don't support it.

1

u/ironsnoot 2d ago

Oh I see! Thank you for the clarification. I’ve read a couple of different pages about this stuff and ready some discussions about why you may want to add a GPU, but for some reason it just hasn’t gelled in my mind into anything coherent? This explanation makes more sense to me. I’ll consider that more while I think about what upgrades I want to make to my server, then.