Internetradio zeitgesteuert aufzeichnen.
#1
Hallo in die Runde,

nachfolgend eine kleine Anleitung für das zeitgesteuerte Aufzeichnen von Internet-Radio mittels Freeware und Windows-Systemtools. (Damit der Rote Knopf nachts in Ruhe schlafen kann Big Grin ) Auch wenn hier die Beschreibung sehr ausführlich ist, das Prinzip ist aber sehr einfach:

Windows-Taskplaner ruft Batchdatei mit Befehl für ein Tool.

Die Story: Seit einigen Monaten benutze ich auf einem HP-530 Notebook mit Windows 2000 die Bezahlsoftware Magix Webradio Recorder 4 für die Aufzeichnung diverser nächtlicher Sendungen im Internet. Die Software ist dazu gedacht anhand von Zeitplänen verschiedene Streams organisieren und aufzeichnen zu können. Leider funktioniert die Software auf meinem Notebook nicht zuverlässig. Sprich einige Sendungen werden hin und wieder aus unergründlichen Ursachen nicht aufgezeichnet. Ferner stoppt die Software bei einer Unterbrechung des Streams und lässt sich nicht dazu bewegen, es innerhalb des Zeitplanes sofort wieder zu versuchen. Deshalb suchte ich nach einer anderen Lösung.

Die Zeitsteuerung sollte mit dem Taskplaner von Windows oder einem entsprechenden Tool möglich sein. Auf ein Tool konnte dann aber verzichtet werden, denn der Windows Taskplaner arbeitete (bis auf ein „Missing Feature“ aber dazu später mehr) in den Tests sehr zuverlässig. Ferner wurde eine Stream-Aufzeichnung-Software benötigt, die sich per Kommandozeile steuern lassen soll. Neben einem Windows DLL, fiel hier aber der Einfachheit halber die Wahl auf die OpenSourceSoftware Streamripper. Ein Tool, das Primär als Zusatz zum Winamp-Player gedacht ist, sich aber auch ohne dieses Feature installieren lässt. Btw. Es gibt die Software auch für Linux.

Vorgehen:

Zunächst einfach den Streamripper runterladen und (bei Bedarf ohne Winamp-Feature) installieren.

http://sourceforge.net/projects/streamri...urrent%29/

Dies Software installiert sich unter: C:\Programme\Streamripper

In dieses Verzeichnis lege ich nun für jeden Sender eine Batch-Datei ab. Z.B.: Aufnahme_DRadioWissen70Min.bat Man könnte auch das Kommando für den Streamripper direkt in den Taskplaner eintragen, aber ich entschied mich für eine Batchdatei um alles Schritt für Schritt testen zu können.

Inhalt der Batch-Datei der Aufruf des Programms mit entsprechenden Parametern:

streamripper http://www.dradio.de/streaming/dradiowissen_hq_ogg.m3u -l 4300 -d E:/ -s -D %%d_%%S_%1
pause

‚streamripper’ ist der Name des Programms
http://www.dradio.de/streaming/dradiowissen_hq_ogg.m3u’ ist die Adresse eines Senders/URL

‘-l 4300’ gibt die Aufzeichnungsdauer in Sekunden an. Diese Angabe ist bei Windows 2000 nötig, da der Taskplaner es bei mir nicht schafft den Streamripper (bzw. den Task) wieder zu beenden . Bei meinen XP-Maschinen kann ich das weglassen, denn dann stelle ich die Laufzeit im Taskplaner ein und am Ende des Tasks wird auch das Programm beendet.

‚-d E:/’ Parameter für Verzeichnis für die Zieldateien. Streamripper legt dort dann noch Unterverzeichnisse Incomplete und Complete an um ferige und unfertige Dateien zu trennen. Streamripper kann neben ganzen Sendungen in einer einzigen Datei auch einzelne Titel speichern, wenn der Sender entsprechende Kennzeichen mitsendet.

‚-s -D %%d_%%S_%1’ sind Schalter für die Verzeichniserweiterungen um Streamkennzeichnung, Datum und Zeit automatisch zuzufügen. Streamripper legt dann die Pfade automatisch entsprechend an, das verhindert ein Überschreiben von Dateien gleichen Namens. Der Ripper kennt hier eine Vielszahl von weiteren Schaltern, sodaß sich das Dateiverhalten sehr schön steuern lässt. Allerdings empfehle ich hier ausführliche Tests, denn die Schalter haben Abhängigkeiten und Bevorrechtigungen. (Sehr schön nachzulesen in der Readme-Datei im Programmverzeichnis.) Der Parameter %1 ist eine von mier zugefügte Umgebungsvariable für die Batchdatei um noch einen Namen aus dem Taskplaner mit übergeben zu können.

Der DOS „Pause“-Befehl dient lediglich dazu die DOS-Box offen zu halten um nach dem Ende sehen zu können, was darin gestartet wurde und ablief. Er kann später auch wieder entfernt werden.

Startet man die Batchdatei durch einfaches Anklicken im Explorer, startet die Aufzeichnung sofort und kann in Ruhe getestet werden.

Der Rest der Aufgabe besteht nur noch darin, die Zeit festzulegen, wann die Batch-Datei gestartet werden soll. Hierzu nutze ich den Taskplaner von Windows. Er ist im Explorer unter Systemsteuerung, Geplante Tasks zu finden.

Durch das rechte Mausklicken im Ordner oder durch den Assistent kann man einen neuen Task anlegen. Als Name des Tasks verwende ich eine Kurzbeschreibung der Funktion. Beispielsweise Sonntag 23Uhr Sender und Sendung o.ä.. So erhalte ich in diesem Ordner eine schöne Liste der wöchentlichen Sendungen(Tasks).

In den Eigenschaften des neuen Tasks unter „Task“ „Ausführen“ gebe ich nun den Ort und Namen der Batchdatei an. Ferner gebe ich an dieser Stelle (Hinter den Ausführungszeichen und einer Leerstelle) noch eine Bezeichnung der Sendung (NameohneLeerstellen) mit, da nicht alle Streams Namen und Bezeichnungen liefern und so immer sichergestellt ist, dass die Aufzeichnungs-Datei auf der Festplatte auch einen vernünftigen Namen im Pfad hat.

Wenn Windows für diesen Task Kennwörter des Windows-Users verlangt, diese bitte angeben und eintragen, damit der Task auch die nötigen Rechte im System hat um zu starten.

Unter „Zeitplan“ gebe ich dann die entsprechenden Angaben ein, wann die Aufzeichnung starten soll. Hier können sehr schön auch wöchentliche oder monatliche Sendungen angegeben werden. Die möglichen Einstellungen decken so ziemlich alle denkbaren zeitlichen Fälle ab.

Unter „Einstellungen“ gebe ich bei „Task beenden nach“ dann noch entsprechend an, wie lange mein Task laufen soll. Wie schon oben gesagt, wird bei Windows XP auch das gestartete Programm bzw. Batch beendet. Bei Windows 2000 SP4 offensichtlich leider nicht. Deshalb auch in der Batch zusätzlich die Angabe der Aufzeichnungsdauer in Sekunden. (leider) Trotzdem auch bei Windows 2000 die Laufzeit des Tasks angeben, damit er auch beendet wird. Sonst ist er auch später noch aktiv, wenn die Aufzeichnung schon beendet ist.

Sind alle Angaben gemacht mit OK bestätigen und das Eigenschaftenfenster schließen. Per rechtem Mausklick kann der Task manuell gestartet/beendet werden um alles testen zu können.

Fertig ist die „Laube“ !

Zugeben etwas Bastelei, aber dafür mit Bordmittel und für lau. Und viel wichtiger: Das System ist für viele Tools und Aufgaben anpassbar. Beispielsweise könnte man anstelle des Streams mit einem anderen Tool das Signal der Soundkarte und Radio aufnehmen. Auch unter Linux müsste das gut mit dem Internetradioaufzeichnen via Streamripper und Cron (Dank für Hinweis von Timo) funktionieren. Ferner laufen alle Tasks getrennt, so könnte man auch zwei oder mehr Sender gleichzeitig aufzeichnen. Und dann wäre es noch möglich via Taskplaner den Rechner aus dem "Halb-Schlaf" zu wecken, wenn die Aufzeichnung ansteht. Das habe ich aber noch nicht getestet aber es gibt Einstellungen in den Task-Eigenschaften dafür.

In diesem Sinne: Stream down, Aufnahme läuft! Und der Rote Knopf kann jetzt in Ruhe schlafen ;-)

VG
Michael

@Admin: Kann leider den Schreibfehler im Titel nicht berichtigen.
Zitieren
#2
Hallo,

nur als Ergänzung und in der Handhabung, m. E., etwas einfacher.

http://www.chip.de/downloads/Streamwriter_43007152.html

Nimmt auf (auch mehrer Sender gleichzeitig), schneidet und spielt mp3 etc.

Gruß
Manfred
Gruß
Manfred (Bandsalat)

-----------------------------------------------------
Philips N4520, Uher Variocord 263, Akai 600DB, Akai GX 210D, Akai 230D, Philips 4416, Uher Report 4400 Stereo
Zitieren
#3
Hallo Michael,

guter Tip! Werde ich mal ausprobieren.

Ich habe auch mal mit Streamripper angefangen, allerdings nicht zeitgesteuert. Bin dann über Stationripper per Zufall zu Radiotracker gekommen. Mir gefallen bei letzterem vor allem die (nachträglichen) Schnittmöglichkeiten, falls der an sich gute Schnittalgorithmus mal Anfang und Ende nicht so genau getroffen hat. Bedienung ist praktisch intuitiv.

Gruß
Jürgen
Zitieren
#4
Hallo in die Runde,

zu obengenannten Thema mal zwei Fragen an die Windowsexperten:

1. Mir ist aufgefallen, dass aufgezeichnete Sendungen immer eine versetzte Uhrzeit im Explorer bekommen. Beispielsweise eine Sendung beginnt um 20 Uhr und dauert zwei Stunden. In Windows hat die Datei dann als Änderungszeit 21 Uhr. Dies sowohl mit WaveRekorder, als auch mit Streamripper. Holen sich die Programme die Zeit aus dem BIOS o.ä.? Wie kann man das richtig bekommen?

2. Wie kann ich den Inhalt des Ordners "Geplante Tasks" sichern bzw. auf eine andere Maschine kopieren. (Windows 2000) Windows lässt das nicht zu ... Ich möchte die Tasks auf zwei Maschinen verteilen ohne die Tasks neu anzulegen.

VG
Michael
Zitieren
#5
Zitat:GXNet postete
2. Wie kann ich den Inhalt des Ordners "Geplante Tasks" sichern bzw. auf eine andere Maschine kopieren.
Ich hab' gerade kein Windows zum Nachgucken griffbereit, aber ich meine, die Tasks liegen als Dateien unter C:\Windows\Tasks.

(Edit: Smilies ausgeschaltet, weil sonst C:\ durch einen solchen ersetzt wird.)
Zitieren
#6
Vielleicht gibt es auch einige User unter uns, die Linux in verschiedenen Distributionen nutzen. Ich gehöre seit mehreren Monaten dauerhaft dazu, Win XP wird so gut wie nie gestartet. Wenn, dann läuft eine neue Installation in der VirtualBox.

Zum Rippen von Webstreams habe ich auch KStreamRipper installiert. Zwar wird meist manuell aufgezeichnet, ich schaue mir aber noch mal die Kommandozeilenparameter dazu an, diese müssten sich sehr ähneln bzw. sogar gleich sein.

Ein gewisses Problem sehe ich in der Unterteilung der einzelnen Titel (die Trennung wird ja durch den Sender mit dem Interpreten- / Titelnamen mitgesendet. Wenn ich nun eine komplette Sendung von z.B. drei Stunden aufnehme habe ich zwar die ganzen einzelnen Titel da, aber die Übergänge, an denen ein "Schnittpunkt" gesetzt wird, diese nützen mir gar nichts. Ich möchte die Sendung "am Stück " hören. Es gibt dazu ein kleines Script, welches die gesamten Titel wieder in eine zusammenhängende Audiodatei schreibt: mp3join.sh: http://wiki.ubuntuusers.de/Skripte/MP3_Z...%C3%BChren

Das funktioniert einwandfrei, nach wenigen Minuten liegt die Datei dann als MP3 komplett vor.

Gruß Jens
Zitieren
#7
Zitat:esla postete
Zum Rippen von Webstreams habe ich auch KStreamRipper installiert. Zwar wird meist manuell aufgezeichnet, ich schaue mir aber noch mal die Kommandozeilenparameter dazu an, diese müssten sich sehr ähneln bzw. sogar gleich sein.
Ist KStreamRipper nicht nur ein Frontend für diverse Kommandozeilenprogramme?

Zum kommandozeilengesteuerten Aufzeichnen kannst Du z.B. den mplayer benutzen:

mplayer -dumpstream -dumpfile test.mp3 [Streamadresse]
Zitieren
#8
Muss ich bei Gelegenheit mal probieren, danke Timo. Im Moment nehme ich auf, da geht es nicht. Ja, KStreamripper ist nur das grafische Frontend für die Kommandozeile.

EDIT: Ich habe das eben ausprobiert, klappt einwandfrei! Nun noch ein Shell-Script schreiben, welches mir die Titel in eine Textdatei schreibt, die denselben Namen haben soll wie das MP3. Dann das ganze einbauen in die crontab. Schon kann man nichts mehr vergessen (solange der Rechner läuft).

Gruß Jens
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste