Sie haben eine Synology als Datenspeicher? Prima. Wussten Sie, dass dieses feine Gerät mehr kann als nur Datenspeicher zu sein? Ich verwende meine Synology als Podcatcher und als Aufzeichnungsgerät für Radiosendungen. Das mit dem Podcatching habe ich im ersten Teil erklärt. Heute geht es um das Aufzeichnen von Radiosendungen. Das alles ist keine Hexerei – und größere Programmierkenntnisse braucht man eigentlich auch nicht.
Die Vorbereitung
Ich habe auf meiner Synology ein Verzeichnis „Aktuell“ angelegt, damit ich von meiner Musik- und Sendungssammlung „Audio“ und der Videosammlung „Video“ unterscheiden kann und zielgerichtet Gehörtes löschen kann. In dieses Verzeichnis laufen dann aufgenommene Sendungen und Podcasts.

Eintragen von Aufzeichnungen

In der Zeile oben finden Sie verschiedene Symbole. Sie nehmen das (mittlere), in dem Sie auf die Systemsteuerung zugreifen können.

Im Reiter links wählen Sie den ‘Aufgabenplaner’ aus.

Dann wählen Sie ‘Geplante Aufgabe’ aus.

Hier öffnet sich ein Fenster mit den Eingabemöglickeiten. Anstelle von Geplante Aufgabe geben Sie einen eindeutigen Titel ein, als Benutzer wählen Sie ihren Useraccount. Unter Zeitplan geben Sie die Uhrzeit an, zu der ein Befehl ausgeführt werden soll.


So sieht eine Eintragung unter „Aktion“ aus:

Hier tragen Sie den Befehl ein:
sleep 59 && wget 'https://st02.sslstream.dlf.de/dlf/02/mid/aac/stream.aac' -O /volume1/homes/Sendekomplex/Drive/Aktuell/date +\%m\%d\ '1300 Länderreport'.aac
Aufgedröselt stehen die einzelnen Teile für:
sleep 59 Der Rechner schläft noch für 59 Sekunden, wenn er das erfolgreich erledigt hat … (wenn ich den Befehl auf 09:04 setze, schläft er also noch bis 09:04:59. Das ist interessant, wenn man z.B. Wetter und Verkehrsnachrichten etwas kürzer halten will – bei Webstreams gibt es leider kein cue-Signal, das man ausnutzen könnte.)
&& hängt er den folgenden Befehl an:
wget ‘https://st02.sslstream.dlf.de/dlf/02/mid/aac/stream.aac’ -U “” -O
/volume1/homes/user/Drive/Aktuell/date +\%m\%d
\ ‘1300 Länderreport’.aac mit wget wird der Stream des Radioprogramms abgeholt. Der Stream steht in den Hochkommata ‘ ‘ (Shift+#). Die restlichen Parameter brauchen Sie nicht verinnerlichen, die sollten nur drin stehen. /volume1/homes/user/Drive/Aktuell/date +\%m\%d
\ ‘1300 Länderreport’.aac *- das ist der Pfad, in den die Aufzeichnung laufen soll. Wie schon beim Podcatching geschieht das bei mir in den Bereich *Aktuell. **date +\%m\%d
** Diese Angabe ist fakultativ, ich gebe das Datum in Monat und Tag zweistellig an, wenn Sie das nicht brauchen, können Sie es weglassen. Ansonsten stellen Sie diese Angabe in Accents (Shift+’). In Hochkommata setze ich dann den Sendungstitel samt Datei-Endung.
Damit die Aufzeichnung auch wieder beendet wird, braucht es eine neue Aufgabe. Ich verwende den Befehlt ‘pkill‘, gefolgt von einem Teil des Pfades zur URL des Streams: sleep 20 && pkill -f st02.sslstream (Das ist in diesem Fall der Stream von DLF Kultur).

Die Streams finden Sie meistens, wenn sie auf den Seiten der Sender nach livestream, stream und/oder URL suchen.
Viel Spaß beim Hören!
Programmierung mit Scripten

Für Fortgeschrittene gibt es auch die Möglichkeit, mit Scripten zu arbeiten. In meinem Spezialfall behandle ich die Musikstunde auf SWR2, die am Samstag läuft. Das Monats-Sendeschema von SWR2 ist folgendermaßen:
- Samstag Jazz across the boarder
- Samstag Das Musikrätsel
- Samstag Pasticcio musicale
- Samstag Musiksendung oder Die musikalische Monatsrevue
- Letzter Samstag Die musikalische Monatsrevue
Das Musikrätsel möchte ich nicht hören, deswegen soll der Rechner da nicht aufzeichnen. Und es gilt die Unterscheidung zwischen Monaten mit vier und fünf Samstagen zu machen. Das habe ich mit einem einfachen Script gelöst:
#!/bin/sh
# Erster Samstag im Monat: Jazz across the boarder
if [ $(date +\%d) -lt 8 ]
then sleep 45 && wget 'http://swr-swr2-live.cast.addradio.de/swr/swr2/live/mp3/256/stream.mp3' -U "" -qO - | tee - /volume1/homes/Sendekomplex/Drive/Aktuell/`date +\%m\%d`\ '0905 SWR2 Musikstunde – Jazz across the boarder'.mp3
fi
# Dritter Samstag im Monat: Pasticcio musicale
if [ $(date +\%d) -gt 14 -a $(date +\%d) -lt 22 ]
then sleep 45 && wget 'http://swr-swr2-live.cast.addradio.de/swr/swr2/live/mp3/256/stream.mp3' -U "" -qO - | tee - /volume1/homes/Sendekomplex/Drive/Aktuell/`date +\%m\%d`\ '0905 SWR2 Musikstunde – Pasticcio musicale'.mp3
fi
# Letzter Samstag im Monat: Die musikalische Monatsrevue
if [ $(date +\%d) -gt 21 -a $(date +\%d) -lt 32 ]
then if [ $(/bin/date -d '1 week' '+%m') -ne $(/bin/date '+%m') ]
then sleep 45 && wget 'http://swr-swr2-live.cast.addradio.de/swr/swr2/live/mp3/256/stream.mp3' -U "" -qO - | tee - /volume1/homes/Sendekomplex/Drive/Aktuell/`date +\%m\%d`\ '0905 SWR2 Musikstunde – Die musikalische Monatsrevue'.mp3
else
sleep 45 && wget 'http://swr-swr2-live.cast.addradio.de/swr/swr2/live/mp3/256/stream.mp3' -U "" -qO - | tee - /volume1/homes/Sendekomplex/Drive/Aktuell/`date +\%m\%d`\ '0905 SWR2 Musikstunde – Der vierte Samstag'.mp3
fi
fi
Exkurs:
Der Editor, den sie auf eineTerminal auf der Oberfläche der Synology öffnen können, ist vi. vi ist so ziemlich der älteste Editor, die meisten haben einen Horror davor. Im Folgenden erkläre ich die wichtigsten Schritte, die Sie wissen müssen.
Sie öffnen mit vi user/Drive/Scripte/Name__des__scripts.sh eine Datei. „user“ steht dabei für Ihren Benutzernamen auf der Synology, bei mir sind alle Daten im Unterverzeichnis „Drive“ gespeichert. Das kann abweichen, je nach Konfiguration. Mit ‘i’ kommen Sie in den Insert-Modus, also können Sie in das File schreiben. Folglich können Sie auch das obenstehende Script einfügen. Um dieses abzuspeichern, drücken Sie die Escape-Taste. Dann geben Sie ‘:set ff=unix”, damit wird das Zeilenende der einzelnen Script-Befehle auf ein Unix-Ende umgewandelt. Andernfalls wird das Script nicht funktionieren, da es die Kommandozeile in DOS interpretiert. Dann geben Sie ‘:wq’ ein. Mit (w) schreiben Sie die Datei auf die Synology und quittieren den Editor (q). eine gute, komprimierte Übersicht zu Skriptings unter Linux/Unix finden Sie hier.
In der Zeile if [ (date +%d) -gt 14 -a (date +%d) -lt 22 ] werden die näheren Kriterien angegeben: Das Datum muss größer sein (greater then) als 14 (-gt 14) und kleiner (less than) 22 sein.
Damit ein Skript ausgeführt werden kann, muss es zuerst ausführbar gemacht werden. Dies geschieht z.B. in der Konsole durch folgenden Befehl:
chmod +x /pfad/zu/mein_Skript
Im Aufgaben planer tragen Sie als Aufgabe bash /volume1/homes/user/Drive/Scripte/musikstunde.sh ein. Dabei ist es wichtig, ‘bash’ anzugeben und von einem Leerzeichen gefolgt den Pfad zum Script. Die Angabe ‘bash’ ist wichtig, damit die Synology weiß, welchen Bash-Interpretor sie nehmen muss, um zu verstehen, was sie wollen.

Nützlich zu wissen:
Zeichen wie ! ? : “ sollten Sie in der Eingabe vermeiden, diese werden in dieser Notation als Programmierelemente gedeutet und erzeugen seltsame Dateinamen. Korrekte Anführungszeichen, also „“, werden hingegen korrekt interpretiert.
Hallo, Toller Beitrag den ich gerne mit einer Spende belohnen möchte. Leider kommt meine Aufnahme ohne das vorangestellte Datum, also nur Geschichte.mp3 an. Was mache ich falsch: sleep 59 && wget ‘https://orf-live.ors-shoutcast.at/oe1-q2a’ -U “” -qO – | tee – /volume1/Music/Aufnahmen/`date + \%m\%d`\ ‘Geschichte’.mp3
Hallo und danke für das Lob.
Dein Fehler ist gar nicht so selten, ist mir auch schon passiert: Einfach das Leerzeichen zwischen + und \ rausnehmen. 🙂
(Und wenn ich die Adresse des Streams und den Aufnahmetitel richtig deute, dann gäbe es diese Sendung auch als Podcast: https://static.orf.at/podcast/oe1/oe1_geschichte.xml – aber vielleicht hast Du ja andere Prioritäten.)
Hallo. Auch von mir ein Lob und vielen Dank für die Anleitung. Bei mir wird allerdings die Datei nicht wie gewünscht benannt und hat auch keine .mp3 Endung.
Datei wird ohne Endung so benannt:
radio_ADMIN_Feb-05-091657-2022_Conflict
Wenn ich .mp3 manuell hinzufüge, kann ich die Aufnahme aber anhören.
Hier mein Code:
wget ‘https://streams.fluxfm.de/boomfm/mp3-320/audio/’ -U “” -qO – | tee – /volume1/transfer/radio +\%m\%d\ ‘FluxFM’.mp3
Kannst Du vielleicht helfen? Danke schonmal vorab.
Hallo Florian, bei der ersten Durchsicht fällt mir auf, dass Du anstelle von „radio“ `date setzen solltest (das ` findet sich meist oben auf der Tasta neben dem Fragezeichen – Shifttaste nicht vergessen).
Zwischen date und dem + Zeichen bitte eine Leerstelle. Hinter dem %d wieder ein ` setzen. Übrigens kannst Du das „q“ und das „- | tee -„ auch weglassen.
Ggf. auch das „s“ von https, dann laufen die Streams meist stabiler.
Bei der Streamadresse bitte einfache Hochkommata („’“) verwenden – keine Akzentzeichen – findet sich meist über der Raute-Taste.
Deine Zeile sollte also so aussehen:
wget ‘http://streams.fluxfm.de/boomfm/mp3-320/audio/’ -O /volume1/transfer/`date +\%m\%d`\ ‘FluxFM’.mp3
Melde Dich doch bitte, ob es klappt oder nicht. Hoffe, Dir geholfen zu haben. 🙂
-hrb
So läuft es perfekt. Danke Dir.
Sehr gerne. 🙂
Hallo Heinrich,
vielen Dank für diese tolle Anleitung, die ich gerne schon vor längerer Zeit gefunden hätte. Ich bin nur durch Zufall über das Synology-Forum auf diesen Blog-Beitrag gestoßen.
Gestern habe ich die Aufnahme via Aufgabenplaner erfolgreich nachgebaut. Jedoch frage ich mich (wahrscheinlich mangels Linux-Kenntnissen), was “-U “” -qO – | tee -” in der Befehlszeile genau macht. Hintergrund ist, dass ich in meinem Home-Verzeichnis eine “ausführbare Unix-Datei” namens “-” vorfinde, die stets die gleiche Größe wie die erstellte Aufnahme aufweist.
Meine Aufnahme starte ich mit:
wget ‘https://stream.rockantenne.de/rockantenne/stream/mp3′ -U “” -qO – | tee – /volume1/_quarantine/Radioaufnahmen/`date +20\%y-\%m-\%d`’ – ROCK ANTENNE – Sunday Night Live’.mp3
Beendet wird sie mit:
pkill -f stream.rockantenne.de
Wird der Prozess richtig und vollständig mit dem oben stehenden Befehl beendet?
Wie kann man diese Unix-Datei automatisiert beseitigen?
Bin für jeden Hinweis dankbar, freue mich aber auch schon jetzt auf die nächste anstehende Aufnahme!
Hallo Jan, Du kannst die Befehlszeile abkürzen auf
wget ‘https://stream.rockantenne.de/rockantenne/stream/mp3′ -O /volume1/_quarantine/Radioaufnahmen/`date +20\%y-\%m-\%d`’ – ROCK ANTENNE – Sunday Night Live’.mp3
Das sind nur ein paar Spezialfälle, in denen man das braucht. Werde ich gleich im Code ändern.
Der pkill-Befehl passt so. pkill sucht genau nach dem String, den Du angegeben hast.
Die Unix-Datei (Du meinst die mit „-“ ?)automatisiert entfernen brauchst Du dann nicht mehr. Solltest Du dennoch da noch Hilfe brauchen, dann einfach kurz antworten.
Freut mich aber auf jeden Fall, dass Du Deine Synology (?) dafür nutzt.
Perfekt, es funktioniert!
Die Unix-Datei (richtig, die mit “-“) erscheint nicht mehr – die Synology übernimmt fortan die Aufnahmen!
Vielen Dank für Deine schnelle Hilfe!