ubuntuusers.de

ubuntuusers.deWikistream2ip

stream2ip

./stream2ip.png

Stream2ip {en} ist eine graphische Benutzeroberfläche, um Netzwerk-Geräte als Audio-Ausgabegeräte im LAN/WLAN einzurichten. Nach erfolgreicher Installation kann man mit nur einem Mausklick eine Verbindung mit einem der unterstützten Verfahren herstellen:

  • Audioausgabe als Internetradio-Stream mit Icecast2[6]

  • Audio/Video-Datenübertragung mittels UPnP über uShare[7]

  • PulseAudio-RAOP-streams zu einer Apple AirPort Express® (AirTunes®)[5]

  • PulseAudio-A2DP-streams an Bluetooth®-Geräte

  • Einrichten einer RTP/Multicast-Verbindung von PulseAudio

Das Programm liegt im Python-Quellcode vor und läuft nativ im Python-Interpreter. Eine Kompilierung ist deshalb nicht notwendig. Stream2ip kann somit unabhängig von der jeweiligen Architektur betrieben werden.

Voraussetzungen

Die Geräte und die Streaming-Methode, über die die Audioausgabe erfolgen soll, sind korrekt eingerichtet und funktionsfähig. Es müssen nicht alle der unten näher aufgeführten Pakete installiert sein. Stream2ip überprüft, ob die jeweils notwendigen Pakete installiert sind und schlägt gegebenenfalls Pakete zur Nachinstallation vor. Stream2ip wurde unter den gängigen Desktop-Umgebungen GNOME, KDE, Xfce und LXDE getestet. Ohne vollständig eingerichtetem PulseAudio sind aber nicht alle Optionen verfügbar.

Installation

Beim Launchpad-Projekt stream2ip werden DEB-Pakete angeboten. Die unterstützten Ubuntuversionen und Architekturen werden aufgelistet. Nachdem man sie für die korrekte Ubuntuversion und Architektur geladen hat, müssen DEB-Pakete noch installiert werden.

Hinweis!

Fremdpakete können das System gefährden.

Das Programm wird in "Anwendungen -> Unterhaltungsmedien" eingerichtet. Alternativ kann man sich auch den Quellcode in ein beliebiges Verzeichnis entpacken und die Programmdatei stream2ip.py direkt von dort starten [3].

Für die jeweilige Streaming-Methode können optional folgende Pakete zusätzlich installiert [1][2] werden:

Optionale Pakete
RAOP-Streams Internet-Radio UPnP
  • pulseaudio-module-raop

Wiki/Vorlagen/Installbutton/button.png

  • icecast2

  • darkice

Wiki/Vorlagen/Installbutton/button.png

  • ushare

Wiki/Vorlagen/Installbutton/button.png

Einrichtung

Vor dem Betrieb muss man noch die vorhandenen Streaming-Methoden einrichten. Das Setup-Programm wird aus stream2ip gestartet oder kann auch separat ausgeführt werden (s2ip_setup.py). Dadurch können Einstellungen auch dann vorgenommen werden, wenn das Hauptprogramm nicht richtig startet oder eine automatische Verbindung unerwünscht ist. Ein Wechsel des Ausgabegerätes kann auch bei laufendem Audio-Player erfolgen.

Das jeweilige Gerät wählt man aus der Dropdownliste aus und gibt die passende Einstellung (z.B. IP bzw. MAC oder ein Pfad) ein. Diese Einstellungen werden mit "Ok" gespeichert. Das zuletzt eingestellte Gerät wird beim Start von stream2ip standardmäßig geladen. setup.png

Start/Ende-Optionen
"Einstellungen sichern"Geänderte Einstellungen werden beim Programmende gesichert
"Automatisch verbinden"Beim Programmstart wird automatisch mit dem zuletzt eingerichteten Gerät verbunden
"Bei Verbindung minimieren"Bei erfolgreicher Verbindung wird das Programm automatisch minimiert
"Vor Programmende trennen"Eine Verbindung wird beim Programmende wieder getrennt
"Setup nicht anzeigen"Der Setup-Button wird im Hauptmenü abgeschaltet
"Autostart nach login"Stream2ip wird zu den Startprogrammen hinzugefügt
"Intervall zur Überprüfung..."Zeit (Sekunden) zur Geräteüberprüfung und Metatag-Aktualisierung (0 für keine)
"Media Player für Tags"Auswahl eines unterstützten Audio-Players für Metatag-Informationen

Achtung!

Wenn der Setup-Button deaktiviert wurde, muss das Setup-Programm s2ip_setup.py manuell gestartet werden.

Geräte und Einstellungen
Gerät Formatbeispiel Anmerkungen
"AirPort Express[5]"192.168.178.28:5000IP:Port der AEX. Nach dem Einschalten benötigt die AEX etwa 1 Minute, bis ihre IP im Netz sichtbar wird. Audioausgabe erfolgt mit einer Verzögerung von 3 bis 6 Sekunden. Näheres siehe auch in PulseAudio/AirTunes.
"Bluetooth[5]""Auto"Ein Bluetooth-Audio-Gerät wird automatisch erkannt. Soll nur ein bestimmtes Gerät erkannt werden gibt man hier die MAC ein. Das Bluetooth-Protokoll muss man zuerst in PulseAudio korrekt installieren PulseAudio. Wird ein Suchintervall größer 0 eingegeben, wird die Verbindung automatisch hergestellt, sobald das Gerät eingeschaltet wird.
"UPnP-Gerät""/home/<user>/musik/"Pfad zum über UPnP freigegebenen Verzeichnis. Es wird dabei auf uShare zurückgegriffen, das eine Vielzahl von Medienformaten übertragen kann. Mehrere Verzeichnispfade werden durch ein Leerzeichen getrennt.
"RTP/Multicast[5]"-PulseAudio RTP/Multicast-streaming Modul wird eingeschaltet. Auf dem Zielrechner muss der "Multicast/RTP-Empfänger" mit paprefs aktiviert werden.
"Internet Radio[6]""live"Ein eingerichteter Icecast2-Server kann über stream2ip zum Live-Streaming der Audioausgabe an das Intra- bzw. Internet eingerichtet werden. Bei Eingabe von "live" oder "local" wird Darkice gestartet. Alternativ kann man hier auch den Pfad zu Konfigurationsdateien für Ices oder Ices2 eingeben. Am Empfänger wird http://serverIP:8000/stream2ip.m3u eingegeben.
"other"BefehlSkripte oder Systembefehle werden gestartet[4]. Bei langer Ausgabe sollte man die Standardausgabe in eine Datei umleiten.
"Nach erfolgreicher Verbindung starten:""Befehl"Systembefehl, Skript oder Programm, das nach einer erfolgreichen Verbindung aufgerufen werden soll. Hier kann man zum Beispiel seinen Musik-Player starten.

Betrieb

screenshot.png Beim ersten Programmstart bietet das Programm nur die Betriebsart "other" an. Erst wenn im Setup Programm die gewünschte Streaming-Methode richtig eingerichtet wurde, kann eine Verbindung hergestellt werden. Das Datenfeld kann während des Betriebs auch ohne Setup-Programm geändert werden. Die geänderten Daten werden beim Programmende in der Konfigurationsdatei gesichert und beim nächsten Programmstart automatisch geladen.

Achtung!

Das Programm überprüft nicht, ob unter der angegeben IP/MAC auch ein für die Ausgabe geeignetes Gerät erreicht wurde. Bitte deshalb die Eingaben sorgfältig überprüfen.

Sobald das Programm ein betriebsbereites Gerät findet, wird das Audio-Gerät zur Ausgabe ausgewählt, bzw. eine Dateifreigabe über UPnP zum angegeben Pfad eingerichtet. Der Audioausgabe sollte jetzt nichts mehr im Weg stehen. Das Programm wird in die Bedienleiste minimiert und im Benachrichtigungsfeld leuchtet ein Statussymbol. In der Statuszeile des Programmfensters wird ein eventuell geladenes Modul angezeigt.

Falls eine automatische Verbindung mit dem lokalen Ausgabegerät nicht hergestellt wird, muss eventuell noch in der Datei /etc/pulse/default.pa die folgende Zeile abgeändert werden (nicht nötig für Internet Radio oder UPnP):

load-module module-stream-restore restore_device=false

Mit linke Maustaste auf das Statussymbol kann man das Programmfenster öffnen und man hat die Möglichkeit, die Verbindung zu "Trennen" oder den PulseAudio-Server mit "Reset" zurückzusetzen, falls die Verbindung aus irgendwelchen Gründen nicht stabil ist. Beim "Beenden" des Programms wird in der Standardeinstellung automatisch die Verbindung getrennt und wieder die Standard-Audioausgabe eingestellt. Beim Klick auf "Einstellungen" lädt das Setup Programm. Mit "Hilfe" wird eine englischsprachige Dokumentation im Internet-Browser geöffnet.

Manuelles Starten des Setup-Programms

Falls versehentlich der Setup-Button deaktiviert wurde, oder wenn fehlerhafte Einstellungen den Start von stream2ip behindern, muss das Setup-Programm s2ip_setup manuell gestartet werden. Wenn das Programm über das DEB-Paket installiert wurde, kann man das Programm direkt im Terminal[4] aufrufen. Ansonsten wechselt man in einem Terminal in das Installationsverzeichnis und gibt Folgendes ein:

python s2ip_setup.py 

Einschränkungen

  • Stream2ip überprüft nicht, ob das eingerichtete Gerät auch ein gültiges Ausgabegerät ist.

Diese Revision wurde am 14. April 2012 13:20 von Takkat erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Netzwerk, Internetradio

Passwort vergessen?