If you have researched both FreeNAS and OpenFiler then you will be aware that a key difference between the two is the inclusion of a UPNP media server in FreeNAS. This is lacking in OpenFiler and is a major piece of functionality that I with to have in my own installation. I specifically would like a UPNP / DLNA server that will work easily with a number of devices such as the Sony PlayStation 3 and the XBOX 360. After much work I decided that the best product would be MediaTomb to add this functionality to OpenFiler.
I originally started this article with the intent of installing ps3mediaserver onto my OpenFiler installation but, due to a ridiculous lack of support for dependencies, ps3mediaserver is not a reasonable possibility for this platform. As it turns out, though, MediaTomb is actually a better, lower resource usage, simpler option that does exactly what I want and does not require careful tuning to force to behave logically.
Installing MediaTomb onto a working OpenFiler system is actually extremely easy as MediaTomb is packaged with all dependencies included in the option binary package for Linux 32bit. Simply download the i386 static binarys from the MediaTomb Static Binaries Download page.
You can then just unpack the download tarball to the /opt directory using “tar -xzvf” and you have a working system already! It is actually that simple. One of the great things about MediaTomb is that it does not attempt to transcode your media files lowering the quality and eating CPU cycles. It is simply a UPNP / DLNA server. If you are like me all of your media has been carefully transcoded ahead of time for maximum quality versus storage. I certainly don’t want low quality, real-time transcoding degrading my video experience. Many people do but if you are running a full storage server like OpenFiler you probably do not want it busy transcoding media files every time that they are served out.
You can start MediaTomb from the command line simply using the command:
nohup /opt/mediatomb/mediatomb.sh &
And away you go. In my case I renamed the MediaTomb directory to /opt/mediatomb to make it easier to use. When you fire it up you will get an on-screen message telling you where the web management interface to the software will be. You can simply go to the web page to add your media directories to MediaTomb so that it can scan them and make them available via UPNP.
Caveat: I have noticed that MediaTomb tends to crash for me about once every twenty-four hours. Not a major issue, restarting is quick and easy. I am still investigating this and hope to have an answer soon but it is not a major issue.
Why not ps3mediaserver?
In order to make ps3mediaserver work you need to manual fulfill a large number of dependencies. Ps3mediaserver comes as a tarball, not as a system package like RPM, DEB, Conary, etc. and so all dependencies are yours to discover and fulfill. On Red Hat, Ubuntu or Suse systems these dependencies are often fulfilled by default and can be ignored. On rPath, however, which is a dedicated appliance, server OS not only are they not filled by default but the necessary packages are not even available for the platform!
You will need to install Java for starters. This will allow ps3mediaserver to run and serve out audio files. If this is all you want then you can go down this route. But once you start ps3mediaserver you will discover that it has no normal administrative interface and is designed to only work with an X GUI. Of course, no one has X installed by default on rPath Linux – this is a server not a desktop. This is an extremely silly requirement for ps3mediaserver and really shows that they do not intend this to be used in a serious installation like what we are doing here. This is a desktop solution like iTunes. Fine for most people but we are on a different scale here.
So to configure your new ps3mediaserver you will need to install Xterm and get remote X to your server. If you are working from Windows then you will need an X server like Mocha to handle this. You can install all of the necessary packages for this using “conary update xterm” but this is just the beginning of your problems.
You can set ps3mediaserver to not transcode but on Linux, without the transcoding libraries installed, it won’t work. It will attempt to transcode regardless of the settings. You can verify this by checking the media type from your PS3 or other video player. For me my pristine, low bandwidth h.264 MP4 files were being displayed as being MPEG2. This does not happen with ps3mediaserver on Windows with the statically compiled binaries. Rather inconsiderate for the ps3mediaserver project to compile such for other platforms but to cripple the Linux version without so much as a list of dependencies that we need to fulfill.
You will need ffmpeg and mencode for starters. Good luck. Neither are available for the rPath platform and they do not compile using the included compilation environment. You will, of course, need to install an entire compilation environment just to get started with these. More software not exactly appropriate on a server. You can remove it once you are done but then how do you update your system?
The bottom line is that you should avoid ps3mediaserver on the rPath platform and stick with MediaTomb. The ps3mediaserver project just is not ready for prime time from what I have seen. They are okay on carefully controlled environments but they are not yet prepared to really run on a “production” media server. They have some great potential to be sure. I’ve run their project on Windows and it is very nice. Over the top complicated but nice. However getting it to run for the highest possible quality, like MediaTomb does as its only real feature, requires a lot of work and a lot of extra libraries and bloat for a relatively simple system.