I think there are a number of us who want to do this sort of thing: Now that Rune is running my main stereo, I'd like to have the audio stream to other devices. Off the top of my head, there are a number of potential downfalls.
How closely do the various synchronize? I don't expect sample perfect synchronization, which is good because I don't think it's possible. OTOH, my house is roughly 40 feet (13 meters or so) from front to back and sound travels roughly 1 ft/millisecond. I would think that an offset of 40 milliseconds (44 samples at CD quality) might be achievable and completely acceptable.
Can Rune/MPD output to more than stream simultaneously? It would be nice to have Rune continue to run the main stereo through my HiFiBerry DAC and be the streaming source at the same time.
Will there be resampling going on? At least one of our contenders needs to resample the output to one consistent output format, resampling along the way. This means that we need an encoder (e.g. Vorbis) installed on the server. Can a device like the Raspberry Pi handle it? Possibly. It will be eating CPU, but with hard float turned on (since Rune runs on Arch Linux, not Raspbian, this is not a given) it may be able to take the stress.
I'm sure this is not an exhaustive list of possible failure points.
There are a number of contending technologies to make this happen:
MPD has had HTTP streaming for some time now. I don't know how well it synchronizes with the receivers. Rune is running a version of MPD that has had this feature for generations. Again, I'm not sure if there are any encoders in the Rune distro, whether hard float is turned on nor whether MPD can handle multiple output streams simultaneously. Setting up HTTP streaming is pretty simple: https://wiki.archlinux.org/index.php/Mu ... and_Tricks. Also, turning a plain vanilla Rasbian Pi into an HTTP streamer is apparently pretty simple: http://www.raspberrypi.org/forums/viewt ... 0&p=350142
AirPlay is supported by Rune. Unfortunately it is as an airplay receiver not an Airplay transmitter. This points to a possible way out. There are a fair number of Linux, Android and Windows apps (in addition to iOS) for Airplay transmitting and we could have multiple Rune machines out there playing the stream. Wikipedia (http://en.wikipedia.org/wiki/AirPlay) lists a number of solutions for Linux transmitting Airplay: raop_play, PulseAudio and forked_daapd. I'm not sure if any of these have been ported to ARM, Arch Linux, etc. so it's probably unfair to ask for it as a feature request. All the issues raised above are not in the realm of me answering them.
IceCast. Since I had two more promising contenders to look at I haven't bothered to look into it. Here's how one can turn a plain vanilla Raspbian Pi into an IceCast server: http://www.t3node.com/blog/streaming-au ... pberry-pi/. Again, I don't know how tight synchronization would be.
Anyway, I'm interested in hearing from anyone experienced in doing this sort of thing. This post has clarified with me that possibly the best ways forward for me is to put an Airplay transmitter on my Windows machine downstairs and use the two HiFiBerry DAC Pi's with Rune as an Airplay receiver or set up the file server Raspbian Pi as an HTTP transmitter and again have the other two Pi's as receivers. I'm not thrilled with either of these solutions. I like the Rune interface.
KO