mike watkins dot ca : November 5 2005 Archives

November 05 2005

Slimserver and Windows Media... on Unix

It seems that recent versions of Slim Devices excellent open-source Slimserver product have finally caught up with my needs… and our house now has streaming CBC Radio One (Vancouver) through our audio system.

Slimserver is a streaming audio server designed for home use; it has an attractive web interface; a Java-based emulator of the Squeezebox hardware product is also part of the package, plus most any streaming music player can act as a slightly more brain-dead slimserver client – xmms, winamp, madplay, py-mad, whatever… if you are looking for a good solid music server solution, there’s lots to recommend about this one.

In addition to the open-source server solution, we also have a Squeezebox hardware player attached to our system, allowing us to stream Internet and file system based audio from a server in the basement through the wireless connection on the Squeezebox, sitting atop the audio system one story up. It all works rather well (an understatement) and was worth the invement in both the Squeezebox as well as the time it took two winters ago to convert all of our CD’s (now sitting in boxes, untouched) to MP3 / ogg-vorbis format. A few shell scripts made simple work of coverting the lot, with most of the work being done by abcde.

The only frustration I’ve had with the setup has been over streaming Windows media; we only run a single Windows box at home, and its not for server use; up until sometime this year its been difficult to say the least to get Windows Media (or Real Audio) through the slimserver solution, hosted on *nix.

But those days are past, keys to the kingdom:

  • Run the latest release of Slimserver, release 6.2 or greater.
  • Install the AlienBBC Plugin – the linux installation instructions are applicable to FreeBSD as well, with only one exception noted…
  • If you are on FreeBSD, you’ll need add at least one more fd device: mount -t fdescfs /dev/fd will extend the number of available file descriptors beyond the first three (0,1,2 for stdin, stdout, stderr); the mplayer wrapper script makes use of /dev/fd3 which, on FreeBSD at least, is not present hence the mount. A script in /usr/local/etc/rc.d is what I’ve done to ensure its presence, so I don’t have to repatch slimserver.sh each time I portupgrade it. Stumbled across this back in January, the last time I took a stab at getting this going.
  • While you’re at this, you’ll probably want to portupgrade -Rrf mplayer.* to get to the latest revision; as of this writing, the AlienBBC plugin defaults to using the “pre7” settings for mplayer (opposite of what the docs suggest) – upgrading to the latest mplayer is just simpler.
  • Restart slimserver and that should be that.

Visit the radio tune in page on the Slimserver web interface and paste in: mms://wm.cbc.ca/cbcr1-vancouver and tune in… et voila.