# Ad-Hoc DLNA Zones

**URL:** <https://amplipi.discourse.group/t/ad-hoc-dlna-zones/194>\
**Category:** General AmpliPi Questions\
**Created:** [December 29, 2022, 4:20pm UTC](https://amplipi.discourse.group/t/ad-hoc-dlna-zones/194 "2022-12-29T16:20:55Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Crushing1523](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@Crushing1523](https://amplipi.discourse.group/u/Crushing1523)\
**Post date:** [December 29, 2022, 4:20pm UTC](https://amplipi.discourse.group/t/ad-hoc-dlna-zones/194/1 "2022-12-29T16:20:55Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![linknum23](https://yyz2.discourse-cdn.com/free1/user_avatar/amplipi.discourse.group/linknum23/32/6_2.png) [@linknum23](https://amplipi.discourse.group/u/linknum23)\
**Post date:** [December 29, 2022, 8:54pm UTC](https://amplipi.discourse.group/t/ad-hoc-dlna-zones/194/2 "2022-12-29T20:54:18Z")

</div>

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:

> <https://github.com/micro-nova/AmpliPi/issues/262>
>
> Many dynamic features are not currently possible due to our basic ALSA integrati…on.
> 
> One use case would be having several long running Spotify instances that when played to would output audio on a specific set of zones and when paused/stopped would not use an existing input/source.
> 
> Another use case would be adding some ducting to announcements (for the digital outputs at least).
> 
> \- \[x\] Investigate dynamic endpoint switching with ALSA using audio buffers
> \- \[\] Add plumbing for pipes
> - \[\] Update alsa config to name each of the loopbacks used
> - \[\] Make all sources virtual
> - \[\] Add a connect vsource to X method in ctrl
> \- \[\] Add event interface to api
> \- \[\] Add background capability to some streams

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

 ![Signal Diagram](https://global.discourse-cdn.com/free1/uploads/amplipi/original/1X/0ef3add15089fb3adb6c85ee16d11b3862444fca.jpeg)

I hope this helps answer your question!

---

<div class="post-metadata">

**Author:** ![Crushing1523](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@Crushing1523](https://amplipi.discourse.group/u/Crushing1523)\
**Post date:** [December 30, 2022, 4:00pm UTC](https://amplipi.discourse.group/t/ad-hoc-dlna-zones/194/3 "2022-12-30T16:00:04Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Crushing1523](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@Crushing1523](https://amplipi.discourse.group/u/Crushing1523)\
**Post date:** [December 31, 2022, 8:37pm UTC](https://amplipi.discourse.group/t/ad-hoc-dlna-zones/194/4 "2022-12-31T20:37:35Z")

</div>

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:

> <https://github.com/micro-nova/AmpliPi/issues/273>
>
> Add a DLNA client stream that can be used to play songs from a DLNA server.
> 
> Q…uestions that need to be answered before we know how to implement this:
> \- \[\] Can this be controlled externally?
> \- \[\] Do we need to add a song selection interface?
> \- \[\] What does a standard DLNA setup look like?

Thanks!

---

<div class="post-metadata">

**Author:** ![linknum23](https://yyz2.discourse-cdn.com/free1/user_avatar/amplipi.discourse.group/linknum23/32/6_2.png) [@linknum23](https://amplipi.discourse.group/u/linknum23)\
**Post date:** [January 2, 2023, 4:22pm UTC](https://amplipi.discourse.group/t/ad-hoc-dlna-zones/194/5 "2023-01-02T16:22:48Z")

</div>

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](https://en.wikipedia.org/wiki/Digital_Living_Network_Alliance):

- Digital [Media Server](https://en.wikipedia.org/wiki/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](https://en.wikipedia.org/wiki/Network-attached_storage) (NAS) devices.
- [Digital Media Player](https://en.wikipedia.org/wiki/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](https://en.wikipedia.org/wiki/Push_technology)” 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](https://en.wikipedia.org/wiki/Tablet_computer), 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](https://en.wikipedia.org/wiki/Photo_printer) 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.](https://github.com/hzeller/gmrender-resurrect)

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](https://github.com/hzeller/gmrender-resurrect/blob/master/INSTALL.md)

---

<div class="post-metadata">

**Author:** ![Crushing1523](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@Crushing1523](https://amplipi.discourse.group/u/Crushing1523)\
**Post date:** [January 2, 2023, 6:32pm UTC](https://amplipi.discourse.group/t/ad-hoc-dlna-zones/194/6 "2023-01-02T18:32:01Z")

</div>

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.
