Flash Video Stream speichern
Linux/OpenSource, ubuntuusers.de Februar 6th, 2010Videos sind im Internet verbreitet – und mit ihnen Adobe Flash. Flash Videos zu speichern gelingt mit Firefox und passenden Addons/Extensions sehr leicht.
Etwas kniffliger wird die Sache, wenn man es mit einem gestreamten Video zu tun hat. Solche Flash Videos werden nicht mit HTTP ausgeliefert, sondern durch das RTMP Protokoll (Real Time Messaging Protokoll).
Nun ist aber das Speichern von Flash Video Streams auch interessant, vor allem wenn man ein Video mal unterwegs oder offline schauen möchte. (Wie die rechtlichen Implikationen beim Speicher von Flash Stream Videos sind, weiss ich nicht. Ich halte da vieles für denkbar in Deutschland und der EU.)
Wer keine Angst vor der Kommandozeile hat, findet mit dem Tool rtmpdump eine praktische und auch funktionierende Lösung. Leider findet sich rtmpdump noch nicht in den Ubuntu Repositories, und auch Debian hat meines Wissens kein Paket dafür. Dafür ist lässt sich das rtmpdump Programm jedoch sehr schnell und einfach selber übersetzen. Man bekommt die aktuellen Source auf http://rtmpdump.mplayerhq.hu/
Fuer das Übersetzen des rtmpdump Programmes benötigt man „libssl-dev“ und das „libboost-dev“ Paket. Sind diese installiert, kann man den Source code von rtmpdump auspacken und mittels „make linux“ ein ausführbares Binary erzeugen. (Ich habe eine 32bit Karmic Version von rtmpdump hier zum Download bereitgestellt.)
Die Anwendung ist denkbar einfach: rtmpdump -r <URL> -o <DATEINAME> speichert den RTMP (Flash Video) Stream in DATEINAME ab. Von eventuellen Fehlermeldungen sollte man sich nicht zu sehr beeindrucken lassen. Die Flash Video (FLV) Datei kann übrigens auch der Totem Videoplayer abspielen – wesentlich CPU und Strom/Akku schonender als das Browser Flashplugin.
Februar 7th, 2010 at 03:38
Das kniffelige an der Sache ist aber an die URL zu kommen. Das wäre doch mal einen Artikel wert. 😉
Februar 7th, 2010 at 05:07
Ich hab noch nie verstanden warum man sich da so viel Mühe macht, oder extra Programme benötigt … Sobald der Film im Browser komplett geladen ist, liegt die flv-Datei ohne Dateiendung unter /tmp und der Dateiname beginnt mit „Flash“. Wer also schon im Terminal ist, einfach:
cp /tmp/Flash ~/.flv
… und dabei die Dateinamenvervollständigung nutzen. Wichtig ist nur zu warten bis die Datei vollständig geladen ist, sonst ist die Datei natürlich unvollständig. Sobald der Tab im Browser geschlossen wird verschwindet die Datei wieder.
~jug
Februar 7th, 2010 at 11:04
Ich habe z.B. vor, einen ganzen Stapel Videos herunterzuladen, und das soll der Computer bitte automatisch machen. Sonst sitz ich ja ewig vor dem Browser und warte dass er fertig wird.
Dazu kommt, dass bei mir bei echten Flash Streaming Videos (via RTMP) das File nicht in /tmp auftaucht.
Februar 7th, 2010 at 11:06
Das ist richtig – um die Flash Stream URL herauszufinden habe ich ngrep und wireshark bei der speziellen Webseite benutzt. (Eine AIR Applikation, so dass aus dem HTML Quellcode nicht die rtmp Stream URLs herauszufinden waren.)
Februar 12th, 2010 at 12:41
Ich mach das immer mit mplayer über die Kommandozeile mit der dump Option 😉
Februar 27th, 2010 at 16:16
Links … schaut euch mal als schlechtes Beispiel
http://www.zdf.de/ZDFmediathek/kanaluebersicht/aktuellste/180?flash=off&bc=kua884730
an. Dort kommt Ihr erst über einen „Doppelhüpfer“
http://wstreaming.zdf.de/zdf/veryhigh/080728_vancouver_dok.asx
zum richtigen Link
mms://ondemand.msmedia.zdf.newmedia.nacamar.net/zdf/data/msmedia/zdf/08/07/080728_vancouver_dok_vh.wmv
Unter Windows holt sich Flashget das Video sekbst.
na dann viel Spaß
Februar 27th, 2010 at 17:08
Hierbei handelt es sich augenscheinlich sowieso nicht um Flash Video Streaming, sondern Windows Media, zudem ist die Datei auch per HTTP verfuegbar, womit der Download auch von der Kommandozeile wesentlich einfacher ist.
März 6th, 2010 at 08:39
Nochmal Links …
http://www.stammtischphilosoph.com/2009/03/08/mediathek-ps3-media-server/comment-page-1#comment-4078
http://www.stammtischphilosoph.com/wp-content/uploads/zdfmediathek.txt
… und ein schönes Weekend
März 18th, 2010 at 21:03
Besonders knifflig muss das finden der URL nicht sein – Voraussetzung ist: die volle URL wird im RAM zusammengesetzt und am Stück abgelegt. Ist dies gegeben hilft eine Abfrage von /proc/kcore:
‚cat /proc/kcore | strings | grep „rtmp“ | more‘
Das liefert u.a. alle offen im Speicher liegenden rtmp(e) URLS.
Es gibt allerdings schon VOD Angebote, wo auch dieser Schritt zusätzlich verschleiert wird, indem nur Teile der URL im Speicher ausgewiesen werden (der Rest ergänzt das Flash Plugin) und das Ganze wird erst noch verstückelt.
In dem Fall helfen praktisch nur Sniffer Tools wie URL Snooper oder Wireshark – der Aufwand das zu debuggen ist dann entsprechend grösser.
August 22nd, 2010 at 09:58
Bei der Zdf Mediathek (auch Zdf-tivi) funkioniert das mit dem -r leider nicht. Dort kommt dann „Connection refused“.
Wenn man die Parameter anpasst, klappt es allerdings:
rtmpdump
--host "ondemand.flash.zdf.newmedia.nacamar.net"
--tcUrl "rtmp://ondemand.flash.zdf.newmedia.nacamar.net/zdf/"
--app "zdf"
--playpath "mp4:zdf/data/quicktime/tivi/090825_mamisgeburtstag_bib_vh.mp4"
-o ausgabedatei.mp4
Nur Playpath und Ausgabedatei muessen geaendert werden, der Rest ist bei der Mediathek immer gleich. Die mp4’s gibts in 3 Qualitaetsstufen: l.mp4 – low, h.mp4 – high, vh.mp4 – very high
Zum Url herausfinden hatte ich live http headers benutzt.
November 26th, 2010 at 15:49
Also je nachdem was man Laden will sind folgende Plugins wichtig:
-Download them all
-Flashgot
-DownloadHelper
-das totem plugin ( vorinstalliert)
Installieren sollte man mmsrip ( google hilft) und flvstream
Wenn ihr zb neues aus der Anstalt rippen wollt und weder flashgot noch Downloadhelper anspringt, müsst ihr einen anderen stream wählen, hier is es windows media, den das totem plugin abspielt, sobald das abspielen begonnen hat -> rechtsklick kopieren und dann mit mmsrip in der konsole herunterladen
bei rtmp links anwenden
Downaload them all ist lediglich dazu da gewisse downloads SEHR zu beschleunigen
Grüsse
Dezember 17th, 2010 at 13:48
Leider habe ich noch einige Probleme ein Video zu speichern.
1.) Ich die URL rausgefunden: http://wstreaming.zdf.de/zdf/veryhigh/101104_karl1_lioudfa_did.asx
2.) Ich habe mir rtmpdump-1.9 runtergeladen und entpackt.
3.) Ich habe mir eine BAT erstellt. Leider funktioniert diese jedoch nicht?!?
Wie müßte eine solche BAT aussehen?
Januar 4th, 2011 at 10:06
Mit dem kostenlosen Streamtransport funktioniert das Runterladen gaaaaanz leicht.
Januar 6th, 2011 at 08:48
Danke Franz! Damit hats perfekt funktioniert!
Juli 15th, 2011 at 13:08
Hatte gerade das gleiche Problem, allerdings vergeblich versucht, rtmpdump ausführbar zu bekommen. Doch in den Repositorien (Lucid Lynx) ist ein Programm namens flvstreamer. Ist das installiert, geht das Speicher in der Konsole einfach mit:
flvstreamer -r rtmp://LINKADRESSE -o AUSGABEDATEI.flv
Vielleicht hilft der Tipp anderen, die auf diese Seite stoßen. Viel Glück!
April 11th, 2015 at 17:01
gibt es mittlerweile eine bessere möglichkeit?