Ad-Hoc DLNA Zones

I just discovered this project, but feel like it likely fits my needs for my upcoming remodel. I want to output to a whole home system using multiple DLNA renderers. I can’t tell from the documentation for AmpliPi, but does each group of speakers that you make create a DLNA renderers? My goal would be to have a single DLNA entry for each speaker pair (6 DLNA renderers) but then to also have groups. So Living Room + Dining Room, Upstairs, Downstairs, etc.

Is that plan possible with the AmpliPi? Thanks!

Thanks for checking us out!

At the moment the system only supports up to 4 concurrent DLNA renderers (AmpliPi is using gmrenderer behind the scenes). So for now you could only have 4 renderers at a time. For your setup (and our current API) you will likely want to switch between several “preset” renderer/zone configurations using our presets functionality. Presets are available in our web app and through the API.

We are working on a feature we are calling audio pipes that should allow us to increase the number of DLNA renderers that can be advertised at once.

Here is some more info on Audio Pipes:

Here’s what our system looks like at the hardware level with 4 stereo outputs that can be routed to any of the zones.

I hope this helps answer your question!

Thanks for the added info. Looks great! I have some time before I’m ready to install hardware, but this looks very promising for what I’m envisioning.

I’ve been reading a lot of the posts in this forum and issues on the github and have a follow-up question. I saw one post that said your implementation of DLNA was to make the amplipi a DLNA server, not a DLNA client. Is that still the case? I want to push from a media application to the amplipi, via DLNA. I’m referring to this github issue:

Thanks!

Looking back at this I think the terminology used in this issue is misleading and I no longer understand the context, specifically the term client does not exist in DLNA lingo. It has now been updated to use DLNA terminology since we likely mean DLNA - Digital Media Player.

Here’s some DLNA terminology from Wikipedia:

  • Digital Media Server (DMS): store content and make it available to networked digital media players (DMP) and digital media renderers (DMR). Examples include PCs and network-attached storage (NAS) devices.
  • Digital Media Player (DMP): find content on digital media servers (DMS) and provide playback and rendering capabilities. Examples include TVs, stereos and home theaters, wireless monitors and game consoles.
  • Digital Media Renderer (DMR): play content as instructed by a digital media controller (DMC), which will find content from a digital media server (DMS). Examples include TVs, audio/video receivers, video displays and remote speakers for music. It is possible for a single device (e.g. TV, A/V receiver, etc.) to function both as a DMR (receives “pushed” content from DMS) and DMP (“pulls” content from DMS).
  • Digital Media Controller (DMC): find content on digital media servers (DMS) and instruct digital media renderers (DMR) to play the content. Content does not stream from or through the DMC. Examples include tablet computers, Wi-Fi enabled digital cameras and smartphones.
  • Generally, digital media players (DMP) and digital media controllers (DMC) with print capability can print to DMPr. Examples include networked photo printers and networked all-in-one printers.

AmpliPi is able to host up to 4 DLNA Digital Media Renderers using this open source project: GitHub - hzeller/gmrender-resurrect: Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer. Fork of GMediaRenderer to add some features to make it usable.

You can test what a DLNA renderer looks and acts like on a Debian based Linux system (like a pi) by installing it: gmrender-resurrect/INSTALL.md at master · hzeller/gmrender-resurrect · GitHub

2 Likes

Thanks! That helps clarify a lot and means Amplipi would meet my needs to “push” audio from something like JRiver Media Center to one of the 4 DLNA renderers on the Amplipi.

1 Like