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.
I use Jellyfin as a home media server - in my set up I have it running on my desktop PC, and I use it to stream a media library to my tv.
A home media server basically just means its meant to be deployed at a small scale rather than as a platform for 1000s of people to use.
Your scenario is exactly what Jellyfin and Plex can do. If you have 5 users then you just need a host device running the server that is powerful enough to run 5 video streams at the same time. The server can transcode (where the server takes on the heavy lifting needing a more powerful CPU) or direct play (where all the server does is send the bits of the file and the end user’s device such as a phone or smart tv does the hard work of making a quality play, so a lower power server device can work).
If this is contained within your home, your home wifi or network should be fine to do this, even up to 4k if your network is good enough quality. If the 5 people are outside your home then your internet bandwidth - particularly your upload bandwidth - and your and their internet quality will be important determinant of quality of experience. It will also need more configuring but it is doable.
This doesn’t need to be expensive. A raspberry pi with storage attached would be able to run Jellyfin or Plex, and would offer a decent experience over a home network if you direct play (I.e. just serve up the files for the end users device to play). You might need something more powerful for 5 simultaneous direct play streams but it would still be in the realms of low powered cheap ARM devices.
If you want to use transcoding and hardware acceleration you’d need better hardware for 5 people to stream simultaneously. For example an intel or amd cpu, and ideally even something with a discrete graphics card. That doesn’t mean a full desktop PC - it could be an old PC or a minipc.
However most end user devices such as TVs, PCs, Phones and tablets are perfectly capable of direct playing 1080p video themselves without the server transcoding. Transcoding has lots of uses - you can change the audio or video format on the fly, or enable streaming of 4k video from a powerful device to a less powerful device - but its not essential.
Direct play is fine for most uses. The only limitation is the files on the server need to be in a format that can be played on the users device. So you may need to stick to mainstream codecs and containers; things like mp4 files and h.264/avc. You could get issues with users not being able to playback files if you have say mkv files and h. 265/hevc or vp9. Then you’d either need to install the codecs in the users device (which may not be possible in a smart tv for example) or use transcoding (so the server converts the format on the fly to something the users device can use but then needing a more powerful server)
I prefer Jellyfin as its free and open source. It has free apps for the end user for many devices including smart tvs, streaming sticks, phones, tablets and PCs. Its slightly less user friendly than plex to set up but not much. And the big benefit is your users are only exposed to what you have in your library.
Plex is slightly more user friendly but commerical. You have to pay for a licence to get the best features and even then it pushes advertising and tries to get your users to buy commercial content. Jellyfin does not do that at all.
Finally if your plan is to self host in the cloud, again this is doable but then you stray into needing to pay for a powerful enough remote computer/server, the bandwidth for all content to be served up (in addition to your existing home internet) and the potential risk of issues with privacy and even copyright infringement issues around the content you are serving. A self hosted device in your home is much more secure and private. A cloud hosted solution can be secure but youre always at risk of the host company snooping your data or having to enforce copyright laws.
Edit: the other thing to consider ia an FTP server. If you just want to share the files, its very simple to set up. What Jellyfin and Plex offer is convenience by having a nice library to organise things, and serving up the media. But direct play from a media server is not far off just downloading the file from an ftp server to your home device and playing it. But you can also download files from a Jellyfin server so I’d say its worth going the extra step and to use a dedicated media server over ftp.
Top comment, really. Comprehensive and accurate
+1 for Jellyfin, all the features of Plex (that matter to me), none of the subscription costs.
I installed Jellyfin on my parent’s and sibling’s TVs and use direct play. I don’t get anything above 1080, lowest common denominator and all that. I set up kid’s shows and movies in separate folders and set up an account for my nieces and nephews, so my siblings can let them watch shows unmonitored without worrying what they’ll find. (I don’t trust the show ratings to work correctly) Meanwhile we can watch stuff like The Bear without the kids learning all of the Swears
Also i picked up a 16TB hdd for $250 a couple years ago so there’s that
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.
Jellyfin doesn’t require money. I run mine on $10 old Igel thin client with quadcore AMD cpu and 4G RAM. It reads media via shares from NAS. I can access it from outside via my domain just fine.
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.
My server that I host emby on is an unraid setup and using the “automated ripping machine” docker has been super handy for transferring my physical discs into digital form for proper preservation.
Completely unrelated, but did you know that most local libraries have music on cds and movies on dvd/blu rays that you can checkout for free with a linrary card?
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