UPnP

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Software)
(Software)
 
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''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.
 
'''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.
  
Zeile 8: Zeile 6:
  
 
* dem Netz beitreten,
 
* dem Netz beitreten,
* sich eine IP-Addresse besorgen (i.d.R. DHCP, aber auch AVAHI ist möglich),
+
* sich eine IP-Adresse besorgen (i.d.R. DHCP, aber auch AVAHI ist möglich),
 
* seinen Namen verkünden,
 
* seinen Namen verkünden,
 
* seine Fähigkeiten preisgeben,
 
* seine Fähigkeiten preisgeben,
Zeile 14: Zeile 12:
 
* und vor Verlassen des Netzwerks unnötige Informationen bereinigen.
 
* und vor Verlassen des Netzwerks unnötige Informationen bereinigen.
  
<!-- === Digital Living Network Alliance === -->
 
 
== UPnP/DLNA unter Linux ==
 
== UPnP/DLNA unter Linux ==
  
Zeile 21: Zeile 18:
 
gupnp [http://www.gupnp.org/] 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.
 
gupnp [http://www.gupnp.org/] 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 [http://libdlna.geexbox.org/] 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:
+
libdlna [http://libdlna.geexbox.org/] ist eine "Erweiterung" von UPnP und basiert auf libupnp. Da im DLNA-Standard lediglich vorhandene Protokolle genutzt werden und die unterstützten Streamingformate 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:
  
  
Zeile 29: Zeile 26:
  
  
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.[http://gxben.wordpress.com/2008/08/24/why-do-i-hate-dlna-protocol-so-much/#comments]
+
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 [http://gxben.wordpress.com/2008/08/24/why-do-i-hate-dlna-protocol-so-much/#comments kein weiteres Interesse] an DLNA mehr hat.
  
 
== Server ==
 
== Server ==
Zeile 39: Zeile 36:
 
=== Software ===
 
=== Software ===
 
Software, sowohl ClosedSource als auch OpenSource
 
Software, sowohl ClosedSource als auch OpenSource
 +
* '''MythTV''': OpenSource PVR-Software zum Ansehen und Aufnehmen von Fernsehübertragungen
 +
* '''MiniDLNA''': MiniDLNA (aka ReadyDLNA) mit dem Ziel kompatibel zu allen DLNA/UPnP-AV Clients zu sein
 
* '''uShare''': UPnP/DLNA Media Server für GeeXBox.
 
* '''uShare''': UPnP/DLNA Media Server für GeeXBox.
 
* '''MediaTomb''': Standalone Streaming Server mit sehr umfangreichen UPnP-Support.
 
* '''MediaTomb''': Standalone Streaming Server mit sehr umfangreichen UPnP-Support.
Zeile 62: Zeile 61:
 
* '''Nero Show Time''': getestet mit Version 4.3.2, vdr/stremdev und Mediatomb, auch mit HDTV
 
* '''Nero Show Time''': getestet mit Version 4.3.2, vdr/stremdev und Mediatomb, auch mit HDTV
 
* '''Totem''': Gnome Video Player
 
* '''Totem''': Gnome Video Player
* '''VLC'': Video Lan Client
+
* '''VLC''': Video Lan Client
  
== Dokumenationen ==
+
== Dokumentationen ==
 
# [http://www.intel.com/cd/software/partner/asmo-na/eng/218762.htm Designing a UPnP AV Media Server] Intel White Paper
 
# [http://www.intel.com/cd/software/partner/asmo-na/eng/218762.htm Designing a UPnP AV Media Server] Intel White Paper
 
# [http://www.intel.com/cd/software/partner/asmo-na/eng/218761.htm Designing a UPnP AV Media Renderer] Intel White Paper
 
# [http://www.intel.com/cd/software/partner/asmo-na/eng/218761.htm Designing a UPnP AV Media Renderer] Intel White Paper
Zeile 73: Zeile 72:
 
# [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://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://www.upnp.org/ UPnP-Forum (offizielle UPnP-Seite)]
 
# [http://www.upnp.org/ UPnP-Forum (offizielle UPnP-Seite)]
 
# {{Wikipedia|UPnP}} bei Wikipedia
 
# {{Wikipedia|UPnP}} bei Wikipedia
  
 +
[[Kategorie:Begriffserklärungen]]
 
[[Kategorie:Streaming]]
 
[[Kategorie:Streaming]]

Aktuelle Version vom 29. Dezember 2011, 21:55 Uhr

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

[Bearbeiten] Allgemeines

[Bearbeiten] 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-Adresse 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.

[Bearbeiten] 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 Streamingformate 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.

[Bearbeiten] Server

[Bearbeiten] Hardware

Hardwarelösungen, welche einen Media Server bereitstellen

  • Buffalo LinkStation: Multimedia Server mit DLNA-Zertifizierung


[Bearbeiten] Software

Software, sowohl ClosedSource als auch OpenSource

  • MythTV: OpenSource PVR-Software zum Ansehen und Aufnehmen von Fernsehübertragungen
  • MiniDLNA: MiniDLNA (aka ReadyDLNA) mit dem Ziel kompatibel zu allen DLNA/UPnP-AV Clients zu sein
  • 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.
  • GMediaServer: Ein OpenSource-Media Server des GNU-Projekts
  • Fuppes: FUPPES is a free, multiplatform UPnP A/V Media Server.

[Bearbeiten] Client

[Bearbeiten] 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

[Bearbeiten] 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
  • Totem: Gnome Video Player
  • VLC: Video Lan Client

[Bearbeiten] Dokumentationen

  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

[Bearbeiten] Links

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