NG - Mediastream
Aus NG-Return Wiki
Anleitung für NG-Mediastream
Das Projekt von Haehnchen, das er in die weite Welt gestellt hat, haben wir uns mal mit seiner freundlichen Erlaubnis zu Nutze gemacht.
Da wir bereits ein IPTV anbieten nennt es sich bei uns NG-Mediastream und ist ein einfacher "OnlineStream Proxy" auf Basis des internen Movieplayers.
Vorteile des NG-Mediastream: keine Boxhänger, keine Abbrüche, nichts downloaden, viele Infos einfach per PHP-Script.
Momentan sind dort Scripts für:
Eigenes_Filmverzeichnis, Remotecontrol, Apple_Movie_Trailers_Portal, Audi_TV_Portal, Bahn_Channel, Comedy_Channel, Computer_Info_Channel,
Cooking_Channel, Doku_Channel, Dokusoap_Channel, Info_Channel, Kabeleins_Portal, Kids_Channel, Live_TV_Channel, Magazin_Channel,
Moviemaze_Portal, Musik_Channel, News_Channel, Sat1_Portal, Serien_Channel, SF_TV_Portal, Show_Channel, Sport_Channel, Trailer_Channel,
XXX_Channel, Youtube_Portal, ZDF_Portal.
Neue Scripts können ohne weiteres als PHP-Script oder in den Channel-Listen zugefügt werden, weil es sich bei den Channel-Listen um Podcast handelt.
Zur Funktion:
XAMPPlite (Apache+PHP) hängt sich zwischen Movieplayer und VLC. Alle benötigten Anfragen werden vom Webserver an den VLC geleitet, der nur noch zum Transformieren benutzt wird.
Installation unter Windows XP Home oder Professional
Als erstes benötigt ihr VLC v0.8.6e und XAMPP Lite 1.6.7 sowie den Mod, da Anfragen von XAMPPlite an die 127.0.0.1:8080 gehen.
Zunächst führt ihr die Installation des VLC (am besten in den Standardordner) durch. Danach installiert ihr XAMPPlite nach C:\xampplite und abschließend führt ihr die Mod.exe aus, die das XAMPPlite-Paket für den NG-Mediastream patcht.
Wenn ihr bei der Installation irgendwelche Pfade ändert, dann müßt ihr natürlich selber wieder dafür sorgen, dass das Paket funktioniert ;)
Konfiguration unter Windows XP Home oder Professional
Um eure lokal gespeicherten Filme an die Box zu streamen müsst ihr noch in der Datei 01_Eigenes_Filmverzeichnis.php (zu finden unter C:\xampplite\htdocs\requests\scripts\) den Pfad zu eurem Filmverzeichnis anpassen:
01_Eigenes_Filmverzeichnis.php, Inhalt:
<?php
$verzeichnis= "C:/Movies/"; // Pfad zum Verzeichnis Filme
$los = "\$links['";
$lose = "']['url']=";
$loses = "']['type']=";
$losese = "file";
$filename = "eigene_filme.php";
$handle2 = fOpen($filename, "w");
fWrite($handle2, "<?php\n");
$handle = openDir($verzeichnis); // Verzeichnis öffnen
while ($datei = readDir($handle)) // Verzeichnis auslesen
{
if (strstr($datei, ".avi") || strstr($datei, ".flv") || strstr($datei, ".mov") || strstr($datei, ".wmv") || strstr($datei, ".ts") || strstr($datei, ".mpg") || strstr($datei, ".mpeg") || strstr($datei, ".vob") || strstr($datei, ".divx") || strstr($datei, ".mp4") || strstr($datei, ".asx") || strstr($datei, ".m3u")) // Filme filtern
{
$verzeichnis_datei = $verzeichnis . $datei; // Pfad zur aktuellen Datei
fWrite($handle2, "$los$datei$lose\"$verzeichnis_datei\";\n"); // Link erstellen
fWrite($handle2, "$los$datei$loses\"$losese\";\n"); // Link erstellen
}
}
fWrite($handle2, "function getdir() {\n global \$links;\n return gennavi(\$links);\n}\n\nfunction geturl(\$pfad) {\n global \$links;\n \$r=split(\"/\",\$pfad);\n return \$links[\$r[2]]['url'];\n}\n"); //Funktionen anängen
fWrite($handle2, "?>");
closeDir($handle); // Verzeichnis schließen
fClose($handle2);
include 'eigene_filme.php'; //Filmliste zwecks Anzeige includieren
Die Dateinamen der Filme dürfen keine Umlaute (öäüßÖÄÜ) enthalten, anderenfalls können die Filme nicht angezeigt werden.
NG-Mediastream unter Windows XP Home oder Professional aufrufen
Startet einfach die Batchdatei c:\xampplite\apache_und_vlc_start.bat, um VLC und XAMPPlite auszuführen. Das (schwarze) Eingabefenster darf nicht geschlossen werden, da anderenfalls der Apache-Server auch beendet wird ... ihr könnt es aber natürlich in die Taskleiste minimieren.
(Die Batchdatei c:\xampplite\apache_und_vlc_stop.bat ist für Windows Professional und c:\xampplite\apache_und_vlc_stop_home.bat ist für Windows Home. Beide Dateien fahren VLC und XAMPPlite herunter.)
NG-Mediastream unter Linux installieren
Zur Funktion
- Das Skript prüft ob eine XAMPP-installation existiert, wenn ja bricht sie ab. Andernfalls wird XAMPP heruntergeladen und installiert.
- Anschließend werden die Modifikationen runtergeladen und installiert.
- Nun werden die aktuellen Skripte runtergeladen und installiert.
- Benutzer und Benutzergruppe mediastream angelegt.
- Rechte für mediastream in /etc/sudoers vergeben (shutdown und für das Skript um die Skripte zu aktualisieren). Falls /etc/sudoers.mediastream_backup nicht existert, wird dort eine Kopie der /etc/sudoers angelegt. Falls die Rechte bereits eingetragen sind, wird nur eine Bestätigung darüber ausgegeben.
- XAMPP wird gestartet
Installationsvoraussetzungen
- VLC für transcoden
- unzip um die scripts.zip zu entpacken
Installation
Zunächst ladet ihr euch das Archiv install_NG_Mediastream.tar.gz herunter und entpackt die enthaltene Installationsroutine install_NG_Mediastream.sh. Diese wird dann mit root-Rechten ausgeführt. Also am besten zunächst mit su im Terminal den Benutzer root aktivieren und dann die install_NG_Mediastream.sh ausführen.
Derzeit ist das Installationsskript unter Ubuntu 8.04/Suse11 und Fedora Core 9 getestet worden - bei anderen Distributionen muß ggf. noch Hand angelegt werden.
NG-Mediastream unter Linux aufrufen
Nach der Installation wird XAMPP automatisch gestartet, aber wenn ihr den Rechner startet, dann müsst ihr natürlich auch XAMPP und VLC neu starten.
Die Startbefehle sind für XAMPP:
sudo /opt/lampp/lampp start
und für VLC:
vlc --extraintf=http --http-host :8080 --sout-transcode-fps 25.0000 --avi-index=2
Um XAMPP zu beenden, gebt ihr folgendes Kommando ein:
sudo /opt/lampp/lampp stop
Konfiguration des Mediaplayers in der Dbox2
In der DBox2 tragt ihr die IP des PC ein, auf dem VLC und XAMPPlite laufen und ändert den Port des Movieplayers auf 8083 (für XAMPPlite) und nicht den VLC Port 8080!!! Nun speichert ihr die Einstellungen in der DBox2. Das Ganze sollte dann so auf der DBox2 aussehen:

Im Movieplayer wählt ihr den Menüpunkt Datei via VLC. Das Ganze sollte dann so auf der DBox2 aussehen:

Bedient wird das Ganze über die Fernbedienung der DBox2: Links, Rechts, Oben, Unten, Rot, Grün, OK und Home.
ACHTUNG: Im Moviebrowser eimalig den Filter über die blaue Taste deaktivieren, sonst sieht man nur leere Ordner!
ACHTUNG: Sollte bei einem Stream der Ton versetzt sein, einfach mal die grüne Taste drücken.
"Experten Einstellung"
Aus dem Projekt TUXBOXBoard von Haehnchen
Angepasst wurde die Xampp config wie folgt:
addhandler für xml auf php geändert, um die Anfragen in php verarbeiten zu können.
(C:\xampplite\htdocs\requests)
mod_proxy für den DBboxstream:
- - - - - - - - - - - - - - - - - - - - - -
ProxyRequests On
ProxyPass /dboxstream http://127.0.0.1:8080/dboxstream
ProxyPassReverse /dboxstream http://127.0.0.1:8080/dboxstream
ProxyVia On
- - - - - - - - - - - - - - - - - - - - - -
proxy module: mod_proxy und mod_proxy_http müssen, dafür natürlich aktiv sein
