Videos aus ARD Mediathek herunterladen

Friday, January 8. 2010, 22:39
Ich stand heute vor dem Problem, ein Video aus der ARD-Mediathek herunterladen zu wollen. Die gibt es meistens nur noch als Flash und ohne Download-Link.

Die Videos werden über RTMP übertragen, was ein Flash-eigenes Videostreaming-Protokoll ist. Im gulli-Forum fand ich eine Anleitung. Ich habe darauf basierend ein kleines Skript ardget geschrieben, mit dem man das bequem erledigen kann. Aufzurufen einfach über
ardget "[URL der Mediathek]"

Die Anführungszeichen sind notwendig, weil die URLs &-Zeichen enthalten, die sonst von der Shell fehlinterpretiert werden. Da die Videos teilweise mit Javascript-URLs verlinkt sind, filtere ich das auch entsprechend, man kann also den kompletten javascript: beginnenden Link übergeben. Benötigt wird entweder flvstreamer oder rtmpdump, sollte ansonsten in jeder gängigen Unix-Shell funktionieren.

Trackbacks

No Trackbacks

Comments
Display comments as (Linear | Threaded)

Ich habe leider ein Problem mit dem Skript (Ubuntu 9.04):

Das flvstreamer-Binary habe ich hier gefunden und in den Pfad kopiert:
http://linuxcentre.net/getiplayer/download

henze@quad:~/xy$ ./ardget 'http://www.ardmediathek.de/ard/servlet/content/3613660'
Using flvstreamer
HTTP URL is http://www.ardmediathek.de/ard/servlet/content/3613660
RTMP URL is
Host is , app is , playpath is
Saving as ARD_Mediathek_Bericht_aus_Berlin_Bericht_aus_Berlin_Sonntag_10.01.2010_Das_Erste.flv
FLVStreamer v2.1a
(c) 2008-2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
ERROR: Problem accessing the DNS. (addr: -a)
henze@quad:~/xy$

Woran könnte das liegen?
Danke im voraus
Rudolf
#1 R. Henze on 2010-01-11 18:52 (Reply)
Das angegebene Video verwendet wohl kein RTMP. Allerdings bietet dieses Video einen direkten Download an (das Symbol mit dem Pfeil nach unten), insofern benötigt man überhaupt kein Tool für den Download.
#1.1 Hanno (Link) on 2010-01-11 20:29 (Reply)
Vielen Dank!

jetzt klappt es, zumindestens teilweise. Es funktioniert mit
Mythos Ruhr: Wo das Beständige der Wandel ist
unter http://www.ardmediathek.de/ard/servlet/content/3616338
Allerdings klappt der "Kulturpass für Arme in Frankfurt" unter

http://mediathek.ard.de/ard/servlet/content/3618490

nicht. Offenbar gibt es also auch nicht-RTMP Inhalte, die sich dennoch nicht speichern lassen.
Gruß
Rudolf
#1.1.1 R.+Henze on 2010-01-12 10:23 (Reply)
Auf der Seite zum Kulturpass findet sich im Seitenquelltext folgende URL:
http://www.hr.gl-systemhaus.de/flash/fs/hessenschau/20100111_1930_kulturpassd.flv

Ich könnte das evtl. einbauen, aber das kann man auch relativ einfach manuell runterladen.
#1.1.1.1 Hanno (Link) on 2010-01-12 10:27 (Reply)
Achso, der Direktlink zur FLV-Datei ist direkt im Quelltext enthalten! Sehr praktisch!
Das Einbauen in das Skript ist aus meiner Sicht nicht notwendig.
Gruß
Rudolf
#2 R.+Henze on 2010-01-12 11:52 (Reply)
Auf eine Sache möchte ich noch hinweisen. Es gibt ein prima Python-Skript zum Herunterladen (oder Live ansehen) der ZDF-Mediathek:

http://sixserv.org/2009/12/21/mtgetzdf-mediathek-downloadstream/
#3 R.+Henze on 2010-01-12 11:56 (Reply)
Das Format der Mediathek-Seite hat sich geaendert.
ARDGET funktioniert nun wieder nachdem ich die folgenden zwei Zeilen hinzugefuegt habe (direkt nachdem die variable rtmpurl berechnet wurde):
mp4url=`echo $webpage | grep -o 'mp4[:/\.=_a-zA-Z0-9]*' | tail -n 1 | cut -d: -f2`
rtmpurl2=${rtmpurl}${mp4url}

Die Zeile zum flvstreamer musste ich dann wie folgt aendern:
flvstreamer -r $rtmpurl2 -o $filename
#4 Thomas on 2010-01-20 11:18 (Reply)
Nettes Script. Leider ist ein kleiner Bug drin. Es wird immer flvstreamer benutzt, da es in der letzten Zeile direkt aufgerufen wird. Stattdessen müsse $tool aufgerufen werden.
#5 anonym on 2010-02-07 19:50 (Reply)
Die letzte Zeile müsste so lauten:
$tool -n $host -a $app -y $playpath -o $filename
#6 lll on 2010-02-27 23:05 (Reply)
http://sourceforge.net/projects/zdfmediathk/
#7 Max on 2010-07-26 20:34 (Reply)

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.