- MediaTomb is an open source (GPL) UPnP MediaServer with a nice web user interface, it allows you to stream your digital media through your home network and listen to/watch it on a variety of UPnP compatible devices.
MediaTomb enables users to stream digital media to UPnP compatible devices like the PlayStation 3 (the Xbox 360 is not yet supported). Several alternatives exist, such as FUPPES, ps3mediaserver, and uShare. One of MediaTomb's distinguishing features is the ability to customize the server layout based on extracted metadata (scriptable virtual containers); MediaTomb is highly flexible.
MediaTomb is available in the AUR via AUR.
The latest development version is also available in the AUR via AUR.
The default settings may be sufficient for many users, though changes are required for PlayStation 3 support. MediaTomb may be configured and run per-user or as a system-wide daemon. Following installation, either run
to start MediaTomb as the current user and generate a default configuration in
# rc.d start mediatomb
to start the MediaTomb daemon and generate a default configuration in
/var/lib/mediatomb/.mediatomb/config.xml. The following notes assume MediaTomb is running as a system-wide daemon.
For PlayStation 3 support, users must set
<protocolInfo extend="yes"/>. An "avi" mimetype mapping should also be uncommented for DivX support.
... <protocolInfo extend="yes"/> ... <map from="avi" to="video/divx"/> ...
When importing media to the database, MediaTomb will create a virtual container layout as defined by the
<virtual-layout type="..."> option. That is, media will be organized according to metadata (album, artist, etc.) through creation of virtual database objects. If your media is already organized on the file system, you may disable this feature to significantly improve import performance:
... <virtual-layout type="disabled"> ...
Users may customize the import script to fine-tune the virtual layout. The Scripting section of the MediaTomb wiki provides several examples. Starting with the built-in script available at
$ cp /usr/share/mediatomb/js/import.js /var/lib/mediatomb/.mediatomb/
... and edit
/var/lib/mediatomb/.mediatomb/import.js as desired. To utilize the customized script, users must set
<virtual-layout type="js"> and specify the script's location.
... <virtual-layout type="js"> <import-script>/var/lib/mediatomb/.mediatomb/import.js</import-script> </virtual-layout> ...
You may have to specify an interface before MediaTomb will be recognized:
<server> ... <interface>eth0</interface> ... </server>
... replacing eth0 with the interface you connect on.
After configuring MediaTomb to your liking, restart the server by running
# rc.d restart mediatomb
If running per-user instances of MediaTomb, the default port is 49152. However, it is possible that the port will change upon server restart. The URL for the web interface is output during startup. Users may also specify the port manually:
$ mediatomb -p 50500
Hiding full paths from media players
By default, full directory paths will be shown on devices when they are browsing through folders.
For example, if you add the directory /media/my_media/video_data/videos/movies, anyone connecting will have to navigate to the 'movies' directory from the root.
To hide all of that and only show the directory added, add the following to your config.xml file as a child of the server node.