Internetstreams für Movieplayer - Dbox2

Sa, 17.01.2009 - 14:38 -- Daniel Espendiller

Die D-Box2 samt Neutrino bieten fast jedes erdenkliche Feature. Allerdings fehlt ihr ein wichtiges in Mode gekommenes Detail: Die Wiedergabe von Onlinestreams wie z.B. Youtube, MyVideo, ZDFMediathek. Für eine direkte Wiedergabe der Streams reicht die Performence der Hardware nicht aus. Dieses Problem wird umgangen, in dem Videos über einen beliebigen Rechner im Netzwerk per VLC (VideoLAN) on demand ins mpeg2 Format konvertiert wird. Diese Funktion bietet der Movieplayer an. Die Wiedergabemöglicheiiten beschrenken sich hier aber auf lokal liegende Dateien.
Ich habe hier eine kleine Schnittstelle gebastelt, die sich zwischen der D-Box2 und dem VLC schaltet. Dem Movieplayer der DBox2 wird einfach eine Ordnerstruktur "untergejubelt", so das ein navigieren wie in einer normalen Ordnerstruktur ermöglicht wird.

Benötigte Software

* VLC in Version > 1.0 + VLCWebserver auf Port 8080 (Standard); Anleitungen gibt es hierzu im Netz genug
* funktionierender Movieplayer der DBox2, Ordnerstruktur und Videowiedergabe funktionieren
* xamplite (siehe komplett Paket)

Funktionen

Installation

PC

Als erstes muss das xampplite Paket heruntergeladen werden (siehe Downloads). Dieses muss nach C:\ entpackt werden. Jetzt könnt ihr mit einem klick auf C:\xampplite\apache_start.bat den Webserver starten. Ihr solltet jetzt irgendetwas in der Art mit Apache is starting... sehen. Erscheint die Meldung, sollte der erste Teil erledigt sein. Um den Zugriff zu testen liegt im gleichen Ordner ein Hyperlink AdminDebug-Interface, wird dieser mit dem Browser gestartet, so seht ihr eine Übersicht über alle installierten Skripte (ähnlich wie im Movieplayer).

VLC

Wurde an den Einstellungen im VLC nicht geändert, so reicht es ab Version 1.0 einfach das Webinterface per Menü zu aktivieren. Die Weboberfläche kann dann über Port 8080 geöffnet werden.

DBox

Jetzt geht es an die DBox. Sollte die Videowiedergabe bereits über die normale Dateistruktur funktionieren (Tipps zur Einrichtung findet man bei Google zu genüge!), so muss jetzt nur noch der Port von 8080 auf 8083 geändert werden. Damit wird der Zugriff von VLC über dem Xampplite umgeleitet. Bitte nicht vergessen mindestens einen Ordner an die Pfadangabe (Verzeichnis VLC: d:/) zu hängen (siehe Abbildung). Schließlich kann über den üblichen Weg des Moviebrowsers ein Video/Stream gestartet werden. Mit der blauen Taste auf der Fernbedienung musst die Datei-Filterung ausgestellt werden, sonst erscheinen nur leere Ordner.

Skripte

sämtliche Skripte liegen bzw müssen unter C:\xampplite\htdocs\requests\scripts abgelegt werden. Viele bieten kleinere Anpassung wie z.B. eigene Suchoptionen für Videoseiten, über eine CSV-Datei.
Sollten einige Homepage wie z.B. Youtube mehrere Videoauflösungen anbieten, kann man diese in der Datei settings.php zentral editieren. Ihr müsst allerdings etwas vorsichtig sein, VLC streamt nicht alle Videoformat ordentlich zur DBox.

Bedienung

Der Funktionsumfang während der Wiedergabe ist fast die gleiche wie die des normalen Movieplayers, sämtliche Kommandos werden weiter gereicht. Allerdings sei gesagt, dass Sprünge in den Videos nicht immer klappen, da VLC dieses leider nicht bei alle Onlinestreams unterstützt.
Ganz wichtig wäre noch zu erwähnen die Filterfunktion im Browser des Movieplayers zu deaktivieren. Dieser Filter nämlich alle nicht Videoformat raus. Da keine Dateiendungen weitergereicht werden, ist sonst jeder Unterordner leer. Also einmal die blaue Taste drücken.
Sobald mit einem OK Druck auf der Fernbedienung ein Stream gestartet wurde, beginnt die Wiedergabe. Da die Streams über die Internetleitung kommen, kann es manchmal etwas dauern bis ein Bild erscheint. Sobald allerdings die Meldung "Buffern" erscheint, wird der Stream vom VLC runtergeladen. Auch hier kann es leider später noch zu Problemen kommen, da VLC nicht alle Videos so umwandeln kann, wie es der Movieplayer braucht. Sollte nach einer Minute kein Bild erscheinen, so hat man hier leider Pech. Während der Buffermeldung kann man über den OK-Knopf sehen, ob der Stream zumindest richtig am VLC ankommt. Es sollten die verwendet Codecs des Streams angezeigt werden.

eigene Einträge/Suchbegriffe

Viele Scripte lassen es zu eigene Suchbegriff bzw. Urls einzufügen. Die dazu nötige Datei liegt unter C:\xampplite\htdocs\requests\links.csv. Zum Editieren reicht der einfache Editior, komfortabler geht es allerdings mit Excel oder OpenOffice Calc. Die Datei muss im CVS-Format vorliegen.
Folgende Felder sind bzw. müssen Eintragen werden:

script:
Name es Scripts in dem die Zeile angezeigt wird. Durch Trennnung mit Komma können mehrer definiert werden. Groß/Kleinschreibung spielt keine Roll. Alle Zeichen werden intern nur als klein Buchstaben genutzt.

nameshow:
Name des Eintrags, wie er im Menü angezeigt werden soll. Sonderzeichen bitte vermeiden.

url:
Multifunktions Feld. Ist abhängig vom Script was hiermit passiert. Komplette http sind möglich sowie Suchfunktionen. Bitte die Hinweise auf den entsprechenden Scriptseiten beachten.

type: (optimal)
Hier gibt es momentan zwei mögliche Typen:
file der Eintrag ist direkt abspielbar. z.B für das Onlinestreams-Script
search aktiviert Suchfunktionen. Wird z.B im Youtube,MyVideo genutzt.

ipfilter: (optimal)
Hier kann ein IP Eingetragen um zu erreichen, dass der Eintrag nur von einer bestimmten IP zu sehen ist. Wird hier z.B. die 192.168.5.221 hinterlegt, so wird der Link nur auf der Dbox mit der entsprechenden IP angezeigt.

Hier ein paar Beispiele:

"onlinestreams","GIGA","mms://stream.giga.de/GIGA","file",
"podcasts","ZDF heute","http://www.zdf.de/ZDFmediathek/rss/166?view=rss",,
"myspace,myvideo","dortmund","suche dortmund","search",
"youtube","bayernschalke","bayern OR schalke","search",192.168.3.54

Interfaces

  • AdminDebug: http://127.0.0.1:8083/requests/browse.xml?dir=e%3A%2F&admin - Zum Debuggen und Entwickeln. Ähnliche Ausgabe wie vom DBox-Browser
  • PopcornHour: http://127.0.0.1:8083/requests/browse.xml?dir=e%3A%2F&tv - Interface für Popcorn Hour bzw. Syabas Systeme
  • BrowserPlayback: http://127.0.0.1:8083/requests/browse.xml?dir=e%3A%2F&vlc - Zum Ansehen von Streams direkt im Browser über VLC-ActiveX

SVN Skripte

Zur Sourcecode Verwaltung nutze ich SVN (Subversion) welche auf BerliOS liegen. Dort checke ich regelmäßig alle Änderungen ein. Zusätzlich liegen dort auch die kompletten Paket zum Download, welche ich allerdings nur bei größeren Veränderungen erstelle. Möchte man eine aktuellen Version nutzen, so bietet es sich an von dort das komplett Paket runterzuladen und die dort vorhandenen Ordner C:\xampplite\htdocs\requests durch die Datei aus dem SVN zu ersetzen.
Die Befehle zum auschecken der aktuellen Version befindet sich direkt im BerliOS Projekt. Ein Aufrufen des SVN Projekte ist ebenso über einen Browser per ViewVC möglich.

Apple - Movie Trailers
BBC - onDemand
Kino.de
Moviemaze.de
OnlineStreams
Remotecontrol
Shoutcast TV-List
Spiegel.TV
TV Total
Videopodcasts
MyVideo
Youtube

FAQ

Wie siehts mit VLC 0.9x aus?
Ja die VLC Version funktioniert. Allerdings mit 2 Problemen. Sobald eine Datei über den Moviebrowser ausgewählt wurde, wurde in VLC Version < 0.9 die Wiedergabeliste gelöscht. Jetzt wird alles schön untereinader gereiht, soll heißen an der DBox wird immer nur die erste Auswahl abgespielt. Ich habe hierfür einen Workaround: in der status.xml gibt es eine Workaroundzeile, file('http://127.0.0.1:'.$myconfig['vlcport']."/requests/status.xml?command=pl_empty"); diese einfach auskommentieren.
Das zweite Problem sind wohl Lizenzprobleme mit dem MPEG2 Codec. Dieser musste ziemlich abgespeckt werden. Nach meinen Tests kann man den jetzigen Codec total vergessen. Ein sinnvolles Stream ist hier nicht mehr möglich. Unter anderem gibt es einen MickeyMouse Sound unter bestimmen Streams.

Ruckeln Ton hinter?
Leer Listen?
Eigene Skripte?

Changelog

v0.5 - 19.12.09
- fixed some scripts
- lots of other stuff (see svn commitlog)

v0.4 – 11.02.09:
- changed/updated many scripts
- added: csv-file for customize
- popcornhour & co support add
- changed many core functions

v0.3 – 06.04.08:
- FIX: kleine Bugs in diversen Scripten
- FIX: Curl im xampplite aktiviert.
- Fix: Browsersimulation ist abschaltbar
- FIX: Kino.de/Youtube an neue Seitenstruktur angepasst
- FIX: Addhandler für xml .htaccess ausgelagert.
- ADDED: BBC-Iplayer thx to PT-1&FreddyFr0g benötigt UK Proxy
- ADDED: Sat1.de
- ADDED: Youporn - tipp: eine zeile auskommentieren :)
- ADDED: rtlnow.de script, etwas buggy dank unfähigen rtl.proggern :)
- ADDED: Videoposcasts: sehr mächtig mit www.podcast.de links
- ADDED: Shoutcast List - streams working?
- ADDED: MyVideo suchfunktion
- KNOWN: Browserklassen hat Probleme bei bestimmen seiten
- Wanted: prosieben bitte nicht rtmp, da kann keiner was mit anfangen, schade

v0.2 - 01.03.08:
- FIX: abstürze bei leeren Ordner
- FIX: kommentare in den skripts eingeführt
- FIX: tvtotal.de script überarbeitet.
- FIX: content-length im header eingefügt, somit mehr wie 95 zeilen möglich. (zdfmediathek geht nun vollständig)
- ADDED: Debugmodus, anfragen werden im browser angezeigt: http://127.0.0.1:8083/requests/browse.xml?dir=e%3A%2F&admin
- ADDED: Kabeleins.de script
- ADDED: Spiegel.TV Videoarchiv script
- ADDED: trailerseite.de script
- ADDED: moviemaze.de script

v0.1 - 10.02.08:
- FIX: Youtube jetzt mit Ton, samplerate bei allen videos auf 44100 beim transcodieren
- FIX: Youtube-Skript "gesehen/markierte Streams" konnte nicht abgespielt werden
- ADDED: Browserklasse eingefügt. Simuliert werden Firefox Requests
- ADDED: Tv-Total.de Skript
- KNOWN: VLC kann bestimmte kino.de streams nicht richtig abspielen. (ffmpeg, mplayer, vlc kommen mit nem speziellen wmv codec nicht klar)
- RATLOS: ZDFMediathek: mehr wie die 95 einträge krieg ich nicht raus. auch wenn als filename nur ein buchstabe drin steht.

v0.0 - first release[/code]

Disqus - noscript

hi,

netter ansatz das hier - habs auf ner debian VE mit apache2 gleich zum laufen gebracht - das einzige wo ich hing war: das startverzeichnis im movieplayer war noch auf meine altes /shares/video/ gesetzt und das schmeckte dem browse.xml nicht. dann einfach auf bla gesetzt und schon läufts!

gibts pläne das ZDF script auf die umgestellte Mediathek upzudaten - ich bin zu blöd dazu...

geht jetzt auch via rss - man sieht was so geht unter:
http://www.zdf.de/ZDFmediathek...

zb findet man titel und assetid für die sendungen dann unter:

http://www.zdf.de/ZDFmediathek...

und mit der assetid den streamfeed dazu:

http://www.zdf.de/ZDFmediathek...

was mich noch interessieren würde ist ob du rausgefunden hast warum der vlc die neueren http://.asx streams nicht richtig für die dbox aufbereitet (puffern - aber medieninfo abrufbar mit OK)

thx derweil,

abdul aus wien
Kriege das einfach nicht zum laufen.
Installieren ok.
Apache starten ok.
VLC ok.
Script angepasst ok.
Videoauswahl wird angezeigt ok.
Beim Versuch Video zu starten gibt VLC folgende Fehlermeldung aus:
Ihre Eingabe konnte nicht geöffnet werden:
VLC kann die MRL 'http://www.youtube.com/get_vid... nicht öffnen. Sehen Sie für Details im Fehlerprotokoll nach.
hi,

wichtig ist, dass php5 (youtube function verwendet eine funktion die es erst ab php5 gibt) verwendet wird und dass in der php.ini register_globals On ist..

ev mal im browser mit &admin aufrufen und php error reporting aufdrehen..

gruss,
abdul
ich hatte gehofft, dass in der zdfmediathek nach dem relaunch nichts an der funktionsweise geändert wurde. naja ich werds mir definitv mal ansehen.
weiter muss ich auch mal wieder ein neues komplett paket zusammenschnüren und die dokumentation anpassen. ich werds definitiv irgendwann nochmal schaffen. :)
Hallo Zusammen

was muß ich machen das ich filme von kino.to auf diese weise schauen kann ?

für Eure Hilfe im voraus vielen Dank

Grüße

supi
Hast Du das mit kino.to schon hinbekommen? Dann setze ich mir auch noch schnell so einen Apache Webserver auf. Die kino.to Geschichte würde mich auch brennend interessieren, wobei die anderen Internetstreams für mich nicht so wichtig sind.
ich habe versucht ein nvs stream eines radiosenders zu streamen, hab da ein eintrag in OnlineStreams.php gemacht und es geht, aber nach starken ruckeln und mit halber abspiel geschwindigkeit bricht der stream ab. Php ist mir fremd, deshalb das editieren der OnlineStreams.php, eigetragen ist :
$links['Good Sound']['url']="http://sf1.streamfirma.de:1550;stream.nsv";
$links['Good Sound']['type']="file";

was ist falsch?

gruss
topie
Hi,
wie bekomme ich das auf OSX ans laufen.
Apache ist vorhanden(klar bei OSX) aber wo kommen die Scripte rein?
Nachdem ich es mit OSX versucht habe (nogo,keine Ahnung) habe ich das kompl. Windoof Packet installiert. Wenn ich einen youtube Stream an der DBox2 starte, steht auf dem Fernseher "puffern" und auf dem Rechner startet der Stream im VLC!

Eine größere Schei.. habe ich noch nicht gesehen.
naja dich zwingt dich ja keiner das teil auch zu nutzen. sei froh dass einige ihre arbeit kostenlos anbieten.

wenn du mal etwas nachgeforscht hättest in den Verweise wärst du aufs forum gekommen: http://www.dbox2-tuning.net/fo...

dort steht dann auch dass youtube "etwas" geändert hat und du das neue script unter: http://svn.berlios.de/viewvc/o...

einfügen musst
Hi Haehnchen,
nö, keiner zwingt mich sowas zu nutzen. Schon klar.
Allerdings wird doch hier behauptet, das alles prima läuft.
Das aber selbst "Spiegel TV", egal welche Streams, für ganze 4 sek. läuft, danach für 20 sek. "Puffern" erscheint und dann zurück zur Streamauswahl springt ist eine Nutzung doch wirklich nicht gegeben.

Von der Platte gestreamt läuft bei mir alles ohne Probleme. Ob Mpg1 oder Mpg2, ob kleinste oder größte Auflösung ist der DBox völlig egal.
Und eine 30Mbit Leitung sollte doch für diese lächerlichen Streambandbreiten locker ausreichen. Und ein i7 sollte doch auch genügend Rechenleistung für den VLC und Apache bereitstellen

Ach ja, wenn ich den VLC 1.0 nehme kommt der Stream auch an der DBox an.
Nehme ich die aktuelle Version kommt nichts an der DBox an aber dafür laüft der Stream im VLC-Fenster am Rechner.

Ich denke mal das hat nichts mit neuen Youtubescripten zu tun, oder?
naja... sobald der er puffert und das bild erscheint haben die skripte ihre arbeit erledigt. da die ja nur die url weiterreichen alles andere liegt dann zwischen VLC und Dbox, das läßt sich dann nicht mehr beeinflussen.
es ist allgemein bekannt das der vlc gerade beim streamen in mpeg2 wohl ein paar bugs hat, je neuer die version ist. sieht dazu diesen thread: http://forum.videolan.org/view...

da muss man eventuell auch mal ältere Version nutzen. ich wechsle immer zwischen 0.8.7 und der 1.0.x.

Gibt es eigentlich die Möglichkeit das ganze auch ohne den VLC-Server auf dem Rechner. Sozusagen ähnlich wie beim XBMC. So ne Art XBMC-Client für die SBox2?

dafür ist die dbox2 hardware leider zu alt. die dreambox / enigma2 kann da schon viel mehr.

grob habe das die funktion von oben auch schon auf der dreambox abgebildet, insbesondere der youtube teil. die csv datei lässt dich 1zu1 nutzen.
ich werde dass im laufe der nächsten wochen auch mal aufbereiten