PDA

View Full Version : Whole House Audio - on the cheap


caolas
2007-05-25, 05:46
Haven't seen others mentioning this set-up, so I thought it might be worth posting here. I loved the idea of wireless squeezeboxes and wanted to have them in 3+ rooms in the house but...couldn't afford it.

But after a bit of experimenting, I've managed to more or less get what I wanted, using Pocket PCs instead. I bought three wireless Axim X30s from ebay - one each for the kitchen, sitting room and bedroom. As well as acting as remote controllers for SlimServer, they also play the audio stream (using TCPMP or WMP) and I just output the audio through the headphone socket to whatever amp or powered speakers I have in the room.

The only difficult bit was how to send a single stream to different zones - ie how to set the system up so that when I wanted I could move from one room to another and still listen to the same stream. That was a little more complicated because SlimServer thinks of the Pocket PCs as software players, reasonably enough, and it won't let two or more software players play a single stream.

The solution was to use VLC (www.videolan.org/vlc) as a kind of relay server. SlimServer sends its three streams to vlc, and vlc in turn broadcasts them on three of my PC's ports. One or more of the Pocket PCs can tune into any of these ports.

I've got SlimServer and VLC running full-time as background services on my XP PC, so as long as the PC's running I can control everything from any of the Pocket PCs.

I've set up a few other bells and whistles - mapped some of the PPC buttons to move forward and back in the current playlist etc - but basically that's about it. It's a bit Heath Robinson, and it's hardly for audiophiles. But it sounds fine to me, does most of the things a set of squeezeboxes would, at a third of the price.

Cheers, Caolas

Smiley Dan
2007-05-29, 05:54
Hi there! Could you go into a little more detail of how the streams work Are you connecting to stream.mp3 from each PDA?

caolas
2007-05-29, 14:33
Not quite. Instead of connecting each PDA to stream.mp3, I run three instances of VLC and connect each of them to stream.mp3.

The PC has three ip addresses: 192.168.123.10, 11 & 12. Each VLC player instance connects to slimserver (using a different ip address for each player's connection, to make sure that slimserver doesn't get confused between them) and rebroadcasts the stream it hears to one of the PC's ports. The PDA connects to that port.

So the first VLC player listens to slimserver on http://192.168.123.10:9000/stream.mp3 and relays the stream to port 8000. The PDA in the kitchen connects to http://192.168.123.10:8000 - no need for "stream.mp3" suffix.

The second VLC player listens to http://192.168.123.11:9000/stream.mp3 and streams to port 8001. So the PDA in the sitting room usually connects to http://192.168.123.11:8001, but if you want to listen to the same stream in the kitchen and the sitting room, you can just connect both PDAs to http://192.168.123.10:8000.

And so on.

Hope that makes some sort of sense, Caolas

Smiley Dan
2007-05-30, 01:22
Yeah, I'm interested in the drawbacks of using stream.mp3.

So do you have three separate IP addresses or NICs for the SlimServer? Perhaps I don't understand enough about what VLC can do. Presumably the VLC instances run on the same box as SlimServer and then re broadcast on that box.

The implication in your multiple IPs is that SlimServer can get confused between the players when using stream.mp3. Is this correct?

fuzzyT
2007-05-30, 13:10
caolas wrote:
> Not quite. Instead of connecting each PDA to stream.mp3, I run three
> instances of VLC and connect each of them to stream.mp3.

Just curious, how well do the players stay synchronized using this
setup? Are they buffering locally?

caolas
2007-05-30, 14:02
Smiley Dan - right, I found that if slimserver found more than one software player connecting on the same ip address, it would usually only communicate with the last player to connect. Like you say, I have three separate IP addresses for the box running SlimServer. You can set this up in XP through Control Panel->Network Connections->Local Area Connection->Properties->Internet Protocol->Properties (click on "Use the following IP address")->Advanced->IP Settings->IP addresses and fill in as many addresses as you need there. The VLC instances run and rebroadcast on the same box.

FuzzyT - The synchronizing isn't great to be honest. The players can drift apart by a few seconds. To limit the drift, I try to set local buffering on the PDA to a minimum (you can alter the local buffer size in TCPMP - I forget whether there's a setting for it in WMP) but of course that means you have to have a good wireless network, or a low bitrate, to avoid dropouts.

Entropy512
2007-09-19, 18:46
Exactly what was the command line for VLC you used to set up the stream rebroadcast?

I've been trying to set up stream rebroadcasting with VLC and utterly failing, and I can't find any documentation of anyone else setting it up like you did.

caolas
2007-09-20, 00:00
Entropy512

To receive vlc stream on WMP for Pocket PC, use
#transcode{acodec=wma,ab=128}:std{access=mmsh,mux= asf,dst=:8001}
and tune wmp to http://<yourhostnameorIPaddress>:8001. For mp3 on TCPMP use
#std{access=http,mux=asf,dst=:8001}
or if you want to resample to a lower bitrate - eg 128bits - use
#transcode{acodec=mp3,ab=128}:std{access=http,mux= asf,dst=:8001}
Hope that helps.

Caolas