Skip to content

GioF71/upmpdcli-plugins

Repository files navigation

upmpdcli: an UPnP front-end to the Music Player Daemon

upmpdcli implements an UPnP Media Renderer, using MPD to perform the real work.

It has been tested with a number of UPnP control points running on Android and Windows. Because of their good support of OpenHome Playlists, which are a significant improvement over bare UPnP, Bubble UPnP (Android app) and Upplay (Linux and Windows) are recommended, but many other control points are usable.

How things work:

The Control Points uses the UPnP protocols to browse the tracks on the Media Server and choses URIs to be played. It then talks UPnP to umpdcli, which uses the MPD client protocol to place the URIs into the MPD playlist. MPD finally retrieves the data from the Media Server using HTTP.

           [UPnP  Control  Point]
            ^                  ^
            |                  |
          (UPnP)             (UPnP)
            |                  |
            V                  |
        [upmpdcli]             |
            ^                  |
            |                  |
      (MPD protocol)           |
            |                  |
            V                  V
          [MPD]<--(HTTP)-->[UPnP Media Server]

Each of the Control point, Media Server, MPD and upmpdcli processes can run on any network host.