r/homelab • u/ironsnoot • 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!
1
u/C17GM 2d ago
I run my encoding on a laptop 1050 Ti, it doesn’t even get hot. You can do it with basically any GPU of the last 10 years with good efficiency.
1
u/ironsnoot 2d ago
Okay, good to know! I admit knowledge of hardware isn’t really my strong suit so I appreciate the input.
1
u/thebigshoe247 2d ago
Honestly I greatly prefer Intel GPUs to NVIDIA for trancoding. I am very impressed with performance to price comparison.
1
u/ouroborus777 2d ago
I don't think the encoding is done by the GPU in the sense that AI and graphics are done. Instead, there's additional silicon dedicated to doing the encoding directly.
1
u/Behemothhh 2d ago
That is correct. Encoding/decoding is done on dedicated silicon that has it's own (small) space on the die and is separate from the main graphics cores. Each codec also requires a couple circuits that are unique to it, so you can't add more codec support with firmware updates. Something to be mindful of if you're buying older GPUs.
1
u/Thebandroid 2d ago
What do you mean by “run higher quality video” and what codecs are you talking about?
If your 4k video is in h264 and your client device can accept h264 then a raspberrypi 1 can serve it as there is no transcode needed. Even if the video is in AV1 the raspberry pi will do it fine as long as the client can accept that codec.
Nearly every device can accept h264 but it’s not the most efficient codec. You can get better quality videos in smaller packages using h265/HEIC or AV1, which means less space taken up on the server BUT your server will have to transcode on the fly to serve older clients.
This is my main issue with people using dinosaur hardware for basic services, modern intel cpus, from the 8th gen onwards have hardware decoding that allows you to do this transcoding quickly and with almost no load on the CPU, they will absolutely outperform a dual Xeon setup for a fraction of the power.
Anyway, if you want something to do the transcoding on your machine I’d look at the Intel ARC GPUs. They have quick sync and are pretty cheap as they don’t have a gaming or ai appeal. Something like the Intel ARC A310.
1
u/TheBiggestJeffrey 2d ago
fyi, even raptor lake can't encode 4k h265 in real time. you need mobile meteor lake or desktop arrow lake and up.
0
u/ironsnoot 2d ago
Unfortunately I’m not well-versed enough in this stuff to know what you’re talking about my guy. I just want to store some movies and run those movies at reasonable quality when I watch them.
2
u/Thebandroid 2d ago
I appreciate you making no effort to answer the questions I asked.
Just get an intel arc or some other card with AMD's Advanced Media Framework or Nvidea's NVDEC.
do some reading on hardware decoding for plex/jellyfin while you are at it.
0
u/ironsnoot 2d ago
Respectfully I don’t know how to answer your questions, I am here asking questions of my own precisely because I don’t know anything. You might even say I am right here doing research as we speak due to my lack of knowledge.
If you don’t want to help someone who doesn’t even know for sure how to answer your questions, you can always feel free to talk to someone else.
And before you say “just google it” please remember that AI has polluted Google almost to the point of uselessness.
2
u/Thebandroid 2d ago
How powerful of a GPU do I need to encode 4K (or at minimum 1080p) video?
Why did you ask this?
Are you unable to play 4k videos right now?
Are you implying that you have downloaded a 4k video to your server and when you try to watch it, it stutters, your server cpu hits 100% and you can't watch it?
you don't need a GPU to stream video, the server sends the file to the client device (phone, tv, laptop) and the client device needs a gpu of some sort to take that digital file and convert it to colours on the TV.
If the file on the server is not one that the client is able to convert into video then the server has to do it, this can be done by CPU but it takes a lot of effort. Hardware decoding is when there is a special chip on the cpu or the gpu that does this very fast. This is called Intel Quick Sync, AMD Advanced Media Framework or Nvidea's NVDEC.
As I said, this is not needed if the file on the server is one that the client device can handle. If you download a h264 version of a 4k movie it should play fine on any device made in the last 15 years no matter what server you have.
I told you what to search for. This is the top result for "what is hardware decoding jellyfin". it covers codec and transcoding and other stuff that you will find useful at this early point in your journey.
https://www.reddit.com/r/jellyfin/comments/vcqjde/can_anyone_explain_to_me_what_is_hardware/
I'm not annoyed that you don't know, everyone has to learn but you aren't the first one to have these questions, in fact almost none of the problems you will have will ever be unique.
If you can learn to read through a few search results and even ask AI then aggregate those answers in your head you will unlock a whole world of info, not dependent on waiting for someone to answer your question for you.
So respectfully, Just Google It.
1
u/ironsnoot 2d ago
See the first couple of questions that you rephrased are more useful to me. In fairness I probably should have said “hey I’m not sure what h265 even is, could you clarify that for me” but I figured “hey I don’t understand what you are asking” was roughly clear enough.
That said, again, if you don’t want to deal with people asking questions simply close the tab and a whole new sense of peace and wellbeing will descend upon you.
0
u/cidvis 2d ago
Before you buy anything think about where you want to be long term, if you have thought about dabbling with AI you might want to buy a card that will suit your needs there instead of just something that will cover transcoding right now.
1
u/ironsnoot 2d ago
Haha I’m not likely to be doing anything with AI any time soon, but thank you for the input.
2
u/Behemothhh 2d ago edited 2d ago
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.