Photo by Nothing Ahead.
The year was 2015, and a budding self-hoster has a computer set up with a large hard drive, some media, and Kodi running on it. The interface is beautiful but cumbersome, and plugins that add some very nice functionality or skins that make for a stunning visual experience break every few updates. The wife would rather load up Netflix and stream over a poor internet connection than try to navigate this frequently-broken setup. Enter Plex Media Server, sacrificing "Wow! This is beautiful!" for "Yay! It works!". The wife approval factor skyrockets, and your job maintaining a beautiful-yet-clunky interface is done. Kodi was a wonderful program, and I still love it, but the need for something that "just works" outweighed all the benefits that Kodi offered.
In case you have no idea what I'm talking about so far, I'm specifically referencing the Plex Media Server, a software package that presents your media via a website, desktop app, mobile app, or TV app. The desktop app for Windows (at the time) supported controllers when put in a full-screen setup. You tell it where your media is, and it scans it and organizes it sorta automagically. It has been by far one of the most popular apps in this house, and since it offers the ability for us to share our curated media with others by just entering their email addresses and pressing Invite, now our closest relatives and friends can partake and share in our experiences. Plex even manages their authentication, so the host doesn't ever have to worry about managing an account. Whether one is brand-new with self-hosting or an experienced DevOps Engineer, Plex just makes it easy!
Plex is arguably the best media server app you can get, provided you have some digital movies and TV of your own. -- Tom's Guide
But times are changing, and the winds that carry us all scatter us all. Plex has slowly been turning its focus towards being a service, and 2022 was a huge leap in that direction. On April 5th, Plex released a blog post called "Kiss the Streaming Struggle Goodbye with Plex" where they released a feature they call Discovery. This feature allows end-users to pick the streaming services they are subscribed to, and their searches will now search those streaming providers to return Netflix content beside Disney+ content beside self-hosted content. This is fantastic for end-users, but this almost defeats the need for us self-hosting a media server if end-users were willing to pay $10 per month (give or take) per app per each user. That's not the end-user experience I wanted for my house nor for my closest friends and family. Enter Jellyfin, an open-source media server and end-user applications. Jellyfin sacrifices some nice-to-haves, like managed authentication, to provide a strictly server-client relationship.
Scott Hancock, Plex’s vice president of marketing, said in an interview that Plex customers using the software’s media server features had been overtaken by customers using Plex’s online streaming capabilities in 2022. --PR Newswire
One of my favorite podcasts, Self Hosted.show, decided to do Jellyfin January, a challenge to abandon Plex in favor of Jellyfin for one month to see if there was a preference. Spoiler Alert: They chose to stay mostly with Jellyfin. (Check out Episode 89 for the full story.) I did not join in on this challenge because I tend to run a week or so behind on their podcast, but I have been playing with Jellyfin for a while. In the house, we prefer Jellyfin as remote authentication isn't required for it; Plex authentication is usually up, but it's been a problem when we're offline. Jellyfin also allows for hardware decoding. Plex supports this, but only for Plex Pass purchasers. I recently moved both from a dedicated virtual machine to a Docker container. Jellyfin was much easier to move (though it took some tricks to make it work). Plex, on the other hand, was nearly impossible to reclaim as mine, and a poorly-documented setting caused it to appear offline for app-users for days before I figured out why... it was fine for people using a browser! When Jellyfin doesn't work, it's a bit easy to tell why it doesn't work. It's errors are a pretty good indication of what is wrong. Plex displays error codes that, when Googled, don't give many clear indications to what is wrong. Plex is also a bit inconsistent with when it decides to work and when it doesn't, whereas Jellyfin is consistent. If Jellyfin is having a problem, it is more clear on what that problem is.
Jellyfin is the volunteer-built media solution that puts you in control of your media. Stream to any device from your own server, with no strings attached. Your media, your server, your way. -- Jellyfin.org
That's not to say that Jellyfin is not without its own problems. Searching around at different self-hosted media solutions might lead you to this Github page comparing Jellyfin, Kodi, Plex, and others. You may notice that Jellyfin does not run on as wide a variety of OS's as Plex. You may also notice posts on Reddit describing some problems they've had with Jellyfin, and yes, Jellyfin does occasionally give us problems too. Of course, you'll find problems with any application out there, and Plex and Jellyfin are no exception.
So, where does that leave us? Well, we're leaning towards Jellyfin and away from Plex. It's not to say that Plex is bad, but it's not moving in the direction we want to go. Plex seems less about building software to allow people to serve each other and more about connecting end-users with more popular streaming services, and that's OK, but it's not for us. We have been a proponents and fans of Plex for over half a decade, however Jellyfin now better aligns with those of us who are hosting our own services. For the foreseeable future, we will continue to maintain both services until we have a solid plan on moving all users over to Jellyfin. More to come!