How to use Totem as DLNA client

Totem is the primary media player in GNOME. Using a few plugins, it can be used as a UPnP/DLNA client to browse and play content that is shared by a DLNA media server like ReadyMedia.

  • Install Totem if you have not already done so:
$ sudo apt install totem
  • Install the plugins necessary to turn it into a DLNA client:
$ sudo apt install grilo-plugins-0.2-extra
  • Open Totem and click the Channels tab. Among other channels, you should be able to see your DLNA server. You can browse its contents and play them back using Totem.

Tried with: Totem 3.18.1 and Ubuntu 16.04

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

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