[Tutorial] RTMPDump zum Mitschneiden von rtmp:// Streams
Der 12. Rundfunkänderungsstaatsvertrag hat mit sich gebracht, dass aus irgendeinem Grund ein riesiger Teil der Online-Inhalte der Öffentlich-Rechtlichen gelöscht werden sollten und aktuell eine kürzere Speicherdauer für die meisten Inhalte gilt. Eventuell mag das so manchen dazu bewegen seine Lieblingssenden direkt auf der heimischen Festplatte speichern zu wollen quasi als legalen Privatmitschnitt. Das Vorgehen werde ich an zwei Beispielen beschreiben.
Um rtmp:// Streams mitzuschneiden kann man auf diverse Tools zurückgreifen – ich werde die mächtige Software RTMPDump benutzen, die es für Linux, Windows und Android gibt. Ich benutze in diesem Tutorial die Windows-Version, wobei die Parameter unter Linux und Windows die gleichen sind.
Beispiel 1: WDR Mediathek – Rockpalast

Rockpalast Logo
In der Sendung Rockpalast werden Konzerte von beliebten Künstlern ausgestrahlt, allerdings sehr spät in der Nacht und ohne Wiederholung. Darum könnte es interessant sein eine Sendung noch einmal abzurufen. Man sucht sich also ein Konzert und geht zur Videowiedergabe. Ein Flash-Player macht sich bereit, jedoch wollen wir die Inhalte ja speichern und nicht direkt gucken. Wir gucken uns den Quelltext an und suchen die Zeile, die in etwa so aussieht:
value="startPicture=/tv/rockpalast/codebase/img/audioplayerbild_512x288.jpg&dslSrc=rtmp://gffstream.fcod.llnwd.net/a792/e2/tv/rockpalast/live/2010/morcheeba.mp4&offset=&autoPlay=false&useFLVPlayback=1
Davon interessiert uns nur die Stelle, in der der direkte Stream beschrieben wird:
rtmp://gffstream.fcod.llnwd.net/a792/e2/tv/rockpalast/live/2010/morcheeba.mp4
Mit dieser URL geht es alles ganz einfach. Unter Windows wird RTMPDump für das Beispiel so aufgerufen:
C:\rtmpdump-2.3\rtmpdump.exe -r rtmp://gffstream.fcod.llnwd.net/a792/e2/tv/rockpalast/live/2010/morcheeba.mp4 -o "C:\Downloads\morcheeba.mp4"
Die hier genutzten Optionen sind diese:
-r url URL (e.g. rtmp://host[:port]/path)
-o string FLV output file name, if the file name is – print stream to stdout
Beispiel 2: RBB – Brandenburg Aktuell

Brandenburg Aktuell
Bei einigen Stream geht es nicht ganz so einfach wie im 1. Beispiel. Es kann ein Fehler auftreten, der so lautet: “WARNING: Received FLV packet before play()! Ignoring.” Das bedeutet der Stream wurde zwar gefunden, kann aber nicht korrekt aufgenommen werden. Wir brauchen dafür diesen Parameter:
-y path Overrides the playpath parsed from rtmp url
Der Quellcode vom 2. Beispiel sieht wie folgt aus:
streamer=rtmp://stream5.rbb-online.de/rbb;videotitle=BRANDENBURG AKTUELL [...] href="/aktuell/aktuell_20100901_sdg_MP4H264_m_16_9_512x288.mp4"
Es muss wohl eine Art Umleitung sein, die man mit -y direkt auflöst. Außerdem muss man die Endung bei dieser Option vor dem Dateipfad angeben. Der Befehl um diese Datei zu speichern lautet in diesem Fall also:
C:\rtmpdump-2.3\rtmpdump.exe -r rtmp://stream5.rbb-online.de/rbb -y mp4:aktuell/aktuell_20100901_sdg_MP4H264_m_16_9_512x288 -o "C:\Downloads\Stream-Download.mp4"
Und schon gehts los und alle Inhalte landen auf der Festplatte. Das ist natürlich auf andere Streams auch anwendbar. Wenn es dann losgeht sieht das ganze so aus:

Downloaden eines rtmp-Streams

