Streams aufzeichnen: Den Rechner arbeiten lassen

Das Aufzeichnen von (Radio)streams erfreut sich großer Beliebtheit. Es gibt einige Lösungen für alle Computersysteme, sehr verbreitet ist zum Beispiel der Deutschlandradio-Recorder. Aber es muss nicht immer ein grafisches Programm (GUI) sein. Mit etwas Lust, Zeit und Nachdenken kann ein Linux-Rechner diese Aufgaben zuverlässig und ressourcenschonend im Hintergrund übernehmen.
Ein How-to.

Schaut wild aus, ist aber ganz einfach strukturiert: die crontab
Schaut wild aus, ist aber ganz einfach strukturiert: die crontab

Auf jedem Linux-Rechner kann man eine ‚crontab‘ anlegen. In dieser werden immer wiederkehrende Aufgaben für den Rechner notiert. Zur festgesetzten Zeit arbeitet der Rechner diese dann ab. Voraussetzung ist natürlich, dass der Computer in Betrieb ist. Und in unserem Fall sollte er auch einen Netzzugang haben.

Die eigene crontab ruft man mit ‚crontab -e‘ auf. Der Aufbau jeder Zeile ist immer gleich: In den ersten fünf Spalten wird der Zeitpunkt definiert, dann folgt der Befehl, der ausgeführt werden soll. Schematisch:
Minute | Stunde | Tag des Monats | Monat | Wochentag | Befehl

Zeilen, die Kommentare enthalten oder nicht ausgeführt werden sollen, werden mit einem # auskommentiert. Im unten stehenden Beispiel habe ich mir selbst einen Hinweis gegeben, welche Sendungen aufgezeichnet werden. In der ersten Zeile darunter steht, dass jeden Samstag um 15.04 Uhr mein Computer einen Stream abnimmt und diesen in eine mp3-Datei schreibt. Die Sendung hört um 16.55 Uhr auf. Normalerweise könnte ich den Stream mit

55 16 * * 6 kill wget

beenden. Das habe ich bis vor wenigen Wochen auch noch so gemacht. Aber: Das Leben ist kein Ponyhof und leider sendet der DLF um 16.30 Uhr ‚Computer und Kommunikation‘ mit Manfred Kloiber, Peter Welchering, Jan Rähm und anderen. Die Sendung wird auch als Podcast bereitgestellt. Ein fertiges Beispiel parallel aufzunehmender Sendungen:

# Unterhaltung am Wochenende/Computer und Kommunikation
04 15 * * 6 wget [stream-adresse] -U „“ -qO – | tee – [Pfad zur mp3-Datei]
30 16 * * 6 wget [stream-adresse] -U „“ -qO – | tee – [Pfad zur mp3-Datei]
55 16 * * 6 pkill -f wdr-5
59 16 * * 6 pkill -f dlf

(Die Streamadresse* bitte in Hochkommata setzen!)

Den Podcast habe ich aus dem Abo genommen, da mein Computer ungefähr 15-mal am Tag losdackelt und nach frischem Hörmaterial sucht. Um diese Netzbelastung zu reduzieren, und da die Sendung regelmäßig zur gleichen Zeit ausgestrahlt wird, habe ich mich entschlossen, diese vom Stream aufzuzeichnen.
Die Sendung geht bis 17.00 Uhr.
Da ich parallel die Unterhaltung am Wochenende auf WDR5 abnehme, würden bei einem ‚kill wget‘ jedes Mal die letzten fünf Minuten von C&K fehlen. Mit etwas Suchen und Probieren habe ich pkill gefunden. Mit der Option -f durchsucht der cron-Dämon die Prozessliste nach dem folgenden Suchbegriff und killt den zugehörigen Prozess. Bei

59 16 * * 6 pkill -f dlf

beendet er also um 16.59 Uhr den Stream vom Deutschlandfunk. (Um 59 deshalb, weil die letzte Minute meistens Musikbett oder Promo ist.)

Radiostreams aufzeichnen und zeitversetzt anhören (oder sogar mit geringer Latenz live) ist also keine Hexerei, trotz (oder wegen? ;) ) des cron-Dämons.

Wünsch‘ gutes Gelingen!

(Mein nächster Schritt ist, dass ich dieses „Media-Center“ auf einen Raspberry transferiere …)

*Um die Streams der Radiosender zu bekommen, kann man ganz einfach eine Suchmaschine des Vertrauens bemühen. Hinweis: Ich nehme die mp3-Adressen, da ich die mp3-Mitschnitte speichere und mit mpg123 abspiele. m3u bietet sich nur an, wenn man das Programm live hören will.

Advertisements

3 thoughts on “Streams aufzeichnen: Den Rechner arbeiten lassen

  1. So habe ich auch angefangen, und dann irgendwann capturadio (https://github.com/DirkR/capturadio) gebaut. Das macht all das, inkl. Aufhübschen der mitgeschnittenen Datei (ID3-Tags) und letztlich einen RSS-Feed generieren.

    Das Ganze arbeitet für mich seit Jahren, könnte natürlich schöner sein. Aber vielleicht hilft es Dir ja – und melde Dich gern, wenn capturadio nutzen willst und Du Unterstützung brauchst. ich habe es auf einem Uberspace laufen, damit bei mir kein Server(chen) 24×7 laufen muss.

    Gefällt mir

    1. Eine nette Weiterentwicklung dem ersten Augenschein nach. Meine (nicht explizit genannte) Intuition zum Artikel war aber, tatsächlich nur mit „spärlichen“ Bordmitteln von Linux und einer crontab einen praktikablen Weg aufzuzeigen, wie man Radio (und auch Podcast – das habe ich in einem anderen Artikel mal beleuchtet) aufzeichnen kann. Klar ist auch, dass mein Rechner 24/7 läuft. Das macht er aus anderen Gründen aber sowieso – angedacht ist dennoch, das mal auf einen Raspberry Pi zu exportieren. Vor allem der Weg, mehrere Streams gleichzeitig aufzunehmen, war entscheidend für diesen Weg. Zumal mich die Reaktionen bestärken: Sehr viele Hinweise auf Programme, Apps – aber will ich das? Verstehe ich nicht einen Rechner, Befehle und Syntax etwas besser, wenn ich mich selber uaf der Konsole damit auseinandersetze? Halte ich auch für „Onliner“ im Journalismus durchaus hilfreich.

      Gefällt mir

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s