Dreambox Streaming mit VLC

Aus Gemini-Wiki
Wechseln zu: Navigation, Suche
Ambox notice.png Diese Anleitung beschreibt das Streamen von der Dreambox aus auf andere Abspielgeräte wie z.B. auf einen PC im LAN oder im Internet. Bild/Ton von der Dreambox werden damit auf weiteren Geräten in der Wohnung/Haus/Internet verfügbar.

Zum Streamen in die andere Richtung siehe: Vom PC auf die Dreambox streamen

Ambox attention.png Diese Anleitung gilt nur für Dreamboxen mit Enigma2!

Dieser Artikel basiert auf dem Forenthema:
Dreambox Streaming mit VLC ins Internet - Einfacher gehts nun wirklich kaum! - Jetzt mit Installer

Inhaltsverzeichnis

Einleitung

Ich versuche seit langem, das Signal meiner DM800 ins Internet zu streamen. Es gibt auch reichlich Lösungen, die mehr oder weniger gut funktionieren. Besonders der Muuta Streaming Server ist mehr als vielversprechend - dennoch gibt es auch dort noch einige Probleme, hauptsächlich im Zusammenhang mit ffmpeg (u.a. Streamabbruch nach wenigen Sekunden, etc.).

Aus diesen Gründen habe ich mich einfach mal selbst bemüht, eine Lösung zu finden.

Das ganze basiert zu 100% auf der aktuellen VLC Version und benötigt keine weiteren Programme.

Vorraussetzungen

  • Zwingend notwendig:
    • Dreambox mit Enigma2 im LAN.
    • PC im LAN mit VLC, der Serverfunktionalität übernimmt.
    • Clientgerät, das ein PC, Notebook, Handy etc. sein kann. Wird zum Ansehen des TV-Streams benötigt.
  • Optional: (benötigt man nicht, aber es ist cool)
    • Router, der die Verbindung zum Internet herstellt.
    • Account bei einem Dyndns-Dienst, zum Erreichen des LANs aus Internet.

Grundvorraussetzung ist ein sehr potenter Rechner (bei mir läufts auf einem Core-i3 530 mit einer Prozessorauslastung von 50 bis 80%). Beim Server PC ist die Leistung wichtig, da er den Datenstrom in Echtzeit empfangen, dekodieren, encodieren und dann senden muss. Der Client PC bekommt den verkleinerten Datenstrom und benötigt daher nicht soviel Rechenleistung.

Einrichtung mit Installer unter Windows

"Taktische Zeichnung" des gesamten Aufbaus. Hier siehst Du die verschiedenen Geräte, die die unterschiedlichen Funktionen ausführen. Neben der Dreambox sind hier der Server-PC, zwei Clients und der Internet-Router berücksichtigt.

Um etwaige Probleme bei der Einrichtung des Ganzen zu vermeiden, habe ich eine Setup-Anwendung erstellt. Das Ganze ist nun selbsterklärend. Das Setup ist noch nicht perfekt und ich werde nun in kurzen Abständen neue Versionen im ersten Post des Forenthemas veröffentlichen. Das Setup erstellt keine Registry Einträge und nimmt auch sonst keinerlei Änderungen am System vor - es entpackt letztendlich nur den VLC Player mit den dazugehörigen Einstellungen. Die Uninstall-Funktion entfernt das Programm komplett vom System. Also keine falsche Scheu. Sämtliche weiteren Änderungen werde ich nun in die Setup-Datei packen. Sobald eine neue Version verfügbar ist, muss die alte zwangläufig entfernt werden.

Downloads:

Unix und MacOS

An die Unix und MacOS User: Ich werde die Updates am Webinterface parallel hier (http.zip) veröffentlichen.

Einrichtung manuell und ohne Installer

Für diejenigen unter Euch, die es lieber manuell einrichten wollen (somit auch die nicht-Windows-User), ist die nun folgende Anleitung interessant.

VLC runterladen und installieren

  • Die normale Version von VLC bekommst Du unter www.videolan.org
  • Es gibt auch eine portable Version, welche nicht installiert werden muss und welche auch die Einstellungen einer bereits installierten VLC version nicht beeinflusst. Somit kannst Du die installierte Version weiterhin als Media Player nutzen und die portable Version zum Streamen verwenden. Du kannst sie hier runterladen: http://portableapps.com/apps/music_video/vlc_portable

Dreambox Bouquets runterladen

  • Gehe hierzu im Browser Deiner Wahl aufs Webinterface der Dreambox (in meinem Beispiel 192.168.178.20)
  • Klicke auf das kleine Monitorsymbol des Bouquets welches Du streamen möchtest
Vlc streaming 01.jpg
  • Speicher die Playlist irgendwo auf Deinem PC (in meinem Fall unter C:\Streaming\services.m3u)

VLC konfigurieren

  • Starte den VLC Player und gehe zu den Einstellungen
Vlc streaming 02.jpg
  • Klicke unten links bei "Einstellungen anzeigen" auf "Alle"
Vlc streaming 03.jpg
  • Die nächsten beiden Einstellungen verhindern, dass der VLC während des Streamens Video und Audio wiedergibt
    • Fürs Deaktivieren der Video Wiedergabe gehe zu "Video" → "Ausgabemodule" und wähle die "Dummy Videoausgabefunktion" aus
Vlc streaming 04.jpg
    • Die Einstellung für Audio findest Du unter "Audio" → "Ausgabemodule" – Wähle hier die "Dummy Audioausgabefunktion" aus
Vlc streaming 05.jpg
  • Nun aktivierst Du das VLC Webinterface. Gehe hierzu zum Punkt "Interface" → "Hauptinterfaces" und aktiviere dort das "HTTP-Fernbedienungsinterface"
Vlc streaming 06.jpg
  • Damit Du auch aus dem Internet auf das Webinterface zugreifen kannst must Du noch unter "Hauptinterfaces" → "HTTP" folgendes eintragen: 0.0.0.0:7777. Die 0.0.0.0 erlaubt jedem Computer den Zugriff auf das Webinterface und die 7777 ist der Port für das Webinterface (dazu im weiteren Verlauf mehr).
Vlc streaming 07.jpg
  • Nun konfigurierst Du das Streaming an sich. Gehe dazu auf "Streamausgabe" und gebe folgendes bei "Standard-Streamausgabe-Kette" ein:
#duplicate{dst="transcode{vcodec=h264,vb=800,fps=25,scale=0.75,acodec=mp4a,ab=96,channels=1,deinterlace}:std{access=http,mux=ts,dst=:8888}"}


Kurze Erklärung hierzu:
    • "vcodec" steht für den zu verwendenden Videocodec. Hier musst Du den Codec eingeben, der von Deinem Client (VLC, Handy, etc.) unterstützt wird. In meinem Fall ist es h264.
    • "vb" steht für die Videobitrate. In der Regel heist es hier je höher desto besser die Qualität.
    • "fps" sind die Bilder pro Sekunde. 25 ist hier der Standard in Europa.
    • "scale" stellt die Videogröße (Auflösung) ein. In meinem Fall 75% der Originalgröße.
    • "acodec" ist der zu verwendende Audiocodec (zb. mp3, mp4a, etc.). Auch hier gilt, dass der Client den Codec unterstützen muss.
    • "ab" ist die Audiobitrate – Je höher, desto besser.
    • "channels" steht für die Audiokanäle. 1 ist Mono, 2 Stereo.
    • "deinterlace" entfernt störende Balken während des Streamens. Sollte Dein Stream stocken, kannst Du die Einstellung entfernen, da sie einiges an Performance kostet.
    • "access" ist das zu verwendende Streamingprotokoll. Auch das muss von Deinem Client unterstützt werden.
    • "mux" ist das zu verwendende Containerformat. Auch hier gilt: der Client muss es verarbeiten können.
    • "dst" ist der Port an welchen der Stream geschickt wird. In meinem Fall ist es Port 8888.
    • Alle diese Einstellungen lassen viel Raum für Anpassungen. Im VLC Wiki kann man dazu mehr erfahren. Die hier verwendeten Einstellungen liefern einen Stream in extrem guter Qualität bei moderaten Bandbreitenanforderungen und er lässt sich problemlos im VLC abspielen.
  • Jetzt stellen wir noch ein, dass VLC bei jedem Start automatisch die Dreambox Bouquets lädt und somit der Stream beim Klick auf die VLC.exe sofort zur Verfügung steht. Gehe hierzu auf "Wiedergabeliste" und gebe bei "Standardstream" den Pfad zur vorhin runtergeladenen services.m3u ein (in meinem Beispiel C:\Streaming\services.m3u).
Vlc streaming 08.jpg
  • Das wars an Einstellungen im VLC.

Das neue Webinterface installieren

  • In meinem zweiten Post (Download Update, Stand 19.10.2010) habe ich ein neues Webinterface zur Verfügung gestellt. Das ist direkt auf die Anforderungen ans Dreambox Streaming zugeschnitten. Download: VLC_Graphite_Update.zip
  • Um es zu installieren benenne als erstes den Ordner "C:\Program Files\VideoLAN\VLC\http" in "http_old" um (den Pfad musst Du natürlich gemäß Deiner Installation anpassen).
  • Für den VLC Portable lautet der Pfad: "\VLCPortable\App\vlc\http"
  • Nun erstelle einen neuen http Ordner und entpacke die Dateien aus der Zip-Datei in selbigen.
  • Nun müsste Dein Verzeichnis folgendermaßen aussehen:
Vlc streaming 09.jpg

Konfigurieren der Ports und weitere Anpassungen

  • Damit nachher der Stream über den Link im Webinterface abgespielt werden kann, musst Du noch die im Webinterface enthaltene "stream.m3u" anpassen.
    • öffne die "stream.m3u" mit einem Editor Deiner Wahl (am besten Notepad) und trage hier Deine Dyndns-Adresse oder Deine öffentliche IP gefolgt vom Streamingport ein. Hier ein Beispiel: http://you.dyndns.org:8888
    • Der Streamingport muss ggf. auf Deinem Router weitergeleitet werden. Dazu erfährst Du mehr in diversen Foren oder in der Anleitung Deines Internet-Routers (im nächsten Punkt siehst Du, wie es auf einer Fritzbox aussehen muss).
  • Der Port für das Webinterface muss ebenfalls auf Deinem Router freigegeben werden. In meinem Fall ist es Port 7777. Auf einer Fritzbox sehen die beiden Einstellungen dann folgendermassen aus:
Vlc streaming 10.jpg
  • Da in den meisten aktuellen Windows Versionen bereits eine Firewall enthalten ist, musst Du VLC nun noch zu dieser Firewall hinzufügen.
    • Gehe dazu in der "Systemsteuerung" auf "Windows Firewall".
    • In Windows 7 hast Du nun auf der linken Seite den Menüpunkt "Allow a program or feature through Windows Firewall" (sorry, hab kein Deutsches Windows aber wird wohl so ähnlich lauten wie "Lasse ein Programm oder eine Funktion durch die Firewall").
    • Nun klickst Du auf "Allow another program" (so ähnlich wie: "Einem weiteren Programm erlauben").
    • Füge hier die VLC.exe hinzu und klicke anschliessend auf "Network location types" ("Typ der Netzwerk Lokation").
    • Setze beide Häkchen und bestätige alles.
Vlc streaming 11.jpg

Fernsehen (wortwörtlich) :)

  • Rufe jetzt in Deinem Browser Deine Dyndns-Adresse auf, gefolgt von dem von Dir festgelegten Webinterface-Port, wähle einen Sender aus der Playlist aus und klicke auf "Stream now ...".
  • öffne die Datei am besten gleich mit dem VLC, lehn Dich zurück und guck fern.
  • In meinem Beispiel lautet die Adresse: http://you.dyndns.org:7777.
Vlc streaming 12.jpg

Anmerkungen

  • Sobald der VLC player nun gestartet wird, startet auch der Stream. Das bedeutet ebenfalls, dass der Rechner transcodiert. Das kostet Rechenpower und somit auch Strom. Sofern Du den Stream nicht auch schaust, empfehle ich Dir über einen Klick auf "stop" im Webinterface, den Stream zu beenden. Sobald Du dann einen neuen Sender in der Liste auswählst, startet der Stream auch wieder.
  • Um VLC als Windows-Dienst zu installieren empfehle ich das kleine Tool "RunAsSvc". Es kann hier runtergeladen werden: http://www.pirmasoft.de/runassvc.php

Hinweise aus Forum

Standard-Streamausgabe-Kette

Unter diesem Punkt: Streamausgabe → Standard-Streamausgabe-Kette:

Wenn ihr diese Kette komplett kopiert und einfügt, so wird nur die Hälfte eingefügt! Und zwar bis mp4a, → Ihr müsst also den zweiten Teil extra kopieren und einfügen nach mp4a, → So bekommt man schon die Playlist über das Webinterfce. Dieser Stolperstein hat mir eine lange Fehlersuche bescherrt!

#duplicate{dst="transcode{vcodec=h264,vb=800,fps=25,scale=0.75,acodec=mp4a,
ab=96,channels=1,deinterlace}:std{access=http,mux=ts,dst=:8888}"}

Probleme der Senderumschaltung

Habe alles genau nach der Anleitung gemacht, das Streamen funktioniert soweit! Aber: Ich kann nur den ersten Sender streamen, der bei services.m3u aufgelistet ist (Sender: Das Erste), dabei die DM800 auch auf Das Erste eingeschaltet sein muss, sonst funtioniert das Streamen nicht.

Du sagst es wird nur ein Sender abgespielt. Das liegt höchstwahrscheinlich daran, dass deine Box nicht im Standby ist. Hier gilt das gleiche wie beim Muuta Streamingserver. Die Box muss im Standby sein, ansonsten kann nur der aktuell laufende Sender gestreamt werden.

Anders schauts hier bei ner dm8000 aus. Die hat ja mehrere Tuner und somit kann man auch mehrere Sender streamen.

VLC öffnet sich nicht

Wenn ich von meinem PC jedoch streamen möchte bekomme ich folgende Fehlermeldung:

C:\DOKUME~1\ANTJEU~1\LOKALE~1\Temp\stream-38.m3u konnte nicht geöffnet werden, weil die damit verknüpfte Hilfsanwendung nicht existiert. Ändern Sie die Verknüpfung in Ihren Einstellungen.

Speicher die Playlist auf dem Desktop (rechtsklick auf "stream now" und dann "ziel speichern unter" oder ähnliches). Dann mach nen rechtsklick darauf und gehe auf "öffnen mit". Hier wähle jetzt den vlc Player aus. Am besten dann das Häkchen setzen, dass er diesen Dateityp immer mit dem vlc oeffnet und dann kannst du gucken.

http Passwort

Buch.png  Zitat - Tasman, 20.09.2010

Mir ist bei der services.m3u aufgefallen, dass evtl. Benutzername/Password nachträglich eingetragen werden müssen, falls das HTTP-Passwort in der Dreambox aktiviert ist. Allgemein lautet die Syntax für solche Aufrufe:

http://benutzername:passwort@maschine:portnummer/verzeichnis

Favicon einbauen

Der Pfeil oben im Bild zeigt auf das neue Favicon

Den Code

<link rel="shortcut icon" href="favicon.ico">

in die index.html (zwischen <head> und </head> tag) und natürlich das favicon.ico entpacken und in den http Ordner kopieren.

Downloads:


Quelle: JackDaniel, 20.09.2010

Upload und Download

Wichtiger Hinweis zum Streamen ins Internet:

  1. Server: Man muss wissen wieviel man Upload hat ins Internet
  2. Client: Man muss wissen wieviel man an Download hat
  3. Server und Client können das testen im Browser z.B. http://speed.io

Wenn der Server ein Upload iins Internet von 1 MBit hat dann sollte man eine Puffer lassen und die Bitrate nicht mehr als 700 kBit übersteigen.

HD-Stream

Buch.png  Zitat - schoko69, 17.10.2010

Ist es jemanden schon gelungen einen HD-Stream (z.B. Sky Sport HD) zu erstellen?

Das Streamen von HD sollte theoretisch möglich sein. Auch bei mir gelingts - jedoch nicht wirklich flüssig. Ich habe einen Intel Core i3-530, der ist deutlich zu schwach für HD. mit nem i7 könnte es aber vielleicht klappen.

Ansonsten spielt auch der Codec eine wichtige Rolle. Der hier in der Regel verwendete Codec ist h264 - der braucht ordentlich Power. Wenn du z.B. in mp4 umwandelst, dann sollte es auch auf ner langsameren kiste laufen (hat aber auch deutliche Auswirkungen auf die Bildqualitaet).

Fürs Streaming (und generell nen Medienserver) sind vor allem Prozessor und RAM ausschlaggebend. Fürs Streamen reicht sicher nen Rechner mit 2GB RAM (oder weniger) aber kommen noch andere Aufgaben hinzu, dann empfehle ich gleich 4GB reinzuhauen. Wie gesagt: Prozessor muss sehr schnell sein.

Mac Unterstützung

Der Betrieb auf einem Mac wurde positiv bestätigt.

Quelle: JackDaniel, 20.09.2010

iPhone Unterstützung

iPhone Anbindung wurde positiv bestätigt.

Quelle: kopernikus2005, 22.09.2010

Einfach die Webseite mit dem Safari Browser aufrufen und auf "Stream Now ..." klicken. Der Stream startet umgehend.

iPad Unterstützung

iPad Anbindung wurde positiv bestätigt.

Quelle: mokim, 23.09.2010

Auf dem iPad funktionierts tadellos. Einfach mit dem Safari Browser auf Deine Streamingseite gehen und dort auf "Stream Now" klicken. Dann sollte sich der Quicktime Player öffnen und alles laufen.

Android Unterstützung

Kann man den Stream auch mit Android 2.1 anschauen?

Die Android Unterstützung wurde positiv bestätigt.

Dazu muss die "Standard-Streamausgabe-Kette" geändert werden:

#duplicate{dst="transcode{vcodec=h264,vb=256,fps=25,venc=x264{profile=basel
ine,keyint=50,bframes=0,no-cabac,ref=1,vbv-maxrate=256,vbv-bufsize=128,aq-m
ode=0,no-mbtree,partitions=none,no-weightb,weightp=0,me=dia,subme=0,no-mixe
d-refs,no-8x8dct,trellis=0,level1.3},vfilter=canvas{width=320,height=240,as
pect=320:240,padd}soverlay,acodec=mp4a,ab=64,channels=1,samplerate=44100,au
dio-sync}:rtp{sdp=rtsp://0.0.0.0:554/stream.sdp,caching=2000}"}

(Die o.a. Kette ist genau eine Zeile!)

Nun muss man natürlich auch noch den Port 554 im Router auf den PC weiterleiten, auf dem der VLC läuft.

Den Port habe ich so gewählt (554), da Android über die mobile Verbindung (3G) anscheinend nicht alle Ports zulässt, und nur über WLAN schauen is ja au doof.

Allerdings hat die Sache noch einen kleinen Haken.....man muss auf einer Website einen Link erstellen, der folgend ausschaut: rtsp://you.dyndns.org:554/stream.sdp

Das wars, nun läufts auch mit dem Android, und das sogar sehr gut.

BlackBerry Unterstützung

Buch.png  Zitat - d.daum, 05.11.2010

Konnte jemand das ganze schonmal erfolgreich mit dem BlackBerry testen? Falls ja, welche Streamausgabe-Kette wurde denn verwendet? Ich hätte ein Bold 9700 mit dem ich das gerne mal testen möchte.

Die BlackBerry Unterstützung wurde noch nicht bestätigt.

Noch Fragen?

Dann schreib mir im Forum. Diese Anleitung sollte jedoch kaum Fragen offen lassen.

Gruss, Mokim

Copyright

Hauptautor des Beitrags ist Mokim. Wikiversion durch Tasman im Auftrag von Mokim mit diversen Anpassungen.

Weiterlesen