I have a QNAP TS-253D (Celeron J4125, 4GB RAM) hosting all my files. I used to have Jellyfin running on it in a Docker container, but it performed really poorly (which is expected ig). It used to take forever to stream a 1080p movie, and seeking back and forth would freeze the whole thing.
Then I moved my Jellyfin setup to my desktop PC (i9-10850k, 16GB RAM, 2080 Super), the files are still on my NAS. It performs much better now, streaming is a breeze and it almost never freezes or anything.
Problem is, it eats up all my RAM. My RAM usage is 99% almost all the time someone uses Jellyfin and it significantly hampers my regular work on my desktop. I can upgrade my RAM to 32 or 64 GB, but would that solve the problem?
If not, what is the cheapest mini PC or home setup that I can do that’d free up my desktop but still give me similar or at least good enough performance?
Thank you for your advice.
Fyi this sub here is about selfhosting software services, not about any hardware purchase or upgrade advice.
Consider subs like /r/HomeServer /r/Homelab /r/BuildaPC for that.
Then you goto homelab and homeserver and they tell you X and Y things and bitch and moan about power usage. Or they suggest things that logically don’t line up with what OP wants/needs. Or they will say lines like “for just a little more” about 10 times until a build is $1000 or more.
Lets try to be helpful instead of just pushing people other places…hmm?
Something is wrong if Jellyfin is using more than 2gb max.
I’m using a raspberry pi 4 8 GB. It’s not a problem until someone transcodes, and that usually happens with H265 HEVC media when the person is on a browser that doesn’t support it which is most browsers these days. If the person is doing directplay (click the gear during play and click on Playback Info). If it’s forced to transcode, it will tell you why.
Direct-play in native resolution and codec should give you perfect performance and consume almost no resources since it’s essentially just a file transfer. I find performance works best when I use the Jellyfin Media Player app on my computer or the Android app.
Same here. Working very well on my Pi 4 8gb.
Same here. Even 4 different playbacks without transcoding arent a problem.
running on a single core 2 gig cloud server. just set filter to h264 so there is no transcoding.
works for me.
I’m doing something similar except now I’m running out of space on my 1 TB volume. Now I need to upgrade and/or figure out a long term solution to convert to H265. Some of my files have file size differences on the scale of 400 MB vs 2 GB.
also delete redownloadable media. most of the media i want to watch is downloaded 10 minutes prior. I just leave hard to find media always there.
I’m doing something similar except now I’m running out of space on my 1 TB volume. Now I need to upgrade and/or figure out a long term solution to convert to H265. Some of my files have file size differences on the scale of 400 MB vs 2 GB.
run tdarr. schedule it to run at downtime.
I run Plex and Jellyfin and about 20 other containers in 8GB. They perform really well even though Plex doesn’t support hardware transcoding. I only have an i5 7500.
Running Emby on my TS-251+ with 2gb of ram.
Could be snappier when browsing my library but not a single issue streaming 1080p.
Running Jellyfin on my old Pentium E5200 (dual core), 4 GiB memory. I use FreeBSD with ZFS, but I use AppJail to manage my FreeBSD containers (>15). It works very well. There is no performance difference between containers and host (at least on FreeBSD): Jellyfin consumes up to 400-500 MiB of memory with a single client, a bit more when some other client wants to play a movie, but in general I use movian on my PS3 or the Jellyfin app on my android device. When I rewind or fast forward the movie it only hangs 1 or 2 seconds depending on network traffic (in general the rate is low) but I think the Jellyfin app or Movian prefetch chunks of the movie and caches it to improve performance a bit. I think the other thing that helps me not to consume a lot of my resources is that my movies are usually of decent quality, but not the best, as they are either classics or too recent to be of decent quality.
I don’t test the following because I don’t need to, but maybe it can be useful to you:
How is your RAM being used? Look at CPU-X in the “System” tab. If the memory is mostly used for buffers and cache then it’s not a problem, you want it to be used like that.
I ran my NAS for years off an i5 (Kaby Lake) with 4 GB of RAM and 32 GB of NVMe storage and it handled any of the usual media servers just fine. I’ve used them all, Plex, Emby and now Jellyfin.
Have a look at this table, get the cheapest used Intel CPU you can find that fits your transcoding requirements, slap it on a board with enough SATA connectors and 4 GB of RAM and you should be good to go.
Docker should not have a large impact, I have 15 containers running right now and they only use 2.5 GB of RAM in total (for reals, without buffers/cache).
Are you running any 4k content or just 1080p? How many users?
I don’t have any 4k content. Maybe one or two movies among a thousand. I have about 4 regular users.
Map this guy to your NAS. Load up Plex/Jellyfin dockers with /dev/dri mapped for Intel QuickSync. Nice and easy.
I run Plex on an N100 MiniPC, including hardware transcoding. I have the media in another system running TrueNAS.
How do you connect the 2 machines together? This is something I’ve been interested in doing so I can technically keep expanding by adding more “carriers”.
Export the files via SMB on the NAS and mount them on the Plex server.
On Linux, use NFS. SMB is best for Windows, FYI.
Make sure you get a box that can be upgraded to at least 32GB, made that mistake got the beelink s12 pro, not enough with 16GB.
Because of jellyfin? Mine is restricted to 3GB and runs happily on raspberry pi 4. I’ve even had it run on 2GB pi4 and it only struggled occasionally.
16 runs fine for me. I transcode to an SSD and run home assistant and airsonic and emulatorjs and immich and frigate and monitoring software like glances and uptimekuma and and and.
Ram is at 70%, could use more, 8 isn’t enough but 16 will get you going
Oh, I don’t want the SSD to die. Transcoding to ram and caching Rclone with buffer to ram also. Have at least 10 users to share with my Plex.
if it’s just plex i’ve been running it on an old laptop with 16gb soldered ram and it runs everything without issues
Transcoding what? UHD? Atmos? Or something else.
I’m looking for a cheap solution since 1 tv in my household needs those files transcoded and my NAS can’t 😞
4k x265 down to 1080p (x264). Basically any Intel CPU that supports quicksync can do several simultaneous hardware transcodes.
Very odd: on my computer it never uses more than 1GB of RAM. As for the limitations of your first setup, that sounds like a bottleneck when it comes to transcoding, which can occur because of a lack of GPU or CPU power, depending on whether or not you had hardware acceleration enabled. I would expect it to run much better on your new setup, but the RAM thing is worth investigating. I was running Jellyfin on 12GB of RAM until recently, and never hit 100% usage.
I run Jellyfin on a laptop that was too slow to use for anything else and an external hard drive. Intel Celeron N3060, 2 cores, 2 threads, less than 4gb ram, 32gb eMMC storage.
There are a TON of ways you can do this. Since you have a NAS already it makes it super easy. You just need a tiny desktop for about $100 and you are golden.
Look on ebay for one of those mini desktops from HP/Dell/Lenovo. The one thing though is you will need to find one that has a CPU that supports quicksync. So 7th gen or newer. So you want to find as far up the chain as you can.
They are:
- HP Prodesk
- Dell Optiplex
- Lenovo Thinkcenter
This is the cheapest way to get away with it.
There may also be an option to use one of the Intel Arc cards with a cheaply built desktop for quicksync support. But I have not seen anything related to comparing them to on die quicksync. I would be especially curious on the cheaper option from Arc and how well it works for video encoding.
I am using a cheap custom setup with a Ryzen 3600 and 16 GB of ram with TrueNas and works ok. Jellyfin takes a few seconds to get started but runs fine otherwise. I can even run 4k streams but only works smoothly if i encode them with the fast decode option. This was very cheap because of the old hardware, about $300 before the drives.
The only thing I would change is to get a CPU with integrated graphics. Some can help with decoding and massively simplifies the first time setup.
I run my truenas scale on a 17-4790 32gb ddr3 and run plex on it. Use a 1060 3gb for transcoding