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.
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
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.
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
I use plex mainly but run jellyfin alongside it for people that watch on mobile.
I started with my old desktop that had an Intel cpu with quicksync and put unraid on it, i started with 2tb disk and gradually switched over to 14tb drives now I'm at 100tb total storage.
I have several famy friends coworkers using it now, at first no one was really interested but as streaming prices went up and content got more dispersed people started jumping on board.
Now multiple friends setup their own servers so its really good coverage especially if I need to take mine down for maintenance the wife can keep watching stuff from other people's servers.
Things you need to find out is if you are behind a cgnat or other isp issues
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.
Sorry, just to get this straight: How much was your NAS? And why is that not factored in the cost for the service?
I bought used Buffalo dual bay NAS. It is not great, but does the job. I think I bought it for around $20. + 3TB harddrive I had at home in my old server and later bought cheap cca $80 Toshiba 4TB.
In my opinion it doesn't really make sense to factor that in. A NAS is a multi-purpose device. In this specific example they would be using it as a media server but that's not its only purpose nor the only purpose it should be used for.
Additionally network attached storage can even be an old computer that you don't use anymore. It's extremely difficult to factor the price of a NAS into an anecdotal response like this and be even partially correct.
Some will be free. Some will be $5,000. Some will be $250. It really depends on your needs, what you have, and what you want out of it.
For example I already had a NAS when I set up jellyfin. I run the server on my local computer to give it access to my GPU for transcoding services and all of the files are saved on the network storage.
So anecdotally what I include the price and to what it cost me to set up jellyfin? I already had the NAS, I didn't have to invest anything... Additionally you don't need network storage you could set it up on your local PC.
It's simply a difficult question to answer.
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.
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.
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.
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).
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.
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.
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 bought a lifetime pass for Plex years ago and it works great for what you are trying to do.