Home > Audio, Graphics, Linux, Video > DLNA/UPnP Linux Server with Coherence

DLNA/UPnP Linux Server with Coherence

November 14th, 2011 Leave a comment Go to comments

Coherence is a DLNA/UPnP Media Server written in Python which exports local files or online media to UPnP clients. Coherence fetch the media files from several sources such as:

  • Local applications media collections, like those from Rythmbox or Banschee,
  • Audio-CD or DVB
  • Online services like Flickr, last.fm, YouTube, Picasa Web Albums and other.

Other sources can also be added thanks to Coherence plug-in architecture. The media server supports transcoding (currently experimental) that is to convert media files in another format.

Coherence toolkit also contains other packages such as:

  • Coherence-Config: a cross-platform GUI frontend for ‘Coherence’.
  • Cadre: a picture DLNA/UPnP MediaRenderer which can display pictures from the local filesystem or from a MediaServer.
  • Mirabeau: An application level proxy for UPnP devices which allows to share your UPnP content between two or more local networks over the Internet. It uses XMPP as a transport (work in progress).
  • UPnP-Inspector:  a graphical UPnP Device and Service analyzer, and a debugging tool. Detected devices are displayed in a tree-view where actions can be called and state-variables be queried.
  • Plugins or extensions for other applications to open them to the UPnP world via Coherence framework.  Totem, NautilusRythmbox and Banshee are some applications that can take advantage of Coherence DLNA/UPnP framework.

The Coherence toolkit is known to work on various Linux flavors, BSD, (Open)Solaris and Windows. Since it is written in Python it is cross-platform and can be supported by different architecture such as x86, arm, mips, ppc etc..

Developers can also make use of Coherence framework as it provides a:

  • SSDP server
  • MSEARCH client
  • Server and client for HTTP/SOAP requests
  • Server and client for Event Subscription and Notification (GENA)
Coherence Server Block Diagram

Coherence DLNA/UPnP Architecture

If you just want to install Coherence in Ubuntu, simply run:

sudo apt-get install python-coherence

To configure it with Totem Video player in Ubuntu, follow the instructions provided on ebower.com.

Developers can download the source code in a tarball or with svn:

  • Stable version:
  • Development head:

To program with the API and hack coherence visit:

Here’s a demo of Totem with Coherence playing Movie Trailers fetch on apple.com.


  1. No comments yet.
  1. No trackbacks yet.