An easy-to-use media server for your home network
Media Distributor

Home media servers like Kodi or LibreELEC are feature-rich but difficult to set up. Serviio promises to make things simpler.
A media center is a computer or computer-like system that plays multimedia content to a playback device. Many media centers are configured to stream media files (music, video, or images) to a home television set, but you can also use a media center to stream to a game console, mobile device, or computer. The FOSS universe includes several Linux distributions that are designed to serve in the media center role – including Kodi and LibreELEC – but some users consider these tools too complicated for a casual home environment. The complex functions of the common media center can overwhelm many users and often require advanced knowledge.
If you are looking for a media server for your home network that sets up quickly, is immediately ready for operation, and streams content to any computer or DLNA-compatible TV, game console, or MP3 player, then Serviio [1] might be the right choice for you. The Java-based Serviio media server comes from a fairly young company, Six Lines Ltd., based in the county of Northamptonshire in England.
The Serviio software is subject to a proprietary license. You can choose between a free version and a commercial Pro version, which costs a one-off fee of $25. Serviio Pro has some additional functions not available in the free version, such as a web-based media browser and an app for Android devices. Serviio uses free libraries, such as FFmpeg, x264, and the LAME MP3 encoder.
The Serviio server also supports less common video and audio formats and understands popular image, playlist, and subtitle formats. You can pick up the server as a tar archive of only about 30MB from the project's website. The download version is the Pro edition, but it will automatically switch to the free version after 15 days if you do not purchase a license.
Installation
First unpack the downloaded Serviio tarball in a subdirectory of your choice. Then change to the serviio-2.0/bin/
directory, where you need to call the ./serviio.sh
script. As a prerequisite, you need to have installed the FFmpeg libraries and a Java Runtime Environment. If these components are not in place, the script terminates and displays an error message; otherwise the server starts – but without reporting successful completion.
Now, switch to your web browser, and then enter the following in the address bar to launch the configuration interface:
http://localhost:23423/console
If you replace localhost
with the IP address of the server, you can access the dashboard from any other computer on the network (Figure 1).
The command center is tidy and has a modern, split interface. Choose a menu option on the left, and the various settings associated with the menu item appear on the right.
Content
To make your content available via the server, select the Library option in the menu on the left of your screen. Choose Shared folders to add the local subdirectories where your multimedia content will reside.
To add the subdirectories, click on Add and, under Media Type, first define whether you mean pictures, movies, or music. If the directory contains mixed media content, you can enable multiple media types. Then click on Browse… to the right of the folder display below to open a file manager in which you can select the folder on your system you wish to share. A click on OK enters it in the folder display. Please note that Serviio also recursively adds the subfolders. To make sure that more meaningful names appear in the list instead of the directory names, assign a suitable name in Display name.
After entering all the folders, click on Save at bottom center in the window; Serviio now refreshes the display. If you want to make modifications to a folder setting or delete individual folders, click the small triangular icon to the right of the list entry next to Edit. From the list, select whether you want to edit or delete the folder; deletion happens without a prior confirmation prompt. If you delete accidentally, you can undo the action by clicking on Reset at the bottom of the window.
By default, the software permanently checks the contents of the defined directories for up-to-dateness and refreshes the display if necessary. If you don't want this, uncheck the boxes for Update shared files and Update library automatically. The server is then ready for streaming (Figure 2).

To integrate online services, use the Library option in the Library menu. After calling the Add option, you can integrate sources from RSS feeds or HTTP streams in Serviio. To integrate online sources, you just need to save the URL, including the media type. A meaningful name and a preview for the display round off the options.
Serviio also offers you the option of restricting access to the content. Choose the Users group on the left side of the main window. The corresponding settings menu on the right side of the window lets you define users and passwords. In the directory settings, check the boxes to determine which users are granted access to what content. The users then need to log on to the server in a login dialog if they want to access the shared data directories.
Transcoding
For those devices on the network that do not support the file format of the source streamed by Serviio, the server offers the option of transcoding the content on the fly. However, this option is only possible for devices for which Serviio has its own profile, usually TVs and game consoles (see the box entitled "Profiled"). PCs that work with DLNA-compatible software do not benefit from transcoding.
Profiled
Serviio comes with profiles for various end devices, which means that it cooperates without any problem with many TV sets, as well as with popular gaming consoles. If the end device does not play a file format supported by Serviio, the server detects this from the profile and transcodes the file during the streaming process so that the device receives a playable data stream.
If no profile exists for the playback device, you can create a separate profile for it in the config/profiles.xml
of the server installation directory. The manufacturer provides detailed instructions for creating a profile [2]; however, the tutorial does presuppose advanced knowledge of codecs and playback devices.
By default, content transcoding is enabled. You can set individual options for this in the Distribution | Transcoding dialog. Specify the storage path for the temporary files and the number of CPU cores you want to dedicate to transcoding. Some settings can also be made for audio tracks. Note that, for high-definition videos, sufficient storage capacity must be available for the temporary files. Otherwise, the stream might be interrupted due to capacity bottlenecks, especially if you are streaming high-res movies.
The Subtitles and Languages menu items let you set different options for handling multilingual movies and movies with subtitles. Serviio reads both fixed and variable subtitle tracks. In the language settings, you can define the preferred language selection for multilingual video films, both for audio and subtitle tracks. Note that for fixed subtitle tracks, Serviio will always retranscode when you switch tracks.
The Metadata group lets you use preview images to make the list of your content clearer and more attractive. The server loads the preview images, which might include DVD or Blu-ray covers, from various online databases as required.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Direct Download
Read full article as PDF:
Price $2.95
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Find SysAdmin Jobs
News
-
Kubuntu Focus Announces XE Gen 2 Linux Laptop
Another Kubuntu-based laptop has arrived to be your next ultra-portable powerhouse with a Linux heart.
-
MNT Seeks Financial Backing for New Seven-Inch Linux Laptop
MNT Pocket Reform is a tiny laptop that is modular, upgradable, recyclable, reusable, and ships with Debian Linux.
-
Ubuntu Flatpak Remix Adds Flatpak Support Preinstalled
If you're looking for a version of Ubuntu that includes Flatpak support out of the box, there's one clear option.
-
Gnome 44 Release Candidate Now Available
The Gnome 44 release candidate has officially arrived and adds a few changes into the mix.
-
Flathub Vying to Become the Standard Linux App Store
If the Flathub team has any say in the matter, their product will become the default tool for installing Linux apps in 2023.
-
Debian 12 to Ship with KDE Plasma 5.27
The Debian development team has shifted to the latest version of KDE for their testing branch.
-
Planet Computers Launches ARM-based Linux Desktop PCs
The firm that originally released a line of mobile keyboards has taken a different direction and has developed a new line of out-of-the-box mini Linux desktop computers.
-
Ubuntu No Longer Shipping with Flatpak
In a move that probably won’t come as a shock to many, Ubuntu and all of its official spins will no longer ship with Flatpak installed.
-
openSUSE Leap 15.5 Beta Now Available
The final version of the Leap 15 series of openSUSE is available for beta testing and offers only new software versions.
-
Linux Kernel 6.2 Released with New Hardware Support
Find out what's new in the most recent release from Linus Torvalds and the Linux kernel team.