How to give read permissions to ReadyMedia

ReadyMedia (formerly known as MiniDLNA) needs to have read access to the directories and files in its media directories to be able to index them. By default, it runs as the user and group, both named as minidlna.

If the directories and files in the media directory have group read permissions, then ReadyMedia can get access to them by adding minidlna user to the group who owns those files:

$ sudo adduser minidlna joesgroup 

Some programs create directories and files that have no group read permissions. For example, the Copy.com client on Linux only provides user read access to the directories and files that is syncs. In such a case, you will need to tinker with the startup script of ReadyMedia and change the user it runs as to the user who has access to those directories and files.

On my Raspbian, I found that the startup script for ReadMedia was /etc/init.d/minidlna. Open it and look for the line where the username is provided and change that to the username you want. On my Raspbian, the relevant lines were:

if [ -z $USER ]; then
    USER=minidlna
fi

I changed minidlna in the above lines to the username who had read access to those files. In the worst case, you can even change it to root.

Restart the server for changes to take effect:

$ sudo service minidlna force-reload

Tried with: ReadyMedia 1.0.24 and Raspbian 7

BubbleUPnP UPnP/DLNA

BubbleUPnP UPnP/DLNA seems to be most popular UPnP/DLNA server and client for Android. It can both serve the content on your Android device to your home network or receive media streams from a UPnP/DLNA server on your home network.

I used it as a UPnP/DLNA client to receive music and videos from a MiniDLNA server on the home network. The videos play fine through an external player. Music files in a folder can be added to a playlist for ordered or shuffled play. However, in the free version only 16 music files can be played back in this way. That is a big disadvantage if you are not willing to pay for this app.

Tried with: BubbleUPnP UPnP/DLNA 2.3, Android 5.0.2 and Nexus 7 (2013)

How to setup Raspberry Pi as media server using ReadyMedia

Raspberry Pi can be setup as a media server to simultaneously stream videos, music and pictures to multiple devices on the home wireless network. ReadyMedia (formerly known as MiniDLNA) is a simple media server that can be used to achieve this.

  • Install Raspbian to the Pi, as described here.

  • Connect and mount the hard disk containing the content to the USB port of the Pi. Let us assume the partition with the content is mounted at /media/usb0.

  • SSH into the Pi and install the ReadyMedia server:

$ sudo apt-get install minidlna
  • Open the file /etc/minidlna.conf and edit the following entries.

  • Set the video, music and pictures directories. For example:

media_dir=V,/media/usb0/videos
media_dir=A,/media/usb0/music
media_dir=P,/media/usb0/pictures
  • If you want ReadyMedia to automatically index new media files as they are added to your media directories:
inotify=yes
  • Restart the ReadyMedia server. This will index media files in your media directories and build the media database of the server:
$ sudo service minidlna force-reload
  • Open a browser on any other device on the network and open http://192.168.0.99:8200. Assuming 192.168.0.99 is the IP address of the Pi. 8200 is the default port of the ReadyMedia server. The webpage should show the number of content files in the server database.

  • You are now ready to enjoy your content on any device on the network! On Android smartphone or tablet, I like to use MediaHouse UPnP/DLNA Browser. Once open, it shows my Pi and I can browse video, audio and image content.

  • Videos can be played using any video player on your Android device. I like to use MX Player for this. Audio is played by the browser itself.

Tried with: ReadyMedia 1.0.24 and Raspbian 7