[[Vorlage(Getestet, oneiric, natty, lucid)]] {{{#!vorlage Wissen [:Pakete_installieren:Pakete installieren] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(./record-internet-radio.png, align=left)]] In Zeiten des [:Internetradio:Internetradios] ersetzt der Computer den Kassettenrekorder. Radiosendungen und Musikstreams für den privaten Bedarf aufzuzeichnen ist eine legale Form, die eigene Musiksammlung zu erweitern. Das Kommandozeilenprogramm Streamripper dient dabei häufig als Basis für Programme mit grafischen Oberflächen, mit denen man direkt per Mausklick Aufnahmen starten kann. Da heute auch klassische Radiosender über Internet senden, sollte man sich vor der Aufnahme über das [:Codecs:Format] eines Streams informieren. Während früher fast nur Wiedergabelisten mit MP3- oder OGG Vorbis Dateien verwendet wurden, benutzen manche Sender inzwischen auch proprietäre Lösungen wie [:Adobe_Flash:Flash] oder Techniken von Microsoft für ihr "Webradio"-Angebot. Hier leistet der [#Mplayer MPlayer] vor allem bei Windows-Streams gute Dienste (siehe auch [:Streams_speichern:]), während Streamripper für die von Stream-Verzeichnissen wie [http://dir.xiph.org/ Icecast] {en} oder [http://www.shoutcast.com/ SHOUTcast] {en} verwendeten Wiedergabelisten ('''.m3u''', '''.pls''') geeignet ist. = Streamripper = [http://streamripper.sourceforge.net/ Streamripper] {en} ist ein Werkzeug für die Kommandozeile, 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: {{{#!vorlage Paketinstallation streamripper, universe }}} Das Programm kann im Terminal [2] mit dem Befehl "`streamripper`" ausgeführt werden. Gibt man keine weiteren Parameter ein, erhält man eine Liste der Funktionen. == Verwendung == Der Aufruf im Terminal muss dazu mit Parametern versehen werden: {{{#!vorlage Befehl streamripper URL OPTIONEN }}} Mit URL ist hier die Internet-Adresse eines Streams gemeint. {{{#!vorlage Tabelle Optionen +++ Parameter Zweck +++ `-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 .cue Dateien, funktioniert nur mit `-a` +++ `-1` (minus eins) Schreibt keine ID3V1 Tags +++ `-r` Öffnet ein Relay auf Port `8000`, über den ein Stream während der Aufnahme empfangen werden kann +++ `-p ` Nutzung eines Proxys. Beispiel: `-p http://proxyip:port` +++ `-o ...` Sollen bereits vorhandene Titel ersetzt werden. Zur Auswahl stehen: `never`, `always`, `larger` und `version`. }}} Siehe auch [http://streamripper.git.sourceforge.net/git/gitweb.cgi?p=streamripper/streamripper;a=blob_plain;f=README Streamripper-Readme] {en} == Zeitgesteuerte Aufnahmen == === Record-Station === Eine einfache Möglichkeit, um Internetradio zeitgesteuert aufzunehmen, ist das Plugin "record-station" für den Audio-Player [:Rhythmbox:]. Weitere Informationen gibt es unter [http://wiki.ubuntuusers.de/Rhythmbox#Record-Station Record-Station]. === Cron === Eine weitere Möglichkeit für Fans der Kommandozeile ist der Aufruf von Streamripper über [:Cron:]. Elegant geht das mit folgendem Befehl in der [:Cron#Eine-Crontab-fuer-einen-Benutzer-einrichten:crontab] des Benutzers. Hier ein Beispiel: {{{ /usr/bin/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 nach "mail". Da unter Ubuntu das Paket '''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 fehlenden Pakets oder das Anfügen von "`> /dev/null 2>&1`" am Ende der Zeile im Skript. Außerdem fehlen in obigen Beispiel noch die konkreten Zeitangaben, wann `cron` den Befehl ausführen soll. }}} === At === 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 1 Stunde 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. === Gnome-Schedule === 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 }}} Ein Problem ist, dass als Resultat der Aufnahme eine Datei mit dem Namen '''-.mp3''' entsteht. Dies kann man mit einem Skript verhindern, das die Aufnahme nach ihrem Ende mit dem aktuellen Zeitstempel als Dateinamen kennzeichnet: {{{#!code bash #!/bin/bash # Skript zum Speichern eines Radio mp3-Streams # Wichtig! Ausfuehrbarmachen nicht vergessen! (chmod u+x skriptname) 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 '''~/radiorips/incomplete''' gelöscht und der Rechner heruntergefahren. Soll der Rechner nicht heruntergefahren werden, muss die letzte Zeile "`sudo shutdown -h +1`" auskommentiert (das Zeichen `#` an den Anfang der Zeile setzen) oder gelöscht sowie die `&&`-Operatoren in der vorherigen Zeile gelöscht werden. == Stream mit Schnitt-Datei aufzeichnen == Da Streamripper einzelne Musikdateien nicht immer an der richtigen Stelle trennt, kann es sinnvoll sein, hier selbst Hand anzulegen. Dazu zeichnet man den Radiosender als einen Titel auf und lässt Streamripper zusätzlich eine Schnittpunkt-Datei anlegen. Mit dem Programm [: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/BENUTZERNAME/$(date +%x_%X).mp3 -L /home/BENUTZERNAME/$(date +%x_%X) --xs2 }}} Dieses Skript legt beim Ausführen im Ordner '''/home/BENUTZERNAME/''' 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. = Grafische Oberflächen = Prinzipiell kann hier zwischen auf Streamripper basierenden und unabhängigen Programmen unterschieden werden. Zu letzteren zählen z.B. der MPlayer und VLC. Eine alphabetische Liste. [[Bild(kstreamripper_logo.png, 48, align=right)]] == KStreamRipper == Mit dem Programm [http://kde-apps.org/content/show.php/KStreamRipper?content=78068 KStreamRipper] {en} gibt es ein grafisches (KDE-)Frontend für Streamripper. Dieses ist allerdings auch unter GNOME und jedem anderen Fenstermanager lauffähig. Es lässt sich über das folgende Paket installieren: {{{#!vorlage Paketinstallation kstreamripper, universe, bis [:Maverick:Ubuntu 10.10] }}} Unter neueren Ubuntu-Versionen muss die Anwendung selbst aus dem Quelltext kompiliert werden. [[Bild(mplayer_logo.png, 48, align=right)]] == MPlayer == Auch der [:MPlayer:] eignet sich zum [:Streams speichern: Mitschnitt von Streams]. Für Streams, deren URL nur als '''.asx'''-Playlist bekannt ist, gibt es im Artikel [:Streams_speichern#Streaming-Videos-von-der-ZDF-Mediathek-laden:] eine Lösung für die [:MPlayer#Konsole:Kommandozeile]. [[Bild(radio-browser_logo.png, 48, align=right)]] == Rhythmbox-Radio-Browser == Für Rhythmbox existiert eine Erweiterung [http://www.programmierecke.net/programmed/rhythmbox-radio-browser.html Rhythmbox-Radio-Browser] {en}, die die Wiedergabe und Aufzeichnung von Internetradio problemlos ermöglicht. Es basiert ebenfalls auf Streamripper. Durch das Plugin wird das Internetradio-Verzeichnis von IceCast 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 Lieblingssender schnell wiederzufinden. Weitere Details im Artikel [:Rhythmbox#Rhythmbox-Radio-Browser:]. Mit [googlecode:rhythmbox-shoutcast:] {en} gibt es ein weiteres Plugin speziell für das Stream-Verzeichnis von SHOUTcast. [[Bild(streamripstar_logo.png, 48, align=right)]] == StreamRipStar == [:StreamRipStar:] bietet eine grafische Oberfläche für die meisten Optionen von Streamripper an. Als Stream-Verzeichnis dient ausschließlich SHOUTcast, eigene Stationen können aber auch angelegt werden. Durch die Verwendung von [:Java:] plattformübergreifend. [[Bild(streamtastic_logo.png, 48, align=right)]] == Streamtastic == [launchpad:streamtastic:Streamtastic] {en} stellt ebenfalls eine auf [:Java:] basierende grafische Oberfläche für Streamripper bereit. Als Stream-Verzeichnisse stehen derzeit SHOUTcast und ICEcast zur Verfügung. Eine Favoritenliste dient der Organisation von Stationen. Sowohl eine Übernahme aus den Verzeichnissen als auch das Hinzufügen eigener Stationen ist möglich. Bis auf einige Ausnahmen können alle Streamripper Optionen angepasst werden. Die Oberfläche gestaltet sich übersichtlich und beschränkt sich auf die wesentlichen Funktionen. Eine deutsche Lokalisierung ist vorhanden. [[Bild(streamtuner_play.png, 48, align=right)]] == Streamtuner == Der Klassiker [:Streamtuner:] ist ein kleines Werkzeug, das direkt aus den offiziellen Paketquellen installiert werden kann. Es bezieht seine Informationen aus verschiedenen Stream-Verzeichnissen wie z.B. Icecast und zeigt darüber diverse internationale Internet-Radiosender an. Streamtuner wird seit längerem nicht mehr weiter entwickelt. Die aktuelle Version ist von Dezember 2004, funktioniert aber immer noch hervorragend. [[Bild(streamtuner2_logo.png, 48, align=right)]] == Streamtuner2 == [:Streamtuner2:] ist eine in Python programmierte Neuentwicklung und ab [:Oneiric:Ubuntu 11.10] in den offiziellen Paketquellen enthalten (für ältere Ubuntu-Versionen steht ein Fremdpaket zur Verfügung). Neben SHOUTcast werden noch eine Reihe weiterer Stream-Verzeichnisse berücksichtigt. [[Bild(tunapie_logo.png, 48, align=right)]] == TunaPie == Eine weitere Alternative ist das Programm [:TunaPie:]. Es verwendet zur Aufnahme ebenfalls Streamripper und bietet die Top-Sender des Internetradio-Verzeichnisses von Icecast 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. [[Bild(vlc_logo.png, 48, align=right)]] == 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--.''' im Home-Unterverzeichnis Musik auf. [[Bild(Wiki/Icons/terminal.png, 48, align=right)]] = Kommandozeile = == fadecut == fadecut ist ein Shell-Skript, um mit Hilfe von Streamripper und anderen Kommandozeilenwerkzeugen Internetradio (Streams) aufzunehmen. Besonders hervorzuheben sind die integrierten Fähigkeiten, einen Stream automatisch in einzelne Audiodateien zu zerlegen (inkl. Ein- bzw. Ausblenden am Liedanfang bzw. -ende) und mit den entsprechenden Metadaten zu vervollständigen. Details im Artikel [:fadecut:]. == dradio == [github:prometoys/dradio/:dradio] {de} ist ebenfalls ein Shell-Skript, um Hörspiele und andere längere Sendungen mit Hilfe von Streamripper aufzuzeichnen. Im Gegensatz zu fadecut wird der Mitschnitt als Ganzes gespeichert und nicht in einzelne Dateien zerlegt. Derzeit unterstützt es die Sender des Deutschlandradios (DLF, DRadio Kultur und DRadio Wissen) sowie die WDR-Vollprogramme und on3Radio. Weitere Sender lassen sich aber einfach ergänzen. Zur Verwendung das Skript abspeichern und ausführbar machen, sowie die Variablen im Skript an die eigenen Bedürfnisse anpassen. == MyStreamRecorder == [github:Wikinaut/MyStreamRecorder/:MyStreamRecorder] {en} ist ein im Mai 2012 publiziertes kommandozeilen-orientiertes PHP-Skript mit Scheduler und E-Mail-Benachrichtigung, mit DRadio, DLF. DRadioWissen und weiteren vorprogrammierten Sendern und der Möglichkeit, beliebige Streamradios aufzunehmen, oder nur zu hören. Es wird eine Datei erstellt, und es erfolgt auch hier keine Trennung einzelner Stücke oder Beiträge. MyStreamRecorder kann auch bequem als "engine" in andere Anwendungen eingebaut werden: ein ergänzendes Webinterface für die Bedienung und Programmierung ist in Planung (Stand: Mai 2012). MyStreamRecorders und dradio sind vom Konzept der Benutzung sehr ähnlich und zur gleichen Zeit unabhängig voneinander entstanden. = 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 * [https://github.com/Wikinaut/MyStreamRecorder] kommandozeilen-orientiertes PHP-Script mit Scheduler und E-Mail-Benachrichtigung # tag: Multimedia, Internet, Internetradio