ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

stream2ip

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

./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. Ab Version 1.0 läuft das Programm unter Python3. Für den Betrieb unter Python2 (Lucid) sollte man deshalb auf eine ältere Programmversion zurückgreifen.

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

Adresszeile zum Hinzufügen des PPAs:

  • ppa:takkat-nebuk/takkat

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen bietet die Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung vom Benutzer/Team takkat-nebuk.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Das Programm wird in "Anwendungen -> Unterhaltungsmedien" eingerichtet. Alternativ können Debian Pakete von der Projektseite geladen werden. Den Quellcode entpackt man in ein beliebiges Verzeichnis und startet die Programmdatei stream2ip.py direkt von dort [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 mit apturl

Paketliste zum Kopieren:

sudo apt-get install pulseaudio-module-raop 

sudo aptitude install pulseaudio-module-raop 

  • icecast2

  • darkice

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install icecast2 darkice 

sudo aptitude install icecast2 darkice 

  • ushare

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install ushare 

sudo aptitude install ushare 

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

Hinweis:

Der Setup-Button kann nur deaktiviert werden, wenn das Setup-Programm s2ip_setup.py manuell mit der Option -admin gestartet wurde.

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.mp3 eingegeben.
"None"-Es ist noch keine Streaming-Methode ausgewählt.
"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 "None" 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:

python3 s2ip_setup.py 

Upgrade von Version 0.x.x auf 1.0.x

  • Nach dem Upgrade ist das Verzeichnis für die Konfigurationsdateien nicht mehr unter ~/.stream2ip sondern unter ~/.config/stream2ip. Alle Konfigurationsdateien müssen nach dort kopiert werden, wenn die alten Einstellungen erhalten bleiben sollen.

Einschränkungen

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

  • stream2ip-Projektseite auf Launchpad {en}

  • uShare-Projektseite {en}

  • Icecast-Projektseite {en}

  • Diskussion/Support hier im Forum

ubuntuusers.local › Wikistream2ip