[[Vorlage(Getestet,karmic,jaunty,intrepid,hardy)]] {{{#!vorlage Wissen [:Pakete_installieren:Pakete installieren] [:Paketquellen_freischalten:Paketquellen freischalten] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./record-internet-radio.png, align=left)]] In Zeiten des [:Internetradio: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 = [http://streamripper.sourceforge.net/ Streamripper] {en} ist ein kleines Konsolenwerkzeug, mit dem man Streams, wie z. B. über [http://www.shoutcast.com Shoutcast] {en} 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: {{{#!vorlage Paketinstallation streamripper, universe, [2] }}} 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 Streamtuner] kann man auch direkt mit einem Mausklick die Aufnahme mit dem Streamripper starten. Mit dem Programm [http://kstreamripper.tuxipuxi.org/ kstreamripper] {en} 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 {{{#!vorlage Paketinstallation kstreamripper, universe }}} installieren [1]. == Verwendung == Der Aufruf im Terminal [3] muss dazu mit Parametern versehen werden: {{{#!vorlage Befehl 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]] }}} == 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 [http://wiki.ubuntuusers.de/Rhythmbox#Record-Station Artikel]. Eine weitere Möglichkeit für Konsolenanhänger ist der Aufruf von Streamripper über [:Cron:]. Elegant geht das über ein Skript; hier ein Beispiel: {{{#!vorlage Befehl streamripper [URL] [-d [Pfad wo die Dateien gespeichert werden sollen]] [-l [Dauer der Aufnahme in Sekunden]]> /dev/null 2>&1 }}} {{{#!vorlage Warnung [: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 [[Vorlage(Tasten, Strg+D)]] wird die Befehlszeile abgeschlossen. Beispiel: {{{#!vorlage Befehl 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> 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 [http://www.linux-user.de/ausgabe/2006/02/094-zubefehl/ Cron, At - Punktlandung] {de} 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: {{{#!vorlage Paketinstallation gnome-schedule, universe, [2] }}} 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. {{{#!vorlage Befehl #!/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. Anschliessend 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 die den Radiosender als einzelnen Stream auf und lässt Streamripper zusätzlich eine Schnittpunkt-Datei anlegen. Mit [:mp3splt:mp3splt-gtk] kann man diese öffnen und muss nur noch Feineinstellungen betreiben, um die Dateien exakt In einzelne Titel zu schneiden. Dazu ein Beispielscript: {{{#!code bash #!/bin/bash streamripper http://www.foo.com/radio.php -a /home/foobar/$(date +%x_%X).mp3 -L /home/foobar/$(date +%x_%X) --xs2 }}} Dieses Script 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 = {{{#!vorlage Hinweis Streamtuner wird seit längerem nicht mehr weiter entwickelt. }}} [http://www.nongnu.org/streamtuner/ Streamtuner] {en} ist ein kleines Werkzeug, welches direkt aus den offiziellen Paketquellen installiert werden kann. Es liest verschiedene Internetseiten wie z.B. [http://www.shoutcast.com Shoutcast] {en} aus und zeigt diverse internationale Internet-Radiosender an. Die aktuelle Version ist zwar von Dezember 2004, funktioniert aber gut. [[Bild(./streamtuner.png, align=right)]] == Installation == Es müssen die folgenden Pakete installiert werden [1]: {{{#!vorlage Paketinstallation streamtuner, universe, [2] streamripper, universe mpegdemux, universe gstreamer0.10-fluendo-mpegdemux, universe }}} 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//Musikordner -r -o never }}} ersetzen. Der Pfad `/home//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 ''"Einen Stream anhören"'' den Audio-Player einstellen, gefolgt von einem `%q`, also z.B. `audacious %q` für [:Audacious:] bzw. `audacious2 %q` ab Ubuntu 9.10 [:Karmic_Koala:]. Sehr viel Auswahl bietet z.B. der Reiter ''"Shoutcast"''. 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 === Bedingt durch Änderungen bei [http://www.shoutcast.com/ Shoutcast] {en} findet Streamtuner dort keine Kategorien mehr ([bug:203136:] {en}). 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 [http://forum.ubuntuusers.de/topic/shoutcast-und-streamtuner-gepacht-und-deb-amd/ 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 [:sudo: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 [http://classic.shoutcast.com classic.shoutcast.com] angezeigt, nicht [http://www.shoutcast.com 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 [http://media.ubuntuusers.de/wiki/attachments/12/20/shoutcast.so shoutcast.so] {dl} (32-Bit) oder [http://media.ubuntuusers.de/wiki/attachments/12/20/shoutcast64.so shoutcast64.so] {dl} (64-Bit; noch in '''shoutcast.so''' umbenennen!) für Streamtuner herunter und tauscht diese aus. Beispiel für ein 32-Bit Ubuntu: {{{#!vorlage Befehl 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 [[Vorlage(Tasten, rmb)]] 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. Ein ähnliches Problem gibt es beim Anbieter [http://www.live365.com/ Live365] {en}. Eine Lösung ist hier nicht bekannt. = Alternativen = == Rhythmbox-Radio-Browser == Zum Mediaplayer Rhythmbox existiert ein [:Rhythmbox#Rhythmbox-Radio-Browser: 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 [http://www.icecast.org/ Icecast] {en} und [http://www.shoutcast.com/ Shoutcast] {en} 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 [user: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. == TunaPie == Eine weitere Alternative ist das Programm [:TunaPie:]. Es verwendet zur Aufnahme ebenfalls Streamripper und bietet die Top-Sender der Internetradio-Verzeichnisse von [http://www.icecast.org/ Icecast] {en} und [http://www.shoutcast.com/ Shoutcast] {en} 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. = Links = * [:Internetradio/Stationen:] - Liste mit einigen Streams und Links zu Radiostationen-Verzeichnissen * [:LastFM:]-Streams aufnehmen * [:mp3splt:] - Aufnahmen im '''MP3'''- oder '''OGG'''-Format ohne Neukodierung schneiden * [http://www.linux-beginnerforum.de/smf/index.php?topic=3963.0 Onlinestreams für Radiosender] {de} - linux-beginnerforum.de * [http://mylinux.suzansworld.com/?p=38 Ganz legal MP3s aufnehmen mit Streamtuner und Streamripper] {de} * [http://www.linux-user.de/ausgabe/2005/06/043-streams/ Audiostreams aus dem Netz aufzeichnen] {de} - LinuxUser 06/2005 * [http://www.programmierecke.net/programmed/rhythmbox-radio-browser.html Rhythmbox-Radio-Browser] {en} ---- # tag: Multimedia, Internet