Streamtuner2

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


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Pakete installieren

  2. ⚓︎ Programme starten

  3. ⚓︎ Ein einzelnes Paket installieren

  4. ⚓︎ Ein Terminal öffnen

Inhaltsverzeichnis
  1. Installation
    1. Fremdpaket
    2. Python-Paket ohne Installation
  2. Konfiguration
  3. Bedienung
    1. Plugins
    2. Oberfläche (Skins, Themen)
    3. CLI (Command Line Interface)
    4. Weitere Sender hinzufügen
  4. Tastenkürzel
  5. Problembehebung
    1. RadioTray erweitern
  6. Links

./Streamtuner2/streamtuner2 2.2.0-logo.png Streamtuner2 🇬🇧 ist ein von milki in Python verfasstes Programm zur Wiedergabe und Aufzeichnung von Internetradio. Namenspate ist das Programm Streamtuner, das nicht mehr weiterentwickelt bzw. gepflegt wird. Mit Streamtuner2 kann auf eine Vielzahl verschiedener Anbieter und Portale zugegriffen werden:

Außerdem gibt es zahlreiche Plugins (listenlive, reddit, magnatune, delicast, etc), mit denen das Programm erweitert werden kann. Zur Audio-Aufnahme greift Streamtuner2 auf Streamripper zurück. Auch die Wiedergabe von Internet-TV-Programmen ist möglich. Das Programm kann auch ohne grafische Oberfläche auf der Kommandozeile verwendet werden.

Alternativen sind Programme wie TunaPie oder das Rhythmbox SHOUTcast Plugin. Eine kleine Liste ist im Artikel Internetradio aufzeichnen zu finden. Zusätzlich gibt es noch eine Liste mit Empfehlungen im projekteigenen Wiki 🇬🇧.

Installation

Die Anwendung liegt in den offiziellen Paketquellen vor und kann über die folgenden Pakete installiert [1] werden:

Befehl zum Installieren der Pakete:

sudo apt-get install streamtuner2 streamripper 

Oder mit apturl installieren, Link: apt://streamtuner2,streamripper

Optional sind verschiedene Abspielprogramme (AudioPlayer, siehe Konfiguration).

Es erscheint danach bei Ubuntu-Varianten mit einem Anwendungsmenü unter "Multimedia → streamtuner2". Ansonsten kann es mit dem Befehl streamtuner2 gestartet werden [2].

Fremdpaket

Die aktuelle Version kann als .deb-Paket 🇬🇧 ⮷ heruntergeladen und manuell installiert [3] werden, das funktioniert allerdings unter 20.04 nicht, weil als Abhängigkeit u.a. python-pyquery verlangt wird, in den Quellen allerdings "nur" python3-pyquery gibt, und die Installation somit scheitert.

Hinweis!

Fremdpakete können das System gefährden.

Python-Paket ohne Installation

Seit der Version 2.1.5 ist das Programm auch ganz ohne Installation nutzbar. Python erlaubt sogenannte .pyz-Pakete. Das sind schlichtweg ZIP-Dateien, die den Quellcode einbetten. Ideal zum Testen oder für parallele Installation. Man kann sie direkt vom Terminal aus starten:

python streamtuner2.pyz 

Alternativ lässt sich die Datei auch ausführbar machen (chmod +x) und in z.B. ~/bin/ speichern (dann auch ohne den Dateityp .pyz anzugeben).

Hinweis!

Fremdpakete können das System gefährden.

./st2 2.2.0 config.png

Konfiguration

Beim ersten Start öffnet sich ein Konfigurationsfenster (ansonsten F12 ), in dem Einstellungen angepasst werden können. Auf der Registerkarte "Player" lassen sich für verschiedenen Übertragungsformate geeignete Abspielprogramme für Audio- und Video-Daten getrennt festlegen. Inzwischen wird beim ersten Start automatisch nach verfügbaren Playern gesucht. Gedacht ist die Einstellung natürlich um sein Lieblingsprogramm festzulegen. (Wenn das eingegebene Programm gefunden wurde, wird vor dessen Namen ein "Play"-Symbol angezeigt, anderenfalls das "Stop"-Icon.). Es eignen sich zum Beispiel:

Einen Platzhalter wie %m3u oder %pls kann man optional angeben. Das legt nur den Typ der übergebenen Abspiel-Liste ("playlist") fest. Und der ist mittlerweile weniger relevant, da die meisten Programme sowieso alle Varianten unterstützen. Für ganz moderne Player eignet sich das kryptische %xspf als Platzhalter, wodurch mehr Radio-Informationen mitgeliefert werden.

Außerdem kann der gewünschte Webbrowser für das Anzeigen von Sender-Homepages konfiguriert werden.

Im Abschnitt "Recording applications" wird definiert, welche Programme für das Aufnehmen von Streams verwendet werden. Der De-facto-Standard für Audiostreams ist Streamripper, welches in verschiedenen Linux-Distributionen bereits vorinstalliert ist. Hier muss auch der Pfad angegeben werden, in dem die Aufnahmen gespeichert werden sollen. Der Aufnahmepfad muss absolut sein und mit dem Parameter -d angegeben werden, z.B. -d /home/<Benutzername>/Musik.

Auf der Registerkarte "Options" sind verschiedene Einstellungen zusammengefasst, die für das Programm Streamtuner2 allgemein gelten. Unter "Display" werden die Anzeigeoptionen für das Hauptfenster oder Darstellungsvarianten für die Radioliste festgelegt, unter "System" kann bei Bedarf das Debugging zur Fehlersuche aktiviert werden. Die Verzeichnisse für temporäre Dateien sowie die Konfigurationsdateien werden lediglich angezeigt. Sie können nicht geändert werden.

Die Registerkarten "Channels" und "Features" enthalten Einstellungen für die verschiedenen Streamtuner2-Plugins. Zu allen Einstellungen erscheinen Tooltips, wenn man mit der Maus über den entsprechenden Einträgen verweilt. (siehe Plugins).

Hinter der Registerkarte "Add" verbirgt sich der "Plugin Manager II", mit dem sich optionale Plugins über das Internet installieren oder Aktualisierungen für bereits installierte Plugins herunterladen lassen.

Bedienung

./Streamtuner2 2.2.0-main.png Die Bedienung ist denkbar einfach: Im Hauptfenster zum gewünschten Sender navigieren und diesen anklicken. Es öffnet sich der eingestellte Player mit dem Sender. Aufnahmen erfolgen über die Aufnahme-Taste oben im Hauptfenster. Die Titel werden im angegebenen Verzeichnis – in Abhängigkeit von der Quelle – als MP3- oder OGG-Datei gespeichert.

Bevorzugte Sender lassen sich als "Bookmarks" speichern, um sie schnell wieder finden zu können. Dazu wird der Sender über "Station → Add bookmark" (oder F8 ) ausgewählt.

Um Streamtuner2 mit einem Proxy-Server zu verwenden, muss das Programm mit der Umgebungsvariable http_proxy=... (bitte anpassen) gestartet werden. Beispiel [4]:

/usr/bin/env HTTP_PROXY="http://127.0.0.1:8118" && streamtuner2 

Plugins

./st2 2.2.0 plugins.png Plugins gibt es für zusätzliche Channels sowie allgemeine Funktionserweiterungen von Streamtuner2.

Hier eine Auswahl:

Neue Funktions- oder Channel-Plugins können über den "User Plugin Manager II" (Registerkarte "Add" im "Eigenschaften"-Dialog) heruntergeladen werden. Es handelt sich um einfache Python-Skripte (*.py). Mit Root-Rechten [4] können sie in den Ordner /usr/share/streamtuner2/channels/ kopiert werden.

Oberfläche (Skins, Themen)

Streamtuner2 verwendet das Gimp Toolkit (Gtk+) zur Darstellung seiner Benutzeroberfläche. Damit kann seine Oberfläche durch die Zuordnung eines anderen Gtk-Themas prinzipiell verändert werden.

Es stehen hierfür zwei neue Plugins zur Verfügung: "Gtk2 theme installer" und "Gtk theme setting". Mit dem "Theme Installer"-plugin können Gtk2-Designs heruntergeladen werden, die speziell für Streamtuner2 angepasst wurden. Sie werden nach Aktivierung des Plugins in einem zusätzlichen Register in den Bookmarks angezeigt.

Mit dem "Theme Setting"-Plugin kann zwischen den auf dem System vorgefundenen Gtk-Desogns gewechselt werden. Hierbei ist jedoch zu beachten, dass nicht jedes beliebige Gtk-Thema verwendet werden kann. Im schlimmsten Fall hängt Streamtuner2 nach der Aktivierung eines Themas.

CLI (Command Line Interface)

Als zusätzliches Feature kann Streamtuner2 auch aus einem Terminal [4] heraus bedient werden. Einige grundlegende Funktionen stehen als Befehle zur Verfügung. Allerdings muss das Programm zunächst einmal in der graphischen Variante gestartet worden sein, weil andernfalls keine Radio-Daten zur Verwendung vorliegen. Mit

streamtuner2 play "top 100" 

kann man die erstbeste Radiostation starten, die im Titel top 100 enthält. Mit

streamtuner2 url "frequence3" 

wird hingegen nur die URL ausgegeben und nicht der vorkonfigurierte Audioplayer gestartet.

Zur Verwendung aus anderen Programmen heraus sind die Optionen dump und stream gedacht. Es ist auch möglich, frische Radiodaten im JSON-Format ausgeben zu lassen. Hierfür gibt es den Befehl:

streamtuner2 category "shoutcast" "Kategorie" 

Weitere Sender hinzufügen

Um weitere Sender hinzuzufügen, muss derzeit noch ein "Umweg" beschritten werden: Man erstellt einen Favoriten, kopiert diesen Eintrag, fügt ihn ein und editiert ihn entsprechend. Ein weiterer Weg besteht darin, auf myoggradio 🇩🇪 einen Eintrag vorzunehmen, der dann über Streamtuner2 abgespielt werden kann.

Tastenkürzel

Streamtuner2
TastenFunktion
F8 bookmark (Lesezeichen setzen)
Strg + S Speichern unter
Alt + Bearbeiten
Strg + Q Beenden
Strg + C Kopieren
Strg + X Löschen
Strg + F Suchen
F12 Eigenschaften
F5 Reload (neu laden)

Problembehebung

RadioTray erweitern

Spannend ist die Erweiterung für Radio Tray, mit der man einfach neue Bookmarks und Favoriten aus Streamtuner2 nach RadioTray kopieren kann. Es gibt dafür einen neuen Eintrag im Kontextmenü rechte Maustaste "Keep in RadioTray". Für die volle Funktionalität muss man allerdings selber nachhelfen (siehe auch Original-Anleitung 🇬🇧), weil RadioTray derzeit Wartungspause hat.

Ausreichend ist die Anpassung der Datei von RadioTray /usr/share/pyshared/radiotray/DbusFacade.py. Dafür benötigt man Root-Rechte und verwendet am besten einen Terminal-Editor. Die notwendige Ergänzung ist folgende:

    @dbus.service.method('net.sourceforge.radiotray')
    def addRadio(self, title, url, group="root"):
        self.dataProvider.addRadio(title, url, group)

Diesen Python-Quellcode kann man beliebig zu den anderen Einträgen wie def playRadio einfügen. Wichtig ist es hier, auf die richtige Anzahl von Leerzeichen (Einrückung) zu achten: In der Regel vier ab Zeilenanfang. Der eingefügte Code muss zwingend genauso ausgerichtet sein wie der bestehende.