Demowohnung Setup

MediaTomb installation

required APT-packages

libsqlite3-dev
libtag1-dev
libexpat1-dev
libexif-dev
libmp4v2-dev
libmagic-dev
libcurl4-openssl-dev

libmozjs-dev has been installed on the Demorechner but is probably not required and should not be installed in future installation (if possible) because of a conflict with dss.

libmozjs-dev

see also http://mediatomb.cc/pages/documentation#id2487975

Building MediaTomb

svn co https://mediatomb.svn.sourceforge.net/svnroot/mediatomb/trunk/mediatomb mediatomb
cd mediatomb

autoconf and automake are required for the next step. Note that auto*re*conf is used in the first step.

autoreconf -i
./configure --prefix=/usr/local

make
sudo make install
sudo ldconfig

see also http://mediatomb.cc/pages/documentation#id2487665

Post-installation configuration

The following changes were made in the config.xml file:

  • The tag <pc-directory upnp-hide="yes"/> has been added to tag <server> to hide the file system hierarchy
  • The tag <name>MediaTomb</name> in tag <server> has been changed to <name>digitalSTROM</name>

The following icon files were modified:

  • /usr/local/share/mediatomb/web/icons/mt-icon120.bmp
  • /usr/local/share/mediatomb/web/icons/mt-icon120.jpg
  • /usr/local/share/mediatomb/web/icons/mt-icon120.png

Active items

Properties
  • Title: The title that appears when listing the containter
  • Location: Full path of the file that is returned to the client
  • Class: The class of the active items has to be changed from object.item.activeItem to
  • object.item.audioItem.musicTrack for audio files
  • object.item.imageItem for pictures
  • Description:
  • Mimetype: MIME-Type of file specified in location:
  • mp3: audio/mpeg
  • jpeg: image/jpeg
  • Action Script: /home/demo/Desktop/call_scene_item.py
    (See description in section Files)
  • State: 0

Item Hierarchy
Because some devices can only play sound files and others can only display picture files, there are two sets of active items, one set of active audio items and one of active picture items.

  • Database
  • Wohnung - Musik
  • etc
  • Wohnung - Photos
  • etc
Some notes on how items are handled
  • The PlayStation 3 loads all items (and in case of active items executes action script) when opening a container. Opening a specific active item in the container does not execute the action script! A workaround for this behavior is to place every active item into a separate container.
  • The MediaPlayer plays every item in a container in sequence (like a playlist). A workaround for this behavior is to place every active item into a separate containter.

dss installation

Installation according to README file in source directory. See also How to build the dss. The dss is installed in the directory /home/demo/Desktop/. After installation, the directory data has been copied to /usr/local/share/dss/.

Files

  • /home/demo/Desktop/call_scene_item_by_state.py
    This script is the action script for all active items. It determines all necessary information from the state of the active item and executes (depending on the parameters in the state) either the script /home/demo/Desktop/upnp_call_scene or /home/demo/Desktop/upnp_call_device with the appropriate arguments which in turn carries out the appropriate request on the dss.
  • /home/demo/Desktop/dss
    Symlink to the current dss source directory that contains the dss executable in the build subdirectory. The script /home/demo/Desktop/dw_setup executes the dss in dss/build/. Modify this symlink if another dss executable should be started when user demo logs in.
  • /home/demo/Desktop/dss-current
    Current dss source directory
  • /home/demo/Desktop/dw_setup
    This script starts mediatomb and dss and restarts dss in case it crashes. This script is executed when user demo logs in (see Menu System -> Preferences -> Startup Applications). If a new version of dss should be startet, modify the symlink /home/demo/Desktop/dss, do not modify this file for that reason.
  • /home/demo/Desktop/send.mp3
    This audio file is returned when requesting the active (audio) item of any scene (i.e. Essen, Fernsehen, Lesen, Putzen and Raum aus)
  • /home/demo/Desktop/sc5.jpg
    The picture that is returned when requesting the active (picture) item of scene Essen
  • /home/demo/Desktop/sc17.jpg
    The picture that is returned when requesting the active (picture) item of scene Fernsehen
  • /home/demo/Desktop/sc18.jpg
    The picture that is returned when requesting the active (picture) item of scene Lesen
  • /home/demo/Desktop/sc19.jpg
    The picture that is returned when requesting the active (picture) item of scene Putzen
  • /home/demo/Desktop/sc13.jpg
    The picture that is returned when requesting the active (picture) item of scene Raum aus
  • /home/demo/Desktop/upnp_call_scene
    This script is executed by the script /home/demo/Desktop/call_scene_item_by_state.py. It carries out a scene-related request on the dss according to the arguments given
  • /home/demo/Desktop/upnp_call_device
    This script is executed by the script /home/demo/Desktop/call_scene_item_by_state.py. It carries out a device-related request on the dss according to the arguments given