Open Source im professionellen Einsatz
Linux-Magazin 01/2013
© Bonita Cheshier, 123RF.com

© Bonita Cheshier, 123RF.com

Linux als Home Entertainment Server mit UPnP und DLNA

Voll im Strom

Videos, Audiostreams, Fotos … – Multimedia gewinnt erst richtig an Charme, wenn sich die Medieninhalte dank Protokollen wie UPnP und DLNA konfigurationsfrei zwischen TV-Geräten, Spielekonsolen, PCs und Smartphones verteilen. Linux als zentraler Mediaserver ist dabei ein gern gesehener Gast.

957

Teure Komplettlösungen wie Microsofts Media Center oder das geschlossene Apple Airplay halten derzeit Einzug in viele Wohnzimmer. Die verbreitetste offene Basis fürs Streaming, die Geräte fast aller Hersteller unterstützt, ist DLNA (Digital Living Network Alliance, [1]), ein von einem Industrie-Konsortium verabschiedeter Standard. Dieser Artikel zeigt, wie DLNA funktioniert, was für Protokolle darunterliegen, welche Gerätetypen es gibt, und wie sich ein Linux-PC, ein Android-Smartphone und eine Playstation am Fernseher einspannen lassen.

DLNA und UPnP

DLNA ermöglicht unter anderem das Streamen von Medieninhalten wie Musik, Filmen und Fotos. Es sieht vor, dass sich Client und Server ohne Konfiguration finden und die Inhalte abspielen. Moderne Fernsehgeräte, Bluray-Player oder Spielkonsolen haben DLNA-Clients in der Firmware dabei, Android Telefone einen DLNA-Player, manche sogar einen DLNA-Server. Sollten sie nicht in der Standardinstallation enthalten sein, lädt sich der Smartphone-Besitzer nachträglich eine App aus Google Play.

Damit der gewünschte "alles funktioniert einfach so"-Effekt eintritt und der Benutzer im Wohnzimmer den lokalen Server nicht über die Tasten seiner Fernbedienung eintragen muss, verwendet DLNA das Universal Plug and Play Protokoll (UPnP, [2]), das über Multicast-Pakete Dienste und Server entdeckt. Ein UPnP-Client sendet ein UDP-Paket an die Multicast Adresse 239.255.255.250, Port 1900. Diese Informationshappen sind Simple Service Discovery Protocol Pakete (SSDP, spezifiziert ebenfalls im Rahmen des UPnP-Standards, [3]).

Die erste Anfrage dient dazu, Server zu finden, die Dienste im LAN per UPnP anbieten. Dazu sendet der Client ein Paket mit der Methode »m-search *« an die Multicast-Adresse. Das Paket enthält den SSDP-Aufruf »discover« und als Parameter der Suchanfrage ("Was wird gesucht?") findet sich in dem Paket folgender String:

urn:schemas-upnp-org:device:MediaServer:1

Ein Client, der per UPnP einen Internetzugang sucht, wird hier »WANIPConnection« statt »MediaServer« einsetzen, Android-Handys, die Filme oder Video senden wollen, fragen nach Geräten vom Typ »MediaRenderer« . Smartphones oder Digitalkameras mit einem DLNA-Print-Client suchen »Printer« . DLNA-fähige Drucker sind direkt mit dem Netz verbunden und antworten selbst auf die Anfragen, ein Server ist nicht notwendig.

Die Webseite des DLNA-Standards listet unter [4] alle Geräte, die offizielle DLNA-Zertifizierungen erhalten haben. Die Spanne reicht vom Billig- oder Highend-TV über NAS-Geräte, Router und Fotodrucker bis zu Smartphones (Abbildung 1 bis 4).

Abbildung 1: DLNA-taugliche Fernseher gibt es schon ab 300 Euro. Das Bild zeigt aber ein Gerät aus Panasonics bis zu 3000 Euro teurer VT50-Serie. Die 65-Zoll-TVs verfügen immerhin über Quad-Core-CPUs, Triple Tuner und WLAN.

Abbildung 2: HPs Photosmart-Druckerserie 7510 hat die DLNA im August 2012 ganz offiziell zertifiziert. Die Drucker-Scanner-Fax-Kombination für 150 Euro verspricht Auflösungen bis 9600 dpi beim Druck.

Abbildung 3: Synologys Diskstation 713 kann – wie viele andere kleine NAS-Server – auch als DLNA-Server Medien von den Festplatten streamen. Kostenpunkt: wenige hundert Euro, je nach HD-Ausstattung (bis zu 8 TByte auf zwei Platten).

Abbildung 4: Das Outdoor-Handy Xperia Go von Sony gibt's in weiß, gelb und schwarz für gut 200 Euro. Dafür erhält der Anwender viel DLNA: Das Smartphone kann als Server und Client fungieren, ist wasserfest und unkaputtbar.

Ein anderes Root-Device

Ein spezieller Gerätetyp nennt sich »rootdevice« . Dieser entspricht gewissermaßen dem »*« -Platzhalter der Shell, Tools wie »upnpscan« finden damit alle Geräte im LAN-Segment, die auf UPnP reagieren. Die Antwort des DLNA-Servers enthält »HTTP/1.1 200 OK« und geht nur an den fragenden Client zurück. Sie birgt eine eindeutige ID und eine URL mit einer mittellangen XML-Datei, die dem Client gemäß DLNA-Standard weitere Informationen darüber gibt, welche Funktionen das Gerät bereitstellt. Hierin finden sich auch Verwaltungsinformationen wie Hersteller und Firmwareversion des Gerätes. Listing 1 zeigt die um einige Zeilen gekürzte Version einer XML-Datei, die die Linux-Software Mini-DLNA (siehe unten) anfragenden Clients präsentiert [5].

Listing 1

Mini-DLNA-XML-Description

01 <root xmlns="urn:schemas-upnp-org:device-1-0">
02   <specVersion>
03     <major>1</major>
04     <minor>0</minor>
05   </specVersion>
06   <device>
07     <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
08     <friendlyName>sarkovy</friendlyName>
09     <manufacturer>Justin Maggard</manufacturer>
10     <manufacturerURL>http://www.kernel.org/</manufacturerURL>
11     <modelDescription>MiniDLNA on Linux</modelDescription>
12     <modelName>Windows Media Connect compatible (MiniDLNA)</modelName>
13     <modelNumber>1</modelNumber>
14     <modelURL>http://www.kernel.org/</modelURL>
15     <serialNumber>12345678</serialNumber>
16     <UDN>uuid:4d696e69-444c-164e-9d41-0004e208dc44</UDN>
17     <dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMS-1.50</dlna:X_DLNADOC>
18     <presentationURL>http://192.168.1.1:8200/</presentationURL>
19     <iconList>
20 [...]
21     </iconList>
22     <serviceList>
23       <service>
24         <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
25         <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
26         <controlURL>/ctl/ContentDir</controlURL>
27         <eventSubURL>/evt/ContentDir</eventSubURL>
28         <SCPDURL>/ContentDir.xml</SCPDURL>
29       </service>
30       <service>
31         <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
32         <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
33         <controlURL>/ctl/ConnectionMgr</controlURL>
34         <eventSubURL>/evt/ConnectionMgr</eventSubURL>
35         <SCPDURL>/ConnectionMgr.xml</SCPDURL>
36       </service>
37       <service>
38         <serviceType>urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1</serviceType>
39         <serviceId>urn:microsoft.com:serviceId:X_MS_MediaReceiverRegistrar</serviceId>
40         <controlURL>/ctl/X_MS_MediaReceiverRegistrar</controlURL>
41         <eventSubURL>/evt/X_MS_MediaReceiverRegistrar</eventSubURL>
42         <SCPDURL>/X_MS_MediaReceiverRegistrar.xml</SCPDURL>
43       </service>
44     </serviceList>
45   </device>
46 </root>

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Sicherheit

    Wenn der Fernseher ohne Konfiguration Filme vom NAS-Speicher holt oder die Playstation Fotos vom Handy, dann wandelt das lokale Netz auf den medialen Pfaden der Digital Living Network Alliance (DLNA). Der Anwender sollte sich jedoch bewusst machen, dass in seinem Netz Sicherheitslücken per Design klaffen.

  • Media Server Rygel 0.19.5 erschienen

    Der Media Server Rygel erscheint in Version 0.19.5 mit Änderungen an verschiedenen Komponenten.

  • Myth TV 0.28 mit Ffmpeg 3.0, H.265-Support und neuem Webfrontend

    Open-Source-Projekte bewegen sich mitunter recht langsam, so auch Myth TV. Von dem quelloffenen Digital Video Recorder war länger nichts mehr zu hören. Nun meldet er sich mit einer neuen Version zurück, die unter anderem aktuelle Codecs unterstützt.

  • Gnome 2.26 mit multimedialen Neuerungen

    Nach einer mehrmonatigen Entwicklungszeit kommt nun Gnome 2.26. Der Linux-Desktop bringt unter anderem Verbesserungen im Multimedia-Bereich mit und bereinigt zahlreiche Fehler.

  • Bitparade

    Fernsehsendungen sehen und aufzeichnen, HD-Videos streamen, Musik hören, Bilder betrachten und noch einige Tricks mehr versprechen freie und kommerzielle Mediacenter-Programme für Linux-PCs, aber auch für den Raspberry Pi. Die Bitparade holt sich fünf Kandidaten ins heimische Wohnzimmer.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.