Network related problems can be difficult to track, here are some most frequently encountered cases:
If the port was not specified on command line or in the configuration, MediaTomb will choose the first available port, starting from 49152. When you shutdown the server the port may still be claimed by the system for a short amount of time, thus if you restart MediaTomb we will request port 49152, get back the information that it is not yet available, so the UPnP SDK will automatically try the next port until it finds a free one.
You can however specify a fixed port for the server, in this case we will
apply a special reuse option to the socket and we will always listen on the
specified port. This can be done by setting <port>number</port> the config.xml
Your ffmpeg library is probably buggy, update it to the latest version. Alternatively, recompile MediaTomb without ffmpeg support.
Note, that running ffmpeg -i filename on a file that causes the issue will reproduce the problem in the terminal. If you can reproduce the crash on the command line using ffmpeg, please consider reporting it to the ffmpeg developers.
Mediatomb should now be running, and will be started automatically at boot.
This SHOULD have worked on ubuntu too, but it doesn't. Since mediatomb gets started before Network Manager is done setting up all the network connections, mediatomb will fail to find a working networking device and exit.
Easiest way to fix it is to just launch mediatomb when you login.
Now mediatomb will start when you log in. Your config file will be in your home dir, ~/.mediatomb/config.xml
This should work on any other distro using gnome too. There are similar methods of starting programs on login in kde/xfce/whatever too.
Add a custom extension to mimetype mapping in config.xml.
For example, if you want that all .avi files get the video/x-divx mimetype, use the following mapping:
<map from=“avi” to=“video/divx”/>
The mapping is only triggered when the data is being imported, the setting will not affect content that is already in the database. If you want to update previously imported files you will have to reimport them: remove from the database and add them again.
A good example is the PS3: It supports many variations of the divx codec, but not the DIV3 version. (maybe others too).
The PS3 will say “the data is damaged” when trying to play such a movie.
I assume here the movie is in avi container. The solution is transcode this specific codec version based on the fourcc string. In the mimetype-profile-mappings section, put:
<transcode mimetype=“video/divx” using=“video-common”/>
You can take the video-common transcoding profile/script from various places, I won't repeat that here. Then, you must add this to your video-common transcoding profile:
<avi-fourcc-list mode=“process”>
<fourcc>DIV3</fourcc>
</avi-fourcc-list>
This makes sure you will not transcode any avi, except DIV3 (you can add more if you player doesn't support more)
You can still use this profile for non-avi movies also, the avi-fourcc-list block only accepts avi movies.
If this is the case:
Then you have hit the taglib problem where taglib opens the mp3 in read-write mode instead of read only.
There are two possible fixes:
This problem has been reported to taglib but it's unlikely we will see a fix any time soon.
You probably forgot to change the virtual layout type from builtin to js in config.xml:
<virtual-layout type=“js”>
Also, make sure the line:
<import-script>/etc/mediatomb/import.js</import-script>
Points to the correct location where your import.js resides.
Get the Cidero control point from http://www.cidero.com (free download), run the MediaController application. Open the debug window: Options→Debug Window…
In the main window click on the MediaTomb icon, you will be presented with the content (i.e. with the content layout which you can also see on your UPnP device). Each time you click on a container in the tree you will see a “MediaTomb: Browse Status: OK” entry in the debug window. Click on this line in the Debug Window and you will see the XML of the browse response below.
First of all, make sure that you make the capture on the machine where your MediaTomb server is running. Download and install wireshark on that machine, start wireshark. Make sure to select the correct network interface for the capture - it must be the interface on which MediaTomb is running. Start the capture, start MediaTomb, then start your UPnP player. Reproduce the problem which you are debugging, then stop the capture and save it in pcap format.