ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Internetradio aufzeichnen

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:

./record-internet-radio.png

In Zeiten des Internetradios ersetzt der Computer den Kassettenrekorder. Radiosendungen und Musikstreams aufzuzeichnen ist eine legale Form, die eigene Musiksammlung zu erweitern. Neben Streamripper und Streamtuner leistet (vor allem für Windows-Streams) auch der MPlayer gute Dienste.

Streamripper

Streamripper 🇬🇧 ist ein kleines Konsolenwerkzeug, mit dem man Streams, wie z. B. über SHOUTcast 🇬🇧 oder LastFM, aufnehmen und direkt als MP3 oder OGG (je nach Stream) auf der Festplatte speichern kann. Die Lieder werden automatisch nach dem Interpreten benannt und einzeln abgespeichert.

Installation

Streamripper kann über das folgende Paket installiert [1] werden:

  • streamripper (universe, [2])

Befehl zum Installieren der Pakete:

sudo apt-get install streamripper 

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

Das Programm kann im Terminal [3] mit dem Befehl "streamripper" ausgeführt werden. Gibt man keine weiteren Parameter ein, erhält man eine Liste der Funktionen.

Aus dem Programm Streamtuner kann man auch direkt mit einem Mausklick die Aufnahme mit dem Streamripper starten. Mit dem Programm kstreamripper 🇬🇧 gibt es ein weiteres grafisches (KDE-)Frontend für Streamripper. Dieses ist allerdings auch unter GNOME und jedem anderen Fenstermanager lauffähig. Es lässt sich über das Paket

  • kstreamripper (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install kstreamripper 

Oder mit apturl installieren, Link: apt://kstreamripper

installieren [1].

Verwendung

Der Aufruf im Terminal [3] muss dazu mit Parametern versehen werden:

streamripper [URL] [-d [Pfad wo die Dateien gespeichert werden sollen]] [-p http://proxyip:port [falls ein Proxy verwendet werden soll]] [-l [Dauer der Aufnahme in Sekunden]] 

Optionen
-d <dir> Ort, an dem die Aufnahme gespeichert wird
-l <seconds> Dauer der Aufnahme in Sekunden
-q Nummeriert die einzelnen Dateien mit Präfix 001 bis 999
-a Speichert den Stream zusätzlich am Stück in einer Datei und erstellt .cue Datei
-A Verhindert das erstellen der kleinen Dateien, funktioniert nur mit -a
-1 Schreibt keine ID3V1 Tags

Siehe auch Streamripper-Readme 🇬🇧

Zeitgesteuerte Aufnahmen

Eine einfache Möglichkeit, um Internetradio zeitgesteuert aufzunehmen, ist das Plugin "record-station" für den Musik-Player Rhythmbox. Weitere Informationen gibt es im Artikel Rhythmbox unter Record Station.

Eine weitere Möglichkeit für Konsolenanhänger ist der Aufruf von Streamripper über Cron. Elegant geht das über ein Skript; hier ein Beispiel:

streamripper [URL] [-d [Pfad wo die Dateien gespeichert werden sollen]] [-l [Dauer der Aufnahme in Sekunden]]> /dev/null 2>&1 

Achtung!

Cron-Jobs senden ihren Output zu "mail". Da bei Ubuntu "mailx" standardmäßig nicht installiert ist, führt der Aufruf von Streamripper über cron nach ca. 5-6 Minuten zu einem Absturz. Abhilfe schafft das Installieren des Paketes mailx oder das Anfügen von > /dev/null 2>&1 in derselben Zeile im Skript.

Weniger elegant, aber einfach lässt sich die Startzeit im Terminal mit dem Befehl "at" festlegen. Nach Eingabe der Startzeit gibt at eine Warnung aus, worauf der eigentliche Befehl, in diesem Fall "streamripper" mit der gewünschten Stream-Adresse (URL) und Aufnahmelänge, eingegeben wird. Mit der Tastenkombination Strg + D wird die Befehlszeile abgeschlossen. Beispiel:

at 20:10
warning: commands will be executed using /bin/sh
at> streamripper http://dradio-ogg.t-bn.de/dkultur_high.ogg -l 3600
at> <EOT>
job 1 at Tue Dec  1 20:10:00 2009 

Um 20:10 Uhr wird "streamripper" gestartet und zeichnet 3600 Sekunden lang den Stream von Deutschlandradio Kultur auf. Auch komplexere Zeitangaben sind mit Hilfe des Linux-User Artikels Cron, At - Punktlandung 🇩🇪 möglich.

Alternativ bietet sich das Programm "Scheduled tasks" an, mit dem sich Systembefehle - und damit auch Streamripper - zeitgesteuert starten lassen. Auch wiederkehrende Ereignisse nach Kriterien wie z.B Tag, Woche oder Monat sind möglich. Installation:

  • gnome-schedule (universe, [2])

Befehl zum Installieren der Pakete:

sudo apt-get install gnome-schedule 

Oder mit apturl installieren, Link: apt://gnome-schedule

Ein Problem ist das als Resultat der Aufnahme eine Datei mit dem Namen "-.mp3" entsteht. Dies kann man mit einem Skript verhindern mit dem die Aufnahme nach ihrem Ende mit dem aktuellen Zeitstempel als Dateinamen versehen wird.

1
2
3
4
5
6
7
8
#!/bin/bash
# Skript zum Speichern eines Radio mp3-Streams
# Wichtig! Ausfuehrbarmachen nicht vergessen! (chmod u+x)
DATUM=`date +%Y-%m-%d_%RUhr`
streamripper Streamadresse -D ~/radiorips -l 3300 &&
mv ~/radiorips/incomplete/*mp3 ~/radiorips/$DATUM.mp3 &&
rmdir ~/radiorips/incomplete/ &&
sudo shutdown -h +1

In diesem Beispiel wird die Aufnahme im Verzeichnis ~/radiorips/incomplete aufgezeichnet. Nach Abschluss der Aufnahme wird die Datei umbenannt in Zeitstempel.mp3 und im Verzeichnis ~/radiorips abgelegt. Anschließend wird der Ordner incomplete gelöscht und der Rechner heruntergefahren. Soll der Rechner nicht heruntergefahren werden, muss die Zeile "sudo shutdown -h +1" auskommentiert oder gelöscht werden, sowie die &&-Operatoren in der darüberliegenden Zeile gelöscht werden.

Stream mit Schnitt-Datei aufzeichnen

Da Streamripper einzelne Musikdateien nicht immer an der richtigen Stelle schneidet, ist es sinnvoll, an dieser Stelle selbst Hand anzulegen. Dazu zeichnet man den Radiosender als einzelnen Stream auf und lässt Streamripper zusätzlich eine Schnittpunkt-Datei anlegen. Mit mp3splt-gtk kann man diese öffnen und muss nur noch Feineinstellungen betreiben, um die Dateien exakt in einzelne Titel zu schneiden.

Dazu ein Beispielskript:

1
2
#!/bin/bash
streamripper http://www.foo.com/radio.php -a /home/foobar/$(date +%x_%X).mp3 -L /home/foobar/$(date +%x_%X) --xs2

Dieses Skript legt beim Ausführen im Ordner /home/foobar/ die eigentliche .mp3- oder .ogg-Datei des Radiosenders an und zusätzlich eine .cue-Datei, die die Schnittpunkte in Textform beinhaltet. Der Dateien werden durch "$(date +%x_%X)" nach dem aktuellen Datum und der Uhrzeit benannt, damit man bei mehreren Aufnahmen keine (vorhandenen) Dateien überschreibt oder vertauschen kann.

Streamtuner

./streamtuner.png Streamtuner 🇬🇧 ist ein kleines Werkzeug, welches direkt aus den offiziellen Paketquellen installiert werden kann. Es liest verschiedene Internetseiten wie z.B. das Icecast Directory 🇬🇧 aus und zeigt diverse internationale Internet-Radiosender an. Streamtuner wird seit längerem nicht mehr weiter entwickelt. Die aktuelle Version ist von Dezember 2004, funktioniert bis auf SHOUTcast und Live365 aber gut. Alternativen zu Streamtuner machen auch SHOUTcast wieder zugänglich.

Installation

Es müssen die folgenden Pakete installiert werden [1]:

  • streamtuner (universe, [2])

  • streamripper (universe)

  • mpegdemux (universe)

  • gstreamer0.10-fluendo-mpegdemux (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install streamtuner streamripper mpegdemux gstreamer0.10-fluendo-mpegdemux 

Oder mit apturl installieren, Link: apt://streamtuner,streamripper,mpegdemux,gstreamer0.10-fluendo-mpegdemux

Nach der Installation findet man unter "Anwendungsmenü → Unterhaltungsmedien" einen Menüeintrag zum Start von Streamtuner.

Konfiguration

Nach dem ersten Start sollte die Konfiguration überprüft werden. Unter dem Menüpunkt "Bearbeiten → Einstellungen → Anwendungen" ist der Punkt "Einen Stream aufnehmen" aufgeführt. Den dort gesetzten Wert bitte kontrollieren bzw. durch:

x-terminal-emulator -e streamripper %q -d /home/<Benutzername>/Musikordner -r -o never

ersetzen. Der Pfad /home/<Benutzername>/Musikordner muss an das eigene System angepasst werden. Der Parameter -r öffnet einen Relay-Port, auf dem der Stream durch "streamripper" gesendet wird. Mit diesem Parameter ist es möglich, einen Stream gleichzeitig aufzunehmen und anzuhören, ohne ihn zweimal (bzw. doppelt) herunterzuladen. Allerdings ist er nur auf dem eigenen Computer zu empfangen. Der Parameter -o never sorgt dafür, dass ältere Aufnahmen nicht versehentlich überschrieben werden.

Sollte man zur Verbindung ins Internet einen Proxy-Server benötigen, so muss zu dieser Zeile auch noch -p http://proxyip:port hinzugefügt werden.

Nachdem ein Radiokanal ausgewählt wurde, kann man nun auf "Aufnehmen" klicken. Daraufhin öffnet sich Streamripper in einem Terminal-Fenster [3] und speichert den Stream. Nun kann man die Adresse "http://localhost:8000" z.B. mit dem Audioplayer Audacious öffnen, um den Stream, den Streamripper gerade aufzeichnet, anzuhören.

Auch wenn man nichts aufnehmen will, sollte man unter "Bearbeiten → Einstellungen → Anwendungen" bei den Punkten:

  • "eine .m3u Datei anhören"

  • "Einen Stream anhören"

den Audio-Player kontrollieren bzw. einstellen, gefolgt von einem %q. Also z.B. audacious %q bis Ubuntu 9.04 Jaunty Jackalope bzw. audacious2 %q ab Ubuntu 9.10 Karmic Koala für den Audio-Player Audacious.

Sehr viel Auswahl bietet z.B. der Reiter "Xiph". Hier kann man nach bestimmten Stil- und Geschmacksrichtungen suchen. Klickt man im linken Fenster auf eine Stilrichtung, werden im rechten Fenster Sender aufgelistet die entsprechende Musik (oder auch Nachrichten, Hörspiele usw.) streamen. Die Auswahl ist so groß, dass bestimmt für jeden etwas dabei ist. Hat man einen Sender gefunden, der dem eigenen Geschmack entspricht, so kann man diesen als Lesezeichen speichern. Hierzu genügt ein Rechtsklick auf den entsprechenden Eintrag. Im erscheinenden Kontextmenü wählt man "Lesezeichen hinzufügen". So kann man sich eine Liste seiner Lieblingssender zusammenstellen.

Probleme und Lösungen

SHOUTcast-Kategorien werden nicht gefunden

Achtung!

Ab Juni 2010 funktionieren die nachfolgend beschriebenen Tipps zu Streamtuner und SHOUTcast nicht mehr. Aufgrund der Lizenzpolitik von SHOUTcast (siehe Press Release about SHOUTcast Removal in VLC 🇬🇧) wird sich daran auch nichts mehr ändern - sprich: SHOUTcast kann mit Streamtuner nicht mehr genutzt werden.

Ab Dezember 2010 hat SHOUTcast eine neue API (Version 2.0) eingeführt. Dadurch kann es auch zu Problemen bei anderen Programmen wie TunaPie kommen, die bisher noch funktionierten.

Bedingt durch Änderungen bei SHOUTcast 🇬🇧 findet Streamtuner dort keine Kategorien mehr (203136 🇬🇧). Dieses Problem ist nur durch eine gepatchte Streamtuner-Version zu lösen. Eine gepachte Version für Ubuntu 8.04 Hardy (i386 und amd64) findet sich im Ubuntuusers.de Forum. Wer eine andere Ubuntu-Version benutzt oder keine Programme aus nicht authentifizierter Quelle installieren will, kann es alternativ mit dem folgenden Eintrag in der /etc/hosts versuchen (benötigt Root-Rechte):

# workaround fuer streamtuner (classic.shoutcast.com)
205.188.234.120 www.shoutcast.com

Kleiner Nachteil dieser Variante: beim Besuch mit einem Browser wird anschließend immer classic.shoutcast.com angezeigt, nicht www.shoutcast.com.

Hilft dieser Tipp nicht weiter (bitte rückgängig machen), kann auch noch Folgendes versucht werden: man lädt sich eine entsprechend gepatchte SHOUTcast-Bibliothek shoutcast.so ⮷ (32-Bit) oder shoutcast64.so ⮷ (64-Bit; noch in shoutcast.so umbenennen!) für Streamtuner herunter und tauscht diese aus.

Beispiel für ein 32-Bit-Ubuntu:

sudo mv /usr/lib/streamtuner/plugins/shoutcast.so /usr/lib/streamtuner/plugins/shoutcast.so.old
sudo cp shoutcast.so /usr/lib/streamtuner/plugins/shoutcast.so 

Anschließend bitte die SHOUTcast-Senderliste in Streamtuner mit rechte Maustaste aktualisieren. Falls Streamtuner bei der Suche nach SHOUTcast-Sendern abstürzt, hilft es ggf. unter "Einstellungen → Allgemein" anzugeben, dass die Kategorien immer aktualisiert werden sollen. Nach einem Neustart sollte die Suche und das Abspielen dann funktionieren.

Live365

Ein ähnliches Problem wie mit SHOUTcast gibt es beim Anbieter Live365 🇬🇧. Eine Lösung ist nicht bekannt.

Alternativen

Rhythmbox-Radio-Browser

Für Rhythmbox existiert ein Radio-Browser-Plugin, welches die Wiedergabe und Aufzeichnung von Internetradio problemlos ermöglicht. Es basiert ebenfalls auf Streamripper. Durch das Plugin werden die Internetradio-Verzeichnisse von Icecast 🇬🇧 und SHOUTcast 🇬🇧 zugänglich. Für etliche weitere Sender ist der Zugriff nach Ländern geordnet möglich (ständig wachsende Anzahl!). Wünsche für noch nicht verzeichnete Sender können an den Entwickler segler alex geschickt werden. Außerdem wird eine Liste der zuletzt gespielten Sender angezeigt und es können Lesezeichen ("Bookmarks") angelegt werden - sehr sinnvoll, um seine "Lieblingssender" schnell wiederzufinden.

Mit rhythmbox-shoutcast gibt es ein weiteres Plugin speziell für SHOUTcast.

TunaPie

Eine weitere Alternative ist das Programm TunaPie. Es verwendet zur Aufnahme ebenfalls Streamripper und bietet die Top-Sender der Internetradio-Verzeichnisse von Icecast 🇬🇧 oder SHOUTcast 🇬🇧 zur Wiedergabe/Aufnahme an. Außerdem lassen sich auch etliche Internet-"TV"-Sender wiedergeben. Zur Wiedergabe werden externe Player wie Audacious und VLC verwendet. Auch zeitgesteuerte Aufnahmen sind problemlos möglich.

Streamtuner2

Streamtuner2 🇬🇧 ist trotz des Namens eine in Python programmierte (noch nicht abgeschlossene) Neuentwicklung. Weitere Infos (auf Deutsch) im Forum und im Artikel Streamtuner2.

vlc

Eine sehr einfache Möglichkeit zur Aufnahme von Streams bietet auch VLC. Unter Menü Ansicht die Erweiterte Steuerung aktivieren. Der rote Button in der neuen Leiste nimmt bei Klick alle Medien (Radio, Videos, DVDs...) in eine Datei vlc-record-<datum>-<streamname>.<format> im Homeverzeichnis auf.

Diese Revision wurde am 31. Dezember 2010 15:21 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Internet, Internetradio, Radio, Audio