Radiorecorder-Podcast im Selbstbau
Ich höre immer und überall Podcasts, also Mitschnitte interessanter Interviews, Radiosendungen und Hörspiele. Allerdings werden nicht alle Radiosendungen zum „zeitsouveränen Hören“ zum Herunterladen zur Verfügung gestellt. Das heißt, die einzige Chance, diese Sendungen zu hören, ist live vorm Radio zu sitzen.
Diesen Umstand konnte ich nicht auf mir sitzen lassen. Schließlich habe ich mit meinem Raspberry Pi einen ständig laufenden Computer, der die Sendungen aufnehmen und als Podcast zur Verfügung zu stellen kann.
Doch dazu mussten wieder mehrere Probleme gelöst werden:
Radiosendungen mitschneiden
Zuerst stellt sich das Problem, die Radiosendung aufzunehmen. Glücklicherweise hat mittlerweile jeder Radiosender einen Webstream, auf den man zugreifen kann. Mit dem Commandline-Tool Streamripper ist es möglich, diesen Stream mitzuschneiden und als mp3-File zu speichern. Folgender Befehl nimmt beispielsweise eine Stunde (3600 Sekunden) vom laufenden „Funkhaus Europa“-Programm auf und speichert es als „Testfile.mp3“ ab:
streamripper http://www.wdr.de/wdrlive/media/fhe.m3u -a "Testfile.mp3" -A -d "/home/pi/" -l 3600
Damit mir die Files nicht die SD-Karte des Raspberry Pi zumüllen, werden diese auf dem USB-Stick an meinem Router abgespeichert. Die Fritzbox bietet die Möglichkeit, den Stick als Netzlaufwerk einzubinden (Samba-Server). Im Raspberry Pi habe ich dieses Netzlaufwerk gemountet und speichere die mp3-Files im öffentlich zugänglich ab (auch da hilft die Fritzbox: per DynDNS kann man eine feste Adresse einrichten und per Portweiterleitung auf den RaspPi hat man Zugriff auf die Daten).
Podcast erstellen
Da ich die Mitschnitte aber mit meinem iPhone hören will, habe einen Podcast daraus gebastelt. Technisch gesehen ist eine Podcast ein RSS-Feed, der auf Medienfiles (z.B. mp3) verlinkt. Das heißt, dass ich automatisch ein XML-File generieren muss, dass sich bei jeder neuen Aufnahme erneuert.
Dazu wird zu mit jeder gestarteten Aufnahme ein weiterer Eintrag in ein Logfile geschrieben. Aus diesem Logfile kann mit meinem Python-Skript dann das XML-File generiert werden (als Vorlage diente mir dieser RSS-Generator, den ich im Netz gefunden habe).
Zum besseren Handling kann man den Feed dann noch durch Feedburner jagen, um z.B. einen Passwortschutz hinzuzufügen oder um die maximale Kompatibilität mit allen Systemen zu garantieren.
Recorder Programmieren
Das letzte Problem besteht darin, den Recorder zu programmieren. Unix-basierende Systeme besitzen die Crontab, wo man Befehle eintragen kann, die zu bestimmten Zeitpunkten (Uhrzeit, Datum & Wochentag) ausgeführt werden sollen. Folgende hinzugefügte Zeile führt das Bash-Skript „recorder.sh“ jeden Samstag um 22:00 Uhr aus:
00 22 * * sat bash /home/pi/scripts/recorder.sh
Dieses Skript führt dann die oben beschriebenen Punkte aus: Streamripper starten, Logfile schreiben & RSS-File updaten
In meinem Github-Repository habe ich das fertige Ergebnis zur Wiederverwendung abgelegt (mit Installationsbeschreibung).