NG - Mediastream

Aus NG-Return Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

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:

Bild:Mediastream - movieplayereinstellungen.jpg

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

Bild:Mediastream - auswahlmenü.jpg

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


--mrkohl & tuner 22:00, 28. Okt. 2008 (CET)

Persönliche Werkzeuge