1. Overview
As users of Linux, choosing an ideal media streaming platform can be tricky due to many factors, such as compatibility, user interface, and supported media formats.
In this tutorial, we’ll discuss the variety of UPnP/DLNA clients and compare them to see which suits us best.
2. UPnP/DLNA Clients in Linux
UPnP (Universal Plug and Play) and DLNA (Digital Living Network Alliance) clients follow networking protocols that facilitate both the general sharing of data and the streaming of media, operating in a user-friendly setup for Linux.
Notably, UPnP and DLNA work in unison:
- UPnP utilizes SSDP (Simple Service Discovery Protocol) to identify the available servers that we can use
- DLNA recognizes media servers and renders within the network, enabling us to stream media on the appropriate server
In general, UPnP has a broader view of devices, while DLNA concentrates primarily on media.
3. Factors Affecting the Choice of UPnP/DLNA Client
When picking UPnP/DLNA clients, there are different aspects we can consider to avoid making an incorrect choice by performing several steps:
- analyze system capabilities for its ability to handle the client
- check which client supports our media format
- consider user interface preference
Based on the above, we can
3.1. Compatibility
Among the most commonly used clients, some are more suitable for particular user types.
The VLC media player can be considered the most popular UPnP/DLNA client by far. That is not by chance, as it’s compatible with most Linux distributions such as Ubuntu, Debian, and Fedora. Kodi is also a strong contender and a widely used client for its compatibility, specifically for Ubuntu systems.
Due to its resource needs, GNOME environments are difficult to handle for certain clients. However, Rygel integrates satisfactorily in this manner, enabling GNOME users to have ease of use while either streaming media or sharing it across the network.
3.2. User Interface (UI)
UI is usually a point of personal preference. When it comes to a simple and forward design, using the VLC media player client is often the best choice. Moreover, its UI offers extensive features and advanced controls.
Kodi possesses a more modern UI, offering a wide range of options and accessibility. On one hand, it’s highly customizable and truly an all-in-one client. On the other hand, its interface may prove too complicated for beginners.
If we’re looking for a more simplified UI, Rygel is our client of choice due to its minimalism and basic features.
3.3. Supported Media Formats, Streaming Quality, and Reliability
VLC media player and Kodi share their versatility in supporting most media types, including the most commonly used audio, video, and image formats:
- audio: MP3, FLAC, AAC, WMA, and OGG
- video: MP4, MKV, AVI, MOV, and more
- image: JPEG, PNG, BMP, and GIF
While Rygel supports common formats, it can be considered less versatile in this regard:
- audio: generally supports MP3, OGG, FLAC, and other common formats
- video: standard formats like MP4, AVI, and MKV
- image: basic image formats like JPEG and PNG
VLC, Kodi, and Rygel all handle high-quality HD and 4K streams, with VLC being the most robust and reliable of the three.
4. Setting Up UPnP/DLNA Clients
Once we’ve selected the most suitable UPnP/DLNA client for our needs, the next step is to install and configure it on our system. This process includes understanding how to update, troubleshoot, and adjust the settings of our client, especially when encountering errors.
4.1. VLC Media Player
VLC media player is a highly versatile and popular UPnP/DLNA client due to its ease of use, high compatibility, and advanced features that pertain to all users.
Installing VLC media player on a Linux system can be performed using a package manager such as apt on Debian and Ubuntu:
$ sudo apt install vlc
To install it on a Fedora or similar system, we use the dnf package manager and the RPM Fusion repository:
$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm && \
sudo dnf install vlc
At this point, we should have access to the VLC media player in our Application menu and as a command in the system:
$ vlc
If everything is working as it should, we proceed by showing the Playlist with a key combination:
Ctrl + L
Following that, we just select Universal Plug’n’Play from theLocal Network category on the left.
4.2. Kodi
As the other top contender, let’s install Kodi.
To do so on Ubuntu and Debian, we should be able to use apt directly:
$ apt install kodi
Still, there are differences between the official Kodi release and the Ubuntu and Debian versions:
- Ubuntu
- Debian uses only system libraries as well as libdvdread and libdvdnav, with no other embedded third-party libraries
- Debian ships with the old Chorus interface for compatibility
Alternatively, on Fedora and similar systems, we employ dnf:
$ dnf install -y https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm && \
dnf install -y https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm && \
dnf install kodi
Since it can use packages from both RPM Fusion free and non-free, we may need both to install Kodi.
In any case, we should now have Kodi in our Applications menu and as a command.
Then, we add UPnP servers as sources by going to Settings > Service > UPnP/DLNA. In addition, Kodi can push media to remote clients, acting as a server as well.
5. Firewalls and Troubleshooting
The idea behind streaming clients is their ease of use and plug-and-play capabilities.
Still, security mechanisms such as firewalls and packet filters can prevent the proper functionality of more complex UPnP/DLNA clients such as Kodi. Because of this, we might need to add firewall rules that enable communication under given conditions.
When it comes to Kodi, we need TCP data to flow inbound through port 8080.
If in doubt, when troubleshooting, we can try to temporarily disable the firewall and ensure direct connectivity between server and client. Another way to remedy problems is to either upgrade our existing package or use another method of installation, such as universal Flatpak.
6. Conclusion
In this article, we discussed the factors that can affect our choice of UPnP/DLNA clients.
In many major Linux distributions, we recommend using the VLC media player client due to its versatility and UI, which is rich with features. Further, Kodi is another great, albeit perhaps more complex choice. Moreover, Rygel would be a good choice in GNOME systems due to its high compatibility.
Finally, we discovered the process of deploying and using VLC media player and Kodi in different Linux distributions and performed basic troubleshooting.