Webradio aufnehmen – Wget macht’s möglich!

Um ein Webradio aufzunehmen, werden meist große Anwendungen angeboten, oft sind diese auch überladen mit Funktionen, oder in irgendeiner Weise begrenzt.

Dieses Problem hatte ich auch vor kurzem. Deshalb habe ich mich mal schlau gemacht, wie man so etwas ganz simpel lösen könnte.
Da eigentlich alle Sender ihre Streams über das Webprotokoll „http“ bereitstellen, können diese mit einfachen Downloadtools abgegriffen und gespeichert werden.

Ein Downloadtool davon ist Wget. Mit ihm können ganz einfach über die Konsole eine Datei vom Web herunterladen, indem man z. B. „wget http://download.gservon.de/gson/hangman/hangman.exe“ eingibt. Die Datei wird dann standardmäßig in das selbe Verzeichnis wie Wget selbst gespeichert.

 

Aber wie nehme ich damit jetzt einen Radiostream auf?

Ganz einfach!
Wir brauchen nur 2 Batchdateien und das kleine Progrämmchen Wget. Zusätzlich benötigen wir noch ein Programm, welches Wget nach einer bestimmten Zeit wieder beenden kann. Unter Windows 7 gibt es das eingebaute Tool „taskkill“. Sollte dein Windows dieses Tool nicht mitliefern. kannst du auch das hier verwenden http://www.sysinternals.com/Utilities/PsKill.html. Jedoch ist dort die Handhabung etwas anders, als bei taskkill.
Da Windows 7 mittlerweile am verbreitesten ist, arbeite ich hier mit dem mitgelieferten taskkill.

Zuerst müssen wir uns die beiden Batchdateien schreiben.
Wget habe ich zu „wr-dwl.exe“ umbenannt, damit beim späteren Beenden der Aufnahme nicht noch weitere Aufnahmen beendet werden, da wir zum hierfür den Dateinamen von Wget benötigen.

Dafür erstellen wir uns einfach einen neuen Ordner. Dann öffnen wir den Editor und schreiben folgendes hinein:

 @echo off
 :start
 echo ----------------------------------------------------
 echo Neue Aufnahme laeuft...
 echo ----------------------------------------------------
 wr-dwl.exe --retry-connrefused --continue <LINK ZUM STREAM> -O "<PFAD UND DATEINAME>-%date%_%time:~0,2%-%time:~3,2%.mp3"
 goto start

Mit dem Befehl „goto start“ starten wir nach dem Beenden der Aufnahme automatisch eine neue. Wenn das nicht gewünscht ist, kann diese Zeile einfach gelöscht werden.

Dann speichern wir  das Ganze unter „Record.bat“. Wichtig ist, dass es nicht als .txt abgespeichert wird. Das sollte dann wie folgt aussehen:

Editor Speicherdialog

 

Wenn alles gespeichert ist, klicken wir im Editor auf Datei/Neu und geben wieder folgendes ein:

 @echo off
 taskkill /IM wr-dwl.exe /F

Zum Speichern, muss es wieder mit der Dateiendung „.bat“ versehen werden.

Wenn auch diese Datei gespeichert ist, sollte nun alles so aussehen:

Soweit so gut. Wenn jetzt die Record-Batch gestartet wird, startet automatisch die Aufnahme, die in den von dir angegebenen Pfad gespeichert wird.

 

Jetzt kann natürlich die Aufnahmen ganz einfach manuell über das Schließen des Konsolenfensters, oder mit dem Ausführen der „StopRecording“-Batch beendet werden. Allerdings kann man das auch automatisieren.

Hierfür verwenden wir einfach die Windows eigene Aufgabenplanung.
Wir erstellen eine neue Aufgabe und stellen bei Trigger und Aktion folgendes ein:

Aufgabenplanung - Trigger

Aufgabenplanung - Aktion

Ab jetzt wird jede Stunde die „StopRecording.bat“ ausgeführt und die Aufnahme beginnt von neuem. Da die Aufnahmen sonst schnell einige Gigabyte erreichen ist das also sinnvoll.

Danach bekommst du jede Stunde eine fertige Aufnahme mit Datum und Uhrzeit, die du jetzt unabhängig vom Radio hören kannst.

Viel Spaß damit!

1 Kommentare zu “Webradio aufnehmen – Wget macht’s möglich!

  1. Purely to follow up on the udpate of this subject on your website and wish to let you know simply how much I loved the time you took to generate this handy post. In the post, you spoke on how to really handle this matter with all comfort. It would be my pleasure to gather some more tips from your web page and come up to offer other folks what I have learned from you. Thanks for your usual wonderful effort.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert