Since setting my homebrew NAS Server for my music collection, I’ve always wanted a way to stream my music from my server using a web client, so I could listen to my music anywhere in my house or outside of my house without needing to mount network drives or generally faff around with SMB network shares.
Up until fairly recently I’ve been fiddling around with Shoutcast DNAS servers and other such streaming thingies, all of which has been a bit dodgey and very hacked. However while watching one of my favourite IPTV shows Hak .5 ( Episode #5 ) I saw something which completely solved my problem. This was SlimServer. An open source (w00t!) streaming music server, designed to work with the SqueezeBox that SlimDevices make. The software is free, and includes a software version of the SqueezeBox (called SoftSqueeze).
There are a couple of ways to stream the music to your PC with SlimServer – you can either use SoftSqueeze (the installation of which is nicely documented inside the interface), running either as a standalone Java application, or as a Java Applet (by going to http://myslimserver:9000/html/softsqueeze/applet.html ). You then use the interface to queue up playlists and the like, change the volume, change the shuffle, all that sort of coolness. When you’re using SoftSqueeze the web interface is VERY responsive. You can even enable performance logging, which shows you how fast the commands are being run. My average response time is 0.002 sec, which includes easy things (skipping a track) and more complicated things (rescanning the library, enabling/disabling iTunes support).
The only problem with the SoftSqueeze client is that it uses UDP (from what I can tell) and can’t be used outside of your home network. However, the developers have come up with a smart idea, which is to make a standard streaming mp3 which you can play from any normal mp3 player (like Winamp). This means that (providing port 9000 is somehow accessible from the outside) you can stream your music anywhere. You could stream it at your friends house, at a party… even on your mobile phone if you’ve got a high speed connection! The only problem with this is that streaming mp3s get buffered, makingthe web interface very unresponsive. So if you’re going to use this, I’d suggest that you stick to pre-made playlists, or make use of the Random Mix plugin which is now included in the installation.
The installation of the server itself was fairly straightforward – there are a number of downloads available including Windows binaries, Mac OSX binaries, Linux RPMs (yuck) and the straight perl source code. Since my NAS server runs a stripped down version of Debian I decided to download the source. All I needed to do after decompressing that was add a customised init.d script to start it up as a service. Somthing similar to this: How to install on Debian?, but not quite the same. I can’t find the script I ended up using, but they’re all fairly similar. Then you just make sure it runs at the runlevel of your choice, and there you go!
I expect the Windows installer is more straightforward, but since I now own only one Windows machine (YaY!) that wasn’t such a great choice for me!
The only problem I’ve had with SlimServer is that it would occasionally get confused with more than one streaming MP3 going at the same time. You had to make sure you click the “forget player” link once you’ve finished listening to the stream, or it would refuse to start a new stream the next time you connected. Playback has been completely flawless so far, which is better than I can say for streaming using SMB shares, which appear to be quite unreliable (perhaps samba isn’t configured quite right).
SlimDevices seem to be causing quite a stir with this open source software. WordPress developer PhotoMatt is giving it a go too, hopefully he’ll have some comments to make about it too.
I’m thinking about setting it up on my Media PC. Depends how well this trial goes really.