Hi, I’m fairly new to the self-hosted universe but I like the idea of self-hosting media (I’ve looked at Jellyfin and Plex). But as I understand this requires quite some money and a lot of work. I don’t think it’s worth it if I put in all that effort just for myself but I’d love to build a small private streaming between me and my friends. We used to share and swap blu-rays after all, so it would be cool to build a shared collection.
My question is if that’s possible and if anyone has experience with this? I’ve read that Jellyfin and Plex are meant as home-media-servers and I’m not sure what limitations that implies. Can people access the library from outside networks and will that affect the streaming quality/speed? What specs would the server need to ensure it can handle a bunch of users? Is there a software that is better suited for this use-case?
Thanks in advance for any help!
You need any kind of mobo/CPU combo, I’ve heard 12th Gen Intel onwards are as capable of transcoding on the fly as an older GPU so you wouldn’t need both, but if you go older I recommend a GPU as well, just because it gives more flexibility with being able to use hardcoded subtitles without locking up the CPU, and streaming a lower bitrate version of the video if your internet is shit, instead of - again - locking up
For easy certificate management I use NginX Proxy Manager, for media I use Emby and for a domain I use Cloudflare but you can absolutely serve your server with DuckDNS or another DDNS service for free.
I paid about £200 to build my server, with a £30 CPU (Intel i6 3100), free motherboard, £50 PSU and £110 SFF case (rough costs), and holy fuck it’s so much cheaper than any subscription. Electricity is about £3-£5 a year and other costs are optional. I also sourced a GTX 970 for £90 that was more than up to the task of transcoding, but again, if you get a 12th gen you won’t need it.
I just remembered the HDD I started with was a spare (10TB Seagate Barracuda Pro, but I shucked (like shucking for pearls) an external HDD to get it, as I heard that you can get lucky and get a good drive for cheaper than it would cost to buy it. Said eHDD was about £250.
Plex/jellyfin
If I could do it all over I’d pick jellyfin however plex is on more devices and easier for people to setup…for now.
However you may also be interested in the arr stack. For reasons.
I have Jellyfin running on a VPS. I used Swizzin Community Edition to set it all up. It is available online.
Yes, you can expose jellyfin via a reverse proxy or through a vpn like tailscale to your friends.
Quality and speed depends on what client they use, what transcoding hardware is in the server and your internet speed. For most usecases, a newer Intel based CPU can do 5-8 streams at once without issue, so it will likely depend on your internet connection.
I have an Intel N100 based mini PC on a 1Gbit/s upload connection running Jellyfin that I share with some friends. Usually 2-3 streams at once and it handles it well. Most of my media is in H264/MP4 with AAC audio, so they rarely transcode.
Make sure to check your bandwidth capacity. Streaming data to 5 people could reduce your capability to navigate on Internet if they are outside your local net as the upload speed is usually the weak point of many ISP. If you have good fiber, it won’t be a problem.
I have been really happy with Emby. The setup was easy, library tags updated more reliably than plex, and remote access was simple to get setup with a user account. I am not using a vpn to access it, just give it the server details and user credentials and it works. I did opt for the paid lifetime version though.
IIRC the free version of Emby doesn’t throttle in any way, you can still have up to 10 concurrent active devices and the only thing you miss out on really is OpenSubtitles. But I’ve recently upped my game with Sonarr and it’s a dream. One day I’ll put my movies into Radarr.
most of the work is getting media. I spend many hours ripping cds, getting track titles right (popular music this is automatic but I have a lot of obscure cds where this can’t be done). there are ways to download music, but again you will spend time doing that.
movies are even worse in part because there often isn’t a legal way to do things and so even if you have the rare legal movie things are tricky.
It’s doable. I personally run my Jellyfin instance publicly available and there’s maybe 3 people who use it regularly. With my internet connection, WAN side users are limited to about 720p but I’ve had the 3 of us all playing different media at the same time on occasion. The main limiting factors on the number of simultaneously active users is how much upload bandwidth you have and how quickly you can transcode video files. Any 10 year old box will be able to handle 1 or 2 users at a time provided it doesn’t need to do a bunch of transcoding. If your building a box, would use a 11th or 12 gen Intel or if you must go AMD, have a graphics card to handle the transcoding. The “build a box” route can probably handle 4 or 5 simultaneous users, possibly more depending on your hardware choices. The main limiting factor in that case would be your upload.
That’s pretty much what I just recommended aha, 12th gen or higher, or a GPU. Doesn’t have to be a large one either - my GTX 970 could handle Emby transcoding as well as blaze through speech recognition for a local voice assistant
other than hardware (close to anything you got lying around + dirt cheap used 3.5" drives) I don’t see what the expensive part is. granted, if you follow the youtubers with their specialized builds with $400 motherboards and virtualize this and kubernette that, sure, that’s gonna cost you. but if you disable transcoding on the server and store standard 1080p h264/x265 files that practically anything can play, a humble 10+ year old PC will do just fine.
start small - you already have a PC of some sort, run jellyfin server on with a couple of movies and shows and make it work. once it works within your household, look into accessing it from the outside. once that works, add an user or two.
once you make all of that work then you can look at drawing up optimal specs and setting up a separate box and whatnot.
I am running plex server on a low power i3-7xxx. thanks to the igpu that thing can handle a few 1080p transcodes at once. Even 4K HDR transcoding is possible, though I never get more than one or two of them at the same time. Unless you need it to encode subtitles into the video or you have many simultaneous HDR to SDR conversions going at once any cheap old PC with an intel 7th gen or newer and igpu should do well. Oh, and I don’t think they can handle AV1, but that is still very uncommon.
Intel iGPUs work phenomenally for transcoding but a lot of people who share with others keep their 4K files in a separate unshared library and only share 1080p and below since they tend to require transcoding a lot more than everything else.
if you have an old pc/laptop tying around and some storage, it`ll not cost you a penny to get up and running.Plex easier to use but more restricted if you dont pay for it whereas Jellyfins entirely free but requires a bit more work
I have a NAS with 2.2GHz quad-core, 8GB RAM running plex.
So far my record was 7 simultaneous remote streams (I think 2 were transcodes, the rest direct play), which it handled fine. And going by CPU usage, it should be able to handle 5 transcoding sessions (1080p max) at once.
Though, I usually run into bandwidth limits before I run into CPU limits (hopefully I’ll get fibre this year).
I bought a lifetime pass for Plex years ago and it works great for what you are trying to do.