Muuta Streaming Server

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
The Gemini Project

Muuta Streaming Server

Einleitung

Muuta Streaming Server ermöglicht das Streamen von TV / Radio Sendern über das Internet. Entwickelt wird der Server von 3c5x9. Die Streams werden durch FFmpeg transcodiert, damit sie durch den meist geringen Upload passen. Muuta wird auf einem separaten Rechner installiert, da die Dreambox den Stream nicht transcodieren kann. Zugriff auf Muuta erfolgt via Webbrowser.

Der Streaming Server bietet noch weitere Optionen, wie das Streamen von Internet Feeds, oder anderen lokalen Medien (z.B. Filme / Sound).


Ziel dieses Beitrages

  • Muuta Streaming Server installieren und starten (Linux, Mac oder Windows)
  • Lokaler Zugriff auf Muuta via Webbrowser herstellen
  • Muuta für das Streamen einrichten
  • Router für den Zugriff konfigurieren
  • Externer Zugriff auf den Muuta Streaming Server herstellen
  • Muuta's Konfigurationsdatei kennen lernen
  • Die Tipps und Tricks anschauen
  • Den Support Thread kennen

Voraussetzungen

  • Einen Computer für die Installation von Muuta
  • Enigma2 basierende Dreambox
  • Erfahrung mit dem Terminal oder der Eingabeaufforderung
  • Zugriff auf das Heimnetzwerk vom Internet, z.B. mittels DynDNS Adresse
  • Konfigurieren von Portweiterleitungen am Router
  • Genug Zeit und Interesse


Zurück zum Inhaltsverzeichnis:


Muuta Streaming Server installieren / starten

Fig. Muuta Streaming Server unter Mac OS X

Der folgende Abschnitt zeigt die Installation und das Starten von Muuta Streaming Server unter Ubuntu Linux 9.10, Mac OS X Snow Leopard und Microsoft Windows.


Installation unter Ubuntu 9.10

Die Beschreibung basiert auf Ubuntu 9.10 nach einer Standardinstallation. Das ganze funktioniert auch mit anderen Distributionen, sofern die entsprechenden Abhängigkeiten installiert sind.


Allgemeines

Muuta Streaming Server benutzt folgende Abhängigkeiten.

  • python (Version muss kleiner 3.0 sein)
  • python-twisted
  • python-twisted-web2
  • python-django (mindestens Version 1.1.1)
  • python-docutils
  • ffmpeg
  • libavcodec-extra-52
  • flashplugin-installer


Abhängigkeiten installieren

Die Pakete könnt ihr mit folgendem Befehl installieren.

sudo apt-get install python python-twisted python-twisted-web2 python-django python-docutils ffmpeg libavcodec-extra-52 flashplugin-installer


Installation von Muuta

Ladet die Linux Version von hier runter und entpackt das Archiv in ein beliebiges Verzeichnis.

Öffnet ein Terminal und wechselt in das entpackte Verzeichnis von Muuta. Führt nun nachfolgenden Befehl aus, um die Datenbank und einen Benutzer zu erstellen.
Folgt den Bildschirmanweisungen, die erstellten Benutzerdaten werden später beim Einloggen über den Browser verwendet (also nicht vergessen).

python djangosite/manage.py syncdb


Muuta Streaming Server starten

Startet Muuta mit folgendem Befehl.

python muuta.py


Optionaler Muuta Starter

Wollt ihr Muuta nicht über das Terminal starten, dann könnt ihr folgende Anwendung ausprobieren, Muuta Starter - Linux


Problem mit dem Start des Streams

Startet der Stream nicht nach Auswahl des Profiles (Player Fenster bleibt schwarz), dann schaut einmal in diesen Beitrag vom Muuta Thread rein. Vielleicht hilft es euch.


Zurück zum Inhaltsverzeichnis:


Installation unter Mac OS X Snow Leopard

Unter Mac OS X installieren wir die MacPorts, um alle Abhängigkeiten für Muuta zu erfüllen.
MacPorts ist eine Paketverwaltung zum runterladen, kompilieren und installieren von Opensource Software.

Ambox notice.png Xcode muss auf dem Mac installiert sein, damit die entsprechenden Pakete kompiliert / installiert werden können. Installiert Xcode von der Mac OS X Snow Leopard DVD.


Allgemeines

Muuta Streaming Server auf Mac OS X, benötigt insgesamt folgende Abhängigkeiten.

  • Xcode
  • MacPorts
  • python26
  • python_select
  • py26-twisted
  • py26-twisted-web2
  • py26-django
  • py26-docutils
  • py26-openssl
  • ffmpeg


Installation der MacPorts

Holt euch die MacPorts für Snow Leopard und installiert es anschliessend.
Führt folgenden Befehl im Terminal aus, um die Paketliste zu aktualisieren.

sudo port -v selfupdate


Abhängigkeiten installieren

Jetzt werden die restlichen Abhängigkeiten über die MacPorts installiert.
Öffnet ein Terminal und gebt die folgenden Befehle nacheinander ein.

Ambox notice.png Seid geduldig, die Pakete werden runtergeladen, kompiliert und installiert. Das dauert je nach Internetverbindung und Rechenleistung eine Weile ;)


sudo port install python26
sudo port install python_select
sudo python_select python26 # Defniert Python als Standard im System
sudo port install py26-twisted
sudo port install py26-twisted-web2
sudo port install py26-django
sudo port install py26-docutils
sudo port install py26-openssl
sudo port install ffmpeg


Installation von Muuta

Ladet die Linux Version von hier runter und entpackt das Archiv in ein beliebiges Verzeichnis.

Öffnet ein Terminal und wechselt in das entpackte Verzeichnis von Muuta. Führt nun nachfolgenden Befehl aus, um die Datenbank und einen Benutzer zu erstellen.
Folgt den Bildschirmanweisungen, die erstellten Benutzerdaten werden später beim Einloggen über den Browser verwendet (also nicht vergessen).

python djangosite/manage.py syncdb


Anpassen des FFmpeg Pfades

Öffnet die config.xml im Verzeichnis von Muuta mit einem Text Editor eurer Wahl. Der Pfad für FFmpeg muss angepasst werden, da MacPorts alles nach /opt/local installiert. Sucht nach der Zeile config name="path_ffmpeg.... und ändert den Pfad in /opt/local/bin/ffmpeg.
Die Konfiguration sieht wie folgt aus (ist nur ein Auszug der Konfigurationsdatei!!).

<config name="path_ffmpeg" type="string">/opt/local/bin/ffmpeg</config>


Muuta Streaming Server starten

Startet Muuta mit folgendem Befehl.

python muuta.py


Optionaler Muuta Starter

Wollt ihr Muuta nicht über das Terminal starten, dann könnt ihr folgende Anwendungen ausprobieren.
Die Variante von JackDaniel oder mfgeg.


Zurück zum Inhaltsverzeichnis:


Installation unter Microsoft Windows

Installation von Muuta

Ladet die Windows Version von hier runter und entpackt das Archiv.
Startet die Installation mit Doppelklick auf die Datei Muuta_Streaming_Server-0_X.exe. Folgt nun den Anweisungen des Installers.


Berechtigungen anpassen

Fig. Berechtigungen Win 7

Unter Windows 7 und Vista müssen Berechtigungen angepasst werden, ansonsten wird die Datenbank von Muuta nicht angelegt. Öffnet den Windows Explorer und navigiert in den Ordner, in welchen ihr Muuta installiert habt (z.B. C:\Programme...).
Macht ein Rechtklick auf den Ordner Muuta Streaming Server und ändert für die Gruppe User, die Berechtigungen auf Vollzugriff.
Benutzt die Fig. Berechtigungen für das Vorgehen.


Datenbank und Benutzer erstellen

Öffnet die Eingabeaufforderung und wechselt in das Installationsverzeichnis von Muuta. Startet die Datei create_database.bat.
Das starten der Datei funktioniert auch über den Windows Explorer. Folgt nun den Bildschirmanweisungen.
Die erstellten Benutzerdaten werden später beim Einloggen über den Browser verwendet (also nicht vergessen).


Muuta Streaming Server starten

Startet Muuta mit run_server.bat oder mit dem Ausführen von muuta.exe.

Ambox notice.png Meldet sich die Firewall beim ersten Start von Muuta, dann muss die Verbindungen zugelassen werden.


Zurück zum Inhaltsverzeichnis:


Zugriff auf den Muuta Streaming Server herstellen via Webbrowser

Fig. Keine vertrauenswürdige Verbindung - Mozilla Firefox
Fig. Erfolgreich eingeloggt

Zugriff auf den Streaming Server erfolgt über den Webbrowser. Gebt in der Adresszeile folgendes ein:

https://localhost:10999


Ambox notice.png Beim ersten Aufruf, wird der Webbrowser über eine Verbindung lästern, die nicht vertrauenswürdig ist. Bestätigt die unsichere Verbindung. Beim Firefox könnt ihr das selbst erstellte SSL Zertifikat mit "Ich kenne das Risiko" und zwei weiteren Klicks herunterladen. Mit anderen Browsers ist es ähnlich.


Nach Eingabe des Benutzernamens und Passworts, erreicht man das Webinterface von Muuta.
Klickt auf das Muuta Icon (siehe Fig. Erfolgreich eingeloggt), und schon könnt ihr Muuta für das Streamen einrichten.


Zurück zum Inhaltsverzeichnis:


Muuta für das Streamen einrichten

Dreambox(en) konfigurieren

Fig. Dreambox hinzufügen
Fig. Dreambox Daten eingeben

Führt folgende Schritte aus, für das Konfigurieren einer Dreambox. Klickt auf [Dreamboxes] (1), anschliessend auf [add Dreambox] (2).
Gebt nun die erforderlichen Daten der Dreambox ein, wie Name der Dreambox (3), IP-Adresse (4) der Dreambox und den Port (5) (Standard 80).
Bestätigt die Eingaben mit [Daten absenden] (6).


Fig. Dreambox indexen
Fig. Stream starten

Klick nun auf [reindex this Box] (7). Die Bouguets und Filme werden nun in die Datenbank von Muuta geschrieben. Der Fortschritt der Indexierung wird in einen neuen Tab angezeigt. Aktualisiert nach dem indexen die Seite von Muuta. Die entsprechenden Bouguets (TV Services und Radio Services) werden nun angezeigt.

Das starten eines Streams ist denkbar einfach. Öffnet das gewünschte Bouguet und klickt auf den TV Sender eurer Wahl (8).
Im Fenster das erscheint, müsst ihr nun das Profil der Transcodierung wählen (9).
Nach einigen Sekunden könnt ihr den Stream geniessen.

Ambox notice.png Die Dreambox muss immer [neu indexiert] werden, wenn neue Bouguets oder Filme dazukommen.


Zurück zum Inhaltsverzeichnis:


Weitere Möglichkeiten mit Muuta

Medianodes

Medianodes bietet die Möglichkeit, lokale Verzeichnisse für Filme oder Musik einzubinden. Neue Einträge fügt ihr mit [add Medianode] ein.
Gebt einen Namen für den den Medienknoten ein und den Pfad zu den Film- oder Musikdateien. Achtet bei der Pfadeingabe auf den korrekten Syntax (c:\music\ oder /home/user/music/).

Nach der Erstellung, müsst ihr noch den Dateityp für das Streamen definieren. Dateitypen könnt ihr mit [add Extension] hinzufügen (z.B. mp3, avi, mpg). [Indexiert] nach Erstellung den Medienknoten.


Feeds

Mit [add Feed] fügt ihr neue Internet Feeds ein. Eingeben könnt ihr eine URL oder einen RSS-Feed.
Weiters, könnt ihr die entsprechenden Feeds nach einer bestimmten Zeit aktualisieren lassen.

Beispiele zum Testen

http://feeds.sf.tv/podcast/einstein
http://www.nasa.gov/rss/hubble_vodcast.rss
http://kabeleins-abenteuer-auto.feedplace.de/rss


Streams

Unter Streams könnt ihr Musik- und Filmdateien aus dem Internet einbinden. Erstellt zuerst einen, oder mehrere Stream Ordner, danach die einzelnen Streams. Die einzelnen Streams müssen einem Stream Ordner zugewiesen werden.

Beispiele zum Testen

http://mp3.radiox.ch/standard.mp3
http://video.pcgames.de/stream/cuclaunchtrailer.flv


Admin

Mit dem Modul, wird das Backend von Muuta verwaltet.
Ihr könnt z.B. neue Benutzer und Gruppen hinzufügen oder löschen und deren Berechtigungen bestimmen. Und vieles mehr ;)


Zurück zum Inhaltsverzeichnis:


Einstellung der Profile für FFmpeg

Fig. Profil Einstellungen FFmpeg

Unter dem Link Profiles, befinden sich die einzelnen Kodieroptionen für das Streamen mittels FFmpeg. Standardmässig sind 3 Stück vordefiniert.
Das Profil für das Streamen übers Internet, muss natürlich eurem Upload angepasst werden. Folgende Zeile, zeigt ein Beispiel für die Flash 1 Mbit/s Option.

-f flv -aspect 16:9 -ab 128kb -b 1000kb -r 15 -acodec libmp3lame -ar 44100 -ac 2 -s 640x360

Profile könnt ihr beliebig hinzufügen, oder editieren. Versucht am Anfang, das beste Resultat mit dem Ändern der Bitrate (z.B 1000kb) oder der Auflösung (640x360) zu erreichen. Teilt eure Erfahrungen im Supportthread von Muuta Streaming Server.


Erläuterung der Profileinstellungen

Kurze Syntax Beschreibung des Profils Flash 1 Mbit/s. Weitere Informationen über die FFmpeg Einstellungen finden sich hier, oder beim Klicken auf den Link FFmpeg Help.

-f flv
Erzwingt das Format des Streams. In unserem Fall ist es flv.

-aspect 16:9
Einstellung des Seitenverhältnisses, in diesem Fall 16:9.
Mögliche Eingaben für FFmpeg, 4:3, 16:9 oder 1.3333, 1.7777.

-ab 128kb
Definiert die Audio Bitrate in kbit/s.

-b 1000kb
Definiert die Video Bitrate in kbit/s.

-r 15
Bestimmt die Bildfrequenz (Bilder pro Sekunde).

-acodec libmp3lame
Erzwingen des Audiocodec für den Streams, im Profil wird die libmp3lame benutzt.

-ar 44100
Definiert die Audio Samplerate.
Die Samplerate 44100 Hz entspricht einer Audio-CD.

-ac 2
Gibt die Anzahl der Audiokanäle an. 2 ist Stereo, 1 wäre mono.

-s 640x360
Bestimmt die Auflösung des Streams.


Zurück zum Inhaltsverzeichnis:


Router für den externen Zugriff konfigurieren

Fig. Portweiterleitung zu Muuta

Für den Zugriff auf Muuta im Heimnetzwerk müssen zwei Bedingungen erfüllt sein.

  • Das Heimnetzwerk ist via Wan IP-Adresse oder Hostname (z.B. DynDNS Adresse) erreichbar.
  • Portweiterleitung ist auf den Muuta Streaming Server eingerichtet.

Das Einrichten einer DynDNS Adresse wird in diesem Beitrag nicht behandelt. Detaillierte Informationen findet ihr im Wiki Artikel Remotezugriff auf das Webif erstellen. Die Portweiterleitung muss aber, je nach Router Modell wie in Fig. Portweiterleitung zu Muuta eingerichtet sein.

Das Bild zeigt ein Beispiel der Weiterleitung, auf einem dd-wrt basierenden Router.
Im Beispiel werden externe Zugriffe auf Port 10999, intern auf den Rechner (mit IP 192.168.11.100) weitergeleitet mit dem Port 10999.


Zurück zum Inhaltsverzeichnis:


Externer Zugriff auf Muuta herstellen

Fig. Externer Zugriff

Der externe Zugriff ist einfach. Im Webbrowser erreicht ihr Muuta mit folgendem Syntax.

https://eure.dyndns.adresse:10999

Bestätigt wieder das Zertifikat der unsicheren Verbindung und loggt euch mit euren Benutzerdaten ein.

Geschafft, viel Spass beim Streamen =)


Zurück zum Inhaltsverzeichnis:


Die Konfigurationsdatei von Muuta Streaming Server

 <?xml version="1.0" encoding="utf-8"?>
 <muuta>
       	<system>
		<config name="bind_adress" type="string">0.0.0.0</config>
		<config name="bind_port" type="int">10999</config>
		<config name="use_auth" type="boolean">true</config>
		<config name="use_ssl" type="boolean">true</config>
		<config name="path_ffmpeg" type="string">/usr/bin/ffmpeg</config>
	</system>
 </muuta>

Dieser Abschnitt zeigt euch ein paar Konfigurationsmöglichkeiten von Muuta Streaming Server.
Änderungen macht ihr in der Datei config.xml im Muuta Verzeichnis.

Die Erklärungen findet ihr im Anschluss. Ändert die Einträge, die nicht fett markiert sind ;)
Muuta muss bei Änderungen neu gestartet werden.


<config name="bind_adress" type="string">0.0.0.0</config>
Definiert den Netzwerkadapter auf den Muuta lauscht. Die Einstellung ist interessant, wenn mehrere Netzwerkkarten im Computer verbaut sind. Ist eine IP Adresse eingestellt, ist der Zugriff auf Muuta nur über den entsprechenden Netzwerkadapter möglich. Gebt ihr localhost oder 127.0.0.1 ein, dann ist der Zugriff nur am lokalen Rechner möglich. Standardeinstellung ist 0.0.0.0, somit werden Anfragen über alle Netzwerkadapter zugelassen.


<config name="bind_port" type="int">10999</config>
Auf diese Portnummer lauscht Muuta, wenn mit dem Browser zugegriffen wird. Ihr könnt den Port beliebig anpassen, bei Bedarf.
Bedenkt aber, dass ihr je nach Einstellung, den Port in der Adresszeile des Browsers eingeben müsst. Nutzt ihr z.B. Port 12345, dann ist der lokale Zugriff auf Muuta wie folgt.

https://localhost:12345

Über eine DynDNS Adresse ist der Zugriff:

https://eure.dyndns.adresse:12345


<config name="use_auth" type="boolean">true</config>
Die Einstellung beeinflusst die Benutzer- / Passwortabfrage beim Einloggen auf Muuta. Bei true ist eine Anmeldung nötig, bei false nicht.
Die Einstellung false ist im Moment nicht aktiv, wer will schon ohne Benutzer- / Passwortabfrage auf Muuta zugreifen =)


<config name="use_ssl" type="boolean">true</config>
Ist die Einstellung auf true gesetzt (Standardeinstellung), dann ist die Kommunikation zwischen Browser und Muuta verschlüsselt (https).
Bei false erfolgt der Zugriff, über das normale http Protokoll, ohne Verschlüsselung.


<config name="path_ffmpeg" type="string">/usr/bin/ffmpeg</config>
Die Pfadeinstellung muss auf FFmpeg verweisen, damit das Streamen funktioniert. Unter Windows ist keine Einstellung nötig, FFmpeg befindet sich im Installationsverzeichnis von Muuta. Die Standardeinstellung ist ffmpeg.exe.
Nur unter Linux oder Mac OS, muss (vielleicht) die Pfadangabe kontrolliert / angepasst werden.

Bei falscher Pfadangabe, erscheinen keine Informationen (über FFmpeg) im Webinterface von Muuta.


Zurück zum Inhaltsverzeichnis:


Tipps und Tricks

Single Tuner Boxen

Lasst die Box (z.B. DM 800) im Standby, damit der Tuner nicht belegt ist.
Somit kommt ihr in den vollen Genuss des Streamens.


Audio Track ändern

Die Audio Spur (sofern vorhanden) verändert ihr mit der Option -map in den FFmpeg Profilen.
Dazu müsst ihr beim Starten des Streams, die FFmpeg Ausgabe beobachten.

Folgendes, gekürztes Beispiel stammt von einem sky Sender, auf einer DM8000.

 Stream #0.0[0x1ff]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 15000 kb/s, 25 tbr, 90k tbn, 50 tbc
 Stream #0.1[0x200](deu): Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
 Stream #0.2[0x201](eng): Audio: mp2, 48000 Hz, stereo, s16, 192 kb/s
 Stream #0.3[0x203](deu): Audio: ac3, 48000 Hz, stereo, s16, 384 kb/s

Im obigen Beispiel, schnappt sich FFmpeg den 0.0 Video Stream und den ersten, verfügbaren Audio Track.
In diesem Fall ist der Audio Track deutsch, mit der Kennung 0.1.
Soll nun der zweite Audio Track 0.2 für englisch verwendet werden, müsst ihr das FFmpeg Profil wie folgt anpassen.

-f flv -aspect 16:9 -ab 128kb -b 500kb -r 15 -acodec libmp3lame -ar 44100 -ac 2 -s 320x180 -map 0:0 -map 0:2

Somit wird das Video mit der Kennung 0.0 und der Audio Track mit 0.2 abgespielt.
Die Kennung ist je nach Sender verschieden. Am besten testet ihr Zuhause und legt verschiedene Profile an.


Zurück zum Inhaltsverzeichnis:


Der Supportthread von Muuta Streaming Server


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