Dreambox Streaming mit VLC

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen


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!

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. Grundvorraussetzung ist jedoch ein sehr potenter Rechner (bei mir läufts auf einem Core-i3 530 mit einer Prozessorauslastung von 50 bis 80%).

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

"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.
  • 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=asf,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 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

Letzte 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
  • Alternativ kann innerhalb der Streamausgabekette der Wert von mux von mux=asf auf mux=ts geändert werden. (Siehe im Forum: [1])

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=asf,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

Mac Unterstützung

Der Betrieb auf einem Mac wurde positiv bestätigt.

Quelle: JackDaniel, 20.09.2010

Favicon einbauen

Vlc streaming 13.jpg

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. [2]

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.

iPhone Unterstüzung

Die iPhone Anbindung ist derzeit noch in Bearbeitung.

Codecs (h264 und aac/ mp3) werden jedenfalls unterstützt. Das iPhone setzt aufs Protokoll livehhtp und das wird (juchu) vom neuen vlc unterstützt. Eine mögliche App ist Streamer By ZodTTD.

Noch Fragen?

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

Gruss, Mokim

Copyright

Autor des Beitrags ist Mokim. Wikiversion durch Tasman im Auftrag von Mokim.

Zurück zur Übersicht:Gemini-Wiki:Portal oder Hauptseite