Blog Digitalgesellschaft Verwaltungsbetrieb Textarchiv Textarchiv Walter Kirk (✝) Impressum
Internetradio zeitgesteuert aufnehmen mit Wget
VorbemerkungInstallationEinstellungenWget (wget)Execute commands at a later time (at)AufnahmeAusgabePro und KontraWeitere MöglichkeitenZusammenfassungQuelle
Manchmal möchte man einen Audio-Stream aufnehmen und in einer Datei speichern. Also nicht in mehreren Audio-Dateien geteilt. Oder eine solche Aufnahme gelingt nicht mit anderen Programmen wie StreamRipper, weil die Livestream URL keine brauchbaren Ergebnisse ergibt.
Hierfür bietet sich auch das Programm Wget an (Linux, MacOS, Windows). Darüber hinaus ist es zweckmäßig, dass die Start- und Endzeit eingestellt werden kann.
Für Wget gibt es keine aktuell gehaltene GUI. Deshalb wird hier nur der Weg über die Kommandozeile aufgezeigt. Für zeitgerechte Aufnahmen können unter debian-basierten Linux-Distributionen das Programm Wget und die Anweisung at (execute commands at a later time) in Kombination genutzt werden.
Das Programm wget ist normalerweise in der Standard-Distribution enthalten, kann ansonsten nachträglich installiert werden.
Beide Programme können aus den Repositories heraus installiert werden:
xxxxxxxxxx
test@geraet:~$ sudo apt install wget at
Syntax
xxxxxxxxxx
timeout 300 wget URL -O "/home/nutzer/<Speicherort>/$(date "+%Y%m%d")-output.audioformat"
Erläuterung
timeout = Dauer in Sekunden
URL = Livestream URL des Senders
Speicherort = Nutzer und Speicherort auf die eigenen Verhältnisse angepasst
Ausgabedatei = in der Form JJJJMMTT-output.audioformat
Das Audioformat ist den entsprechenden Senderangaben anzupassen (.aac, .mp3)
Syntax
xxxxxxxxxx
echo timeout 300 wget http://wdr-wdr2-rheinland.icecast.wdr.de/wdr/wdr2/rheinland/mp3/128/stream.mp3 -O "/media/wolfgang/0CB86B821BEB9963/audiowork/032-digitale-medien/032-internet/$(date "+%Y%m%d")-test.mp3" | at Zeit Tag
Mit ENTER wird die Aufnahme veranlasst. Wget wird mit den o.a. Einstellungen um die angegebene Zeit ausgeführt.
Die Zeitangabe veranlasst die Aufnahme am gleichen Tag. Wird hinter der Zeit auch das Datum im Format JJ-MM-TT angegeben, so lassen sich die Aufnahmen auch tageweise im Voraus planen.
Nach dem Start des PC werden die zukünftigen Jobs erledigt.
Beispiel
xxxxxxxxxx
test@geraet:~$ echo timeout 1800 wget http://wdr-wdr2-rheinland.icecast.wdr.de/wdr/wdr2/rheinland/mp3/128/stream.mp3 -O "/home/test/<speicherort>/$(date "+%Y%m%d")-test.mp3" | at 15:00
warning: commands will be executed using /bin/sh
job 1 at Sat Feb 27 15:00:00 2023
Die Warnung hat in diesem Beispiel keine Bedeutung.
Mit dem o.a. Kommando wird eine Sendung um 15:00 Uhr im Umfang von 30 Minuten aufgezeichnet.
Anzeige der Aufgaben (Job-ID)
xxxxxxxxxx
test@geraet:~$ atq
1 Sat Feb 27 15:00:00 2023 a test
Im Beispiel ist die Job-ID 1
Löschen
xxxxxxxxxx
test@geraet:~$ atrm 1
Wget beenden
In diesem Beispiel kann Wget mit CTRL-C nicht so einfach gestoppt werden. Um dennoch den laufenden Prozess zu beenden, ist in einem Terminal einzugeben:
xxxxxxxxxx
test@geraet:~$ ps -A
PID TTY TIME CMD
1 ? 00:00:04 systemd
3058 pts/0 00:00:00 bash
3090 pts/0 00:00:00 wget
3108 pts/1 00:00:00 bash
3121 ? 00:00:00 update-notifier
3148 ? 00:00:02 apt-check
3157 pts/1 00:00:00 ps
Nummer für wget herausfinden (PID_Number) und dann eingeben:
xxxxxxxxxx
test@geraet:~$ kill -9 3090
Die Nummer 3090 ist den eigenen Verhältnissen anzupassen.
Im Beispiel wurde eine Datei erstellt: 20230227-test.mp3
Die Nutzung von Wget und at bedeutet:
Pro:
- einfache Syntax
- das Audioformat kann entsprechend der Senderangabe ausgewählt werden, z.B. .aac, .mp3, .ogg,
- die Aufnahme wird automatisch beendet
- der Livestream muss nicht gestartet und beendet werden.
Kontra:
- Mithören des Streams ist nicht möglich.
Ergänzende oder alternative Möglichkeiten sind in den folgenden Blogbeiträgen aufgeführt:
Internetradio zeitgesteuert aufnehmen mit StreamRipper
Internetradio zeitgesteuert aufnehmen mit Sound eXchange
Für welchen Zweck auch immer eine einzige Audio-Datei benötigt wird, mit wenigen Einstellungen lassen sich auch solche Dateien bequem mit Wget unter Linux zeitgerecht planen und erstellen. Das hilft vor allem dann, wenn andere Programme nicht zur Verfügung stehen.
Wget ist eine überzeugende Alternative für StreamRipper und SoX, um mit deutlich weniger Einstellungsaufwand die gleichen Ergebnisse zu erzielen.
Man Page
at: https://manpages.ubuntu.com/manpages/trusty/man1/at.1posix.html
wget: https://linux.die.net/man/1/wget
Prozesse beenden
wget und cvlc
https://ubuntuforums.org/showthread.php?t=2463213
© Wolfgang Kirk
Stand: 2023-02-27, 19:30 Uhr