Re: Direction, tips, advice on building a multi zone sound server (multi zone DLNA renderer) based on rygel ?



On 03/21/2013 06:42 PM, Andrej Falout wrote:
I've been working on a multizone/multichannel server for a while now...

Basic audio functionality goes something like this:

1) On boot, I enumerate all local audio devices, and depending on user configuration create "players" for them, one player for device (multichannel) or one player per stereo pair/jack (multizone - analogue and HDMI, but not SPDIF which remains stereo PCM). Same happens when an pluggable device (USB, FireWire) is connected/disconnected (via UDEV call)

2) At the same time, local network sinks are created for AirPlay (ShairPort), DLNA (Rygel) and BlueTooth A2DP (Pulse) - for each local audio device/jack enumerated in step 1) They are advertised with name of the server plus name of the device/jack and as such appear in renderer/sink/destination of appropriate applications/devices (iTunes,DLNA control points, Bluetooth devices that can stream to other A2DP devices)

3) Every 5 minutes I run a scan for new/removed network audio devices (RAOP/AirPlay, BlueTooth A2DP, DLNA) and create/remove players for them. Logitech Squeezebox and Sonos devices are supported too.

An "player" constitutes of an MPD instance and corresponding squeezempd instance, registered with local or remote Logitech Media Server - that provides full player control, including serving as an interface for many available remote controller options (iPhone, Android, hardware remotes from Logitech and Philips...)

Above is an subset of the full functionality which include DLNA server, DAAP (iTunes) server, video player/PVR/live TV (XBMC) including TV tuner client/server (MythTV) BitTorrent client (Transmission) etc etc, all tied up together under singe (and quite primitive but working) web interface.

This sounds great. Would you be willing to share your code ? Would you like to turn it into an open source project ?

The easiest way to achieve what you describe that I know of, would be to use SBS (LMS) that has built-in UPnP support to the extent that it works as UPnP-AV server and exposes each of it's players as UPnP renderers that are controlled from any UPnP/DLNA CP. Simply create one squeezempd/MPD instance for each of your sound cards and that should do what you had described.

OK.

However, given the limitations of DLNA streaming architecture (Gappless playback, limited formats support in standard, limited choice of control points, control point must remain running to play next track/playlist, general stability issues depending on particular implementation/product) you may want to consider if you really want to make DLNA a backbone for such setup.
Please explain this further.



Also, with 8 zones, you might find it more practical to reverse the streaming direction, and to have the 8 sinks (destinations) in the destination (room) and not on the server itself, and simply stream to them from the server.
I'm implementing a whole house audio system. All the zones are wired to a central location and connected to large multi zone amplifiers, presently 2 x 6 stereo zones each. The only way to implement a local sink in each room would be to unwire the centralized wiring coming from each room and have a single channel "sound server" and amplifier in each room. This would necessitate tearing into drywall and then putting a server and amplifier in each room.

This is what I do, having two Apple Airports Express sinks, two DLNA sinks (Onkyo receivers) and a kitchen SqueezeBox "radio", Bluetooht headphones, plus one Intel Atom based box that runs only players serving as host to a audiophile USB DAC, and as output for an outdoor amp/speakers - all connected to a box that runs full set of servers, stores my music collection, acts as 2 channel TV tuner server/pvr etc etc
Interesting. When you say "connected", I assume you mean network connected.

I'll be implementing a couple stand alone servers as well for zones that are not wired to the central amplifier.

Which Atom are you using ?

I am thinking of getting a few Onkyo TX 515s as well. How do you like yours ?

Note that in above description the DLNA "stream-to" functionality based on Rygel is still not working for me - it works with some DLNA devices/applications, but not mine unfortunately (Onkyo, Samsung) but hopefully with help of kind people on this list we might get this working too :-)

Which Onkyo are you using ? What error message are you getting ? Can you stream to it from other devices ? Is this a rygel issue or a Onkyo issue ?




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]