UPnP

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(UPnP/DLNA unter Linux)
(Links)
Zeile 68: Zeile 68:
 
# [http://pupnp.sourceforge.net/ libupnp] Linux-SDK
 
# [http://pupnp.sourceforge.net/ libupnp] Linux-SDK
 
# [http://libdlna.geexbox.org/ libdlna] C-Bibliothek für DLNA Streaming Server V1.5
 
# [http://libdlna.geexbox.org/ libdlna] C-Bibliothek für DLNA Streaming Server V1.5
 +
# [http://www.gupnp.org/ gupnp] objektorientierte C++-Bibliothek
 
# [http://gxben.wordpress.com/2008/08/24/why-do-i-hate-dlna-protocol-so-much/#comments Blog des Autors von libdlna]
 
# [http://gxben.wordpress.com/2008/08/24/why-do-i-hate-dlna-protocol-so-much/#comments Blog des Autors von libdlna]
 
# [http://www.upnp.org/ UPnP-Forum (offizielle UPnP-Seite)]
 
# [http://www.upnp.org/ UPnP-Forum (offizielle UPnP-Seite)]

Version vom 5. April 2009, 22:33 Uhr

Der Artikel ist noch in der Entstehung.

Universal Plug and Play (UPnP) ist ein relativ offener Standard zur Ansteuerung von elektronischen Geräten in einem Netzwerk. Dabei wird grundsätzlich Art und Verwendung des Gerätes nicht eingeschränkt und reicht vom einfachen Finden eines Netzwerkdruckers bis hin zu Hausautomation, wie zum Beispiel das Steuern von Licht. UPnP verwendet hierfür gängige Protokolle wie TCP/IP, HTTP und XML.

Inhaltsverzeichnis

Allgemeines

UPnP

UPnP definiert eine Reihe unterschiedlicher Geräteklassen, die bestimmte Aufgaben im Netzwerk übernehmen. Jedes davon durchläuft beim Verbinden mit dem Netzwerk eine Bekanntmachungsprozedur. Das Gerät wird dabei

  • dem Netz beitreten,
  • sich eine IP-Addresse besorgen (i.d.R. DHCP, aber auch AVAHI ist möglich),
  • seinen Namen verkünden,
  • seine Fähigkeiten preisgeben,
  • andere Geräte im Netzwerk ausfindig machen und deren Fähigkeiten abfragen
  • und vor Verlassen des Netzwerks unnötige Informationen bereinigen.

UPnP/DLNA unter Linux

libupnp [1] ist eine bereits häufig verwendete OpenSource C-Bibliothek. Die Entwicklungsumgebung enthält neben den notwendigen Funktionen zum Erstellen eines Servers bzw. eines Clients auch einen HTTP-Server, der bei der Bereitstellung der Streams verwendet werden kann.

gupnp [2] ist eine weitere Bibliothek, welche in C geschrieben ist. Sie bietet neben zusätzlichen Tools auch eine grafische Oberfläche, um gefundene Geräte und deren Eigenschaften anzeigen zu lassen. Die API ist vollständig objektorientiert.

libdlna [3] ist eine "Erweiterung" von UPnP und basiert auf libupnp. Da im DLNA-Standard lediglich vorhandene Protokolle genutzt werden und die unterstützten Streamingfortmate auf wenige reduziert worden, stellt es nicht wirklich eine Zugewinn dar. Die Bibliothek umfasst alle notwendigen Funktionen, um einen DLNA-kompatiblen Streaming Server nach DLNA-Standard Version 1.5 zu erstellen. Dabei werden folgende Formate unterstützt:


  • Bilder: JPG, PNG
  • Video: MPEG-1, MPEG-2, MPEG-4 Part 2, MPEG-4 Part 10 (a.k.a AVC/H.264)
  • Audio: AC3, AMR, ATRAC3, LPCM, MP3, MPEG-4 (AAC), WMA


Andere Formate werden NICHT unterstützt und müssen notfalls mit ffmpeg umkodiert werden. Hierin besteht auch der große Nachteil an DLNA. Selbst wenn das Format an sich korrekt ist, existieren weitere Einschränkungen an das Medium. Zum Beispiel werden nur bestimmte Bitraten oder Auflösungen angeboten. Fällt zum Beispiel ein Video nicht in dieses eng gesteckte Raster, wird es unter Umständen beim Client nicht korrekt oder gar nicht abgespielt. Aus diesem Grund ist die Entwicklung an der Bibliothek eingestellt worden und der Autor auch kein weiteres Interesse an DLNA mehr hat.[4]

Server

Hardware

Hardwarelösungen, welche einen Media Server bereitstellen

  • Buffalo LinkStation: Multimedia Server mit DLNA-Zertifizierung


Software

Software, sowohl ClosedSource als auch OpenSource

  • uShare: UPnP/DLNA Media Server für GeeXBox.
  • MediaTomb: Standalone Streaming Server mit sehr umfangreichen UPnP-Support.
  • XBox Media Center (XBMC): Ein UPnP-Media Server ist seit Sep. 2007 enthalten.
  • Windows Media Player 11: Medien werden über den integrierten Server automatisch im Netz angeboten.

Client

Hardware

Hardwarelösungen mit UPnP oder DLNA-Unterstützung

  • D-Link DSM-320 Media Player mit WLAN und UPnP-Unterstützung.
  • D-Link DSM-520 HD-fähiger Media Player mit WLAN/LAN.
  • Buffalo LinkTheater HD HD-fähiger DLNA-zertifizierter Media Player.
  • Sony Playstation 3 HD-fähig, DLNA

Software

Softwareclients, die UPnP zur Medienfindung nutzen.

  • MythTV: OpenSource PVR-Software zum Ansehen und Aufnehmen von Fernsehübertragungen
  • CyberLink PowerDVD: kommerzieller Videoplayer für Windows
  • Windows Media Player 11: Angebote werden schnell erkannt und nach Abfrage in die Medienbibliothek integriert.
  • XBox Media Center (XBMC): UPnP Client ist bereits seit 2006 implementiert
  • Nero Show Time: getestet mit Version 4.3.2, vdr/stremdev und Mediatomb, auch mit HDTV

Dokumenationen

  1. Designing a UPnP AV Media Server Intel White Paper
  2. Designing a UPnP AV Media Renderer Intel White Paper
  3. Dokumentationen des UPnP-Forums offizielle White Papers, Beispiele und Schemavorlagen

Links

  1. libupnp Linux-SDK
  2. libdlna C-Bibliothek für DLNA Streaming Server V1.5
  3. gupnp objektorientierte C++-Bibliothek
  4. Blog des Autors von libdlna
  5. UPnP-Forum (offizielle UPnP-Seite)
  6. UPnP bei Wikipedia