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
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Gnome Fans Everywhere Rejoice for the Latest Release
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.
-
Fedora KDE Approved as an Official Spin
If you prefer the Plasma desktop environment and the Fedora distribution, you're in luck because there's now an official spin that is listed on the same level as the Fedora Workstation edition.
-
New Steam Client Ups the Ante for Linux
The latest release from Steam has some pretty cool tricks up its sleeve.