The Search for the Perfect Media Server: A Journey of Discovery
Dinesh, an avid movie collector and music lover, had a growing problem. His laptop was bursting at the seams with countless movies, albums, and family photos. Every time he wanted to watch a movie or listen to her carefully curated playlists, he had to sit around his laptop. And if he wanted to share something with his friends, it meant copying with USB drives or spending hours transferring files.
One Saturday evening, after yet another struggle to connect his laptop to his smart TV via a mess of cables, Dinesh decided it was time for a change. He needed a solution that would let his access all his media from any device in his house β phone, tablet, and TV. He needed a media server.
Dinesh fired up his browser and began his search: βHow to stream media to all my devices.β He gone through the results β Plex, Jellyfin, Embyβ¦ Each option seemed promising but felt too complex, requiring subscriptions or heavy installations.
Frustrated, Dinesh thought, βThere must be something simpler. I donβt need all the bells and whistles; I just want to access my files from anywhere in my house.β He refined her search: βlightweight media server for Linux.β
There it was β MiniDLNA. Described as a simple, lightweight DLNA server that was easy to set up and perfect for home use, MiniDLNA (also known as ReadyMedia) seemed to be exactly what Dinesh needed.
MiniDLNA (also known as ReadyMedia) is a lightweight, simple server for streaming media (like videos, music, and pictures) to devices on your network. It is compatible with various DLNA/UPnP (Digital Living Network Alliance/Universal Plug and Play) devices such as smart TVs, media players, gaming consoles, etc.
How to Use MiniDLNA
Hereβs a step-by-step guide to setting up and using MiniDLNA on a Linux based system.
1. Install MiniDLNA
To get started, you need to install MiniDLNA. The installation steps can vary slightly depending on your operating system.
For Debian/Ubuntu-based systems:
sudo apt update sudo apt install minidlna
For Red Hat/CentOS-based systems:
First, enable the EPEL repository,
sudo yum install epel-release
Then, install MiniDLNA,
sudo yum install minidlna
2. Configure MiniDLNA
Once installed, you need to configure MiniDLNA to tell it where to find your media files.
a. Open the MiniDLNA configuration file in a text editor
sudo nano /etc/minidlna.conf
b. Configure the following parameters:
media_dir
: Set this to the directories where your media files (music, pictures, and videos) are stored. You can specify different media types for each directory.
media_dir=A,/path/to/music # 'A' is for audio media_dir=V,/path/to/videos # 'V' is for video media_dir=P,/path/to/photos # 'P' is for pictures
db_dir=
: The directory where the database and cache files are stored.
db_dir=/var/cache/minidlna
log_dir=
: The directory where log files are stored.
log_dir=/var/log/minidlna
friendly_name=
: The name of your media server. This will appear on your DLNA devices.
friendly_name=Laptop SJ
notify_interval=
: The interval in seconds that MiniDLNA will notify clients of its presence. The default is900
(15 minutes).
notify_interval=900
c. Save and close the file (Ctrl + X
, Y
, Enter
in Nano).
3. Start the MiniDLNA Service
After configuration, start the MiniDLNA service
sudo systemctl start minidlna
To enable it to start at boot,
sudo systemctl enable minidlna
4. Rescan Media Files
To make MiniDLNA scan your media files and add them to its database, you can force a rescan with
sudo minidlnad -R
5. Access Your Media on DLNA/UPnP Devices
Now, your MiniDLNA server should be up and running. You can access your media from any DLNA-compliant device on your network:
- On your Smart TV, look for the βMedia Serverβ or βDLNAβ option in the input/source menu.
- On a Windows PC, go to
This PC
orNetwork
and find your DLNA server under βMedia Devices.β - On Android, use a media player app like VLC or BubbleUPnP to find your server.
6. Check Logs and Troubleshoot
If you encounter any issues, you can check the logs for more information
sudo tail -f /var/log/minidlna/minidlna.log
To setup for a single user
Disable the global daemon
sudo service minidlna stop sudo update-rc.d minidlna disable
Create the necessary local files and directories as regular user and edit the configuration
mkdir -p ~/.minidlna/cache cd ~/.minidlna cp /etc/minidlna.conf . $EDITOR minidlna.conf
Configure as you would globally above but these definitions need to be defined locally
db_dir=/home/$USER/.minidlna/cache log_dir=/home/$USER/.minidlna
To start the daemon locally
minidlnad -f /home/$USER/.minidlna/minidlna.conf -P /home/$USER/.minidlna/minidlna.pid
To stop the local daemon
xargs kill </home/$USER/.minidlna/minidlna.pid
To rebuild the database,
minidlnad -f /home/$USER/.minidlna/minidlna.conf -R
For more info: https://help.ubuntu.com/community/MiniDLNA
Additional Tips
- Firewall Rules: Ensure that your firewall settings allow traffic on the MiniDLNA port (
8200
by default) and UPnP (typically port1900
for UDP). - Update Media Files: Whenever you add or remove files from your media directory, run
minidlnad -R
to update the database. - Multiple Media Directories: You can have multiple
media_dir
lines in your configuration if your media is spread across different folders.
To set up MiniDLNA with VLC Media Player so you can stream content from your MiniDLNA server, follow these steps:
Letβs see how to use this in VLC
On Machine
1. Install VLC Media Player
Make sure you have VLC Media Player installed on your device. If not, you can download it from the official VLC website.
2. Open VLC Media Player
Launch VLC Media Player on your computer.
3. Open the UPnP/DLNA Network Stream
- Go to the βViewβ Menu:
- On the VLC menu bar, click on
View
and thenPlaylist
or pressCtrl + L
(Windows/Linux) orCmd + Shift + P
(Mac).
- On the VLC menu bar, click on
- Locate Your DLNA Server:
- In the left sidebar, you will see an option for
Local Network
. - Click on
Universal Plug'n'Play
orUPnP
. - VLC will search for available DLNA/UPnP servers on your network.
- In the left sidebar, you will see an option for
- Select Your MiniDLNA Server:
- After a few moments, your MiniDLNA server should appear under the
UPnP
section. - Click on your server name (e.g.,
My DLNA Server
).
- After a few moments, your MiniDLNA server should appear under the
- Browse and Play Media:
- You will see the folders you configured (e.g.,
Music
,Videos
,Pictures
). - Navigate through the folders and double-click on a media file to start streaming.
- You will see the folders you configured (e.g.,
4. Alternative Method: Open Network Stream
If you know the IP address of your MiniDLNA server, you can connect directly:
- Open Network Stream:
- Click on
Media
in the menu bar and selectOpen Network Stream...
or pressCtrl + N
(Windows/Linux) orCmd + N
(Mac).
- Click on
- Enter the URL:
- Enter the URL of your MiniDLNA server in the format
http://[Server IP]:8200
. - Example:
http://192.168.1.100:8200
.
- Enter the URL of your MiniDLNA server in the format
- Click βPlayβ:
- Click on the
Play
button to start streaming from your MiniDLNA server.
- Click on the
5. Tips for Better Streaming Experience
- Ensure the Server is Running: Make sure the MiniDLNA server is running and the media files are correctly indexed.
- Network Stability: A stable local network connection is necessary for smooth streaming. Use a wired connection if possible or ensure a strong Wi-Fi signal.
- Firewall Settings: Ensure that the firewall on your server allows traffic on port
8200
(or the port specified in your MiniDLNA configuration).
On Android
To set up and stream content from MiniDLNA using an Android app, you will need a DLNA/UPnP client app that can discover and stream media from DLNA servers. Several apps are available for this purpose, such as VLC for Android, BubbleUPnP, Kodi, and others. Hereβs how to use VLC for Android and BubbleUPnP, two popular choices
Using VLC for Android
- Install VLC for Android:
- Download and install the VLC app from the Google Play Store.
- Open VLC for Android:
- Launch the VLC app on your Android device.
- Access the Local Network:
- Tap on the menu button (three horizontal lines) in the upper-left corner of the screen.
- Select Local Network from the sidebar menu.
- Find Your MiniDLNA Server:
- VLC will automatically search for DLNA/UPnP servers on your local network. After a few moments, your MiniDLNA server should appear in the list.
- Tap on the name of your MiniDLNA server (e.g.,
My DLNA Server
).
- Browse and Play Media:
- You will see your media folders (e.g.,
Music
,Videos
,Pictures
) as configured in your MiniDLNA setup. - Navigate to the desired folder and tap on any media file to start streaming.
- You will see your media folders (e.g.,
Additional Tips
- Ensure MiniDLNA is Running: Make sure your MiniDLNA server is properly configured and running on your local network.
- Check Network Connection: Ensure your Android device is connected to the same local network (Wi-Fi) as the MiniDLNA server.
- Firewall Settings: If you are not seeing the MiniDLNA server in your app, ensure that the serverβs firewall settings allow DLNA/UPnP traffic.
Some Problems That you may face
minidlna.service: Main process exited, code=exited, status=255/EXCEPTION - check the logs. Mostly its due to an instance already running on port 8200. Kill that and reload the db.
lsof -i :8200 will give PID. and
`kill -9 <PID>` will kill the process.- If the media files is not refreshing, then try
minidlnad -f /home/$USER/.minidlna/minidlna.conf -R or
`sudo minidlnad -R`