Find the best media server software for Linux in 2021 with a built-in web client, native client, support for multiple formats, and more.
Home media servers have become increasingly popular and there are a number of commercial and free options.
Media servers are also a popular project for people tinkering with Raspberry Pi’s, can be a cool introductory project for people getting started in Linux and networking, or can just be a good way to put an old computer to use.
Home media servers can act as a streaming hub, be used for watching videos from video sharing sites or act as a vault for your own home movies, available for you to watch whenever you like – without having to try and hook your laptop up to your TV or drag out the VHS player.
Criteria for a Good Media Server Experience
There are a number of criteria a good media server must meet:
- Built-in web client
- We want to be able to stream to any web browser so we can see what’s on the server!
- Native clients for a wide number of devices
- Game consoles, tablets, smart TVs should also be able to access and browse content on the server
- Native clients aren’t required where a browser is available but can be nicer if there is controller support is available rather than trying to control a mouse cursor on a TV
- Support for popular photo, video, and audio formats
- Subtitles!
- Library management to keep your media organized
- The option to automatically detect TV series, mark episodes as having been watched would also be nice
- Download covers, posters, generate thumbnails
- We want our media library to look sweet on our big screen while flicking through content trying to find something to watch
Additional Criteria For a Good Linux Media Center
- Open source, totally free
- Easy to set up and add your media
- No sign up required
- No tracking, phoning home, data collection – what we watch is our business!
- Good documentation
And the Winner is…
We’re going to skip the listicle format outlining a bunch of lesser options and go straight for the winner.
JellyFin Media Server
JellyFin Media Server runs wonderfully on Linux and supports all of the features mentioned above, and then some. It’s easy to install, easy to muck about with, so go and check it out!
I can’t agree; gerbera should be the winner.
Most users run a media server on a small system like a NAS (as in my case) or a Raspberry Pi, not on a PC.
The problem with JellyFin is that it it is written for .NET, which is a good choice for PCs or powerful ARM devices like smartphones or tablets, but a .NET app is compiled to “Intermediate Laguage”, similar to Java’s bytecode, not to machine code for the respective platform.
But just that is an important requirement for a media server.
Even though my NAS has a 1 GHz dual-core CPU and 1 GB of RAM, JellyFin was unusable. Then I found gerbera which runs really fast since it’s written in C++ and it has a feature that other media servers I tried before – including JellyFin – don’t have: You can have your photos categorised into year and month.
When I want to see the pictures I have taken e. g. in september of 2009, I open the virtual folders “Year”, “2007”, “09”. Everything I tried before grouped together pictures taken at the same day. So after selecting “By Date”, I got a huge number of virtual folders. When I finally arrived at 2009 after scrolling, scrolling and even more scrolling, I was presented with virtual folders “2009-01-01”, “2009-01-05”, “2009-01-06” and so on. But this would only be useful if you remembered the exact day you took the picture.
Furthermore, if you are familiar with JavaScript, you can take full control of how your media will be categorised by writing functions that will be called by gerbera when importing media.
I recommend to compile gerbera from source since most distros have merely ancient versions in their repos, e. g. even Debian testing has merely v1.1.0, whereas the current version is 1.8.0.
ATM, stay away from 1.8.0 if your client supports video thumbnails and you want to use that feature since it’s broken in 1.8.0.
Get the 1.7.0 source from GitHub, it’s really easy to build since it uses cmake and it comes with scripts that download, build and install suitable versions of libraries gerbera depends on.
Apologies for the delay in getting your comment approved – I hadn’t heard of Gerbera – thanks for pointing it out!
No problem 😉