[[Vorlage(Getestet,lucid,karmic,jaunty,hardy)]] {{{#!vorlage Wissen [:Pakete_installieren:Pakete installieren] [:Paketquellen_freischalten:Paketquellen freischalten] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[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]] }}} ||<-2 cellstyle="background-color: #E2C890;" :> '''Optionen''' || || `-d ` || Ort, an dem die Aufnahme gespeichert wird || || `-l ` || 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 || [http://streamripper.git.sourceforge.net/git/gitweb.cgi?p=streamripper/streamripper;a=blob_plain;f=README Streamripper-Readme] {en} == 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. {{{#!code bash #!/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:mp3splt-gtk] kann man diese öffnen und muss nur noch Feineinstellungen betreiben, um die Dateien exakt in einzelne Titel zu schneiden. Dazu ein Beispielskript: {{{#!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 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 = [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. das [http://dir.xiph.org/ Icecast Directory] {en} 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-Kategorien-werden-nicht-gefunden Shoutcast] und [#Live365 Live365] aber gut. [#Alternativen Alternativen] zu Streamtuner machen auch Shoutcast zugänglich. [[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 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 === {{{#!vorlage Warnung Ab Juni 2010 funktionieren die nachfolgend beschriebenen Tipps zu Streamtuner und Shoutcast __nicht__ mehr. Aufgrund der Lizenzpolitik von Shoutcast (siehe [http://www.videolan.org/press/2010-1.html Press Release about Shoutcast Removal in VLC] {en}) wird sich daran wahrscheinlich auch nichts ändern - sprich: Shoutcast kann mit Streamtuner nicht mehr genutzt werden. }}} 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. === Live365 === Ein ähnliches Problem wie mit Shoutcast gibt es beim Anbieter [http://www.live365.com/ Live365] {en}. Eine Lösung ist 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} oder [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. == Streamtuner2 == [http://milki.erphesfurt.de/streamtuner2/ Streamtuner2] {en} ist trotz des Namens eine in Python programmierte (noch nicht abgeschlossene) Neuentwicklung. Weitere Infos (auf Deutsch) im [topic:streamtuner2-zwei-internet-radios-anhoeren-au:Forum]. = 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