TEILEN

Zum Download von YouTube-Videos gibt es zahlreiche Browserweiterungen oder Kommandozeilen-Tools wie youtube-dl oder mps-youtube. Besonders youtube-dl hebt sich von den angebotenen Programmen ab, da das Programm zahlreiche andere Video-Portale auch auch Mediatheken wie die der ARD oder des ZDF unterstützt. Zum Download von beliebigen Flash-Videos muss man allerdings ein wenig tricksen. Möchtet ihr auf oft zweifelhafte Lad-mir-jedes-Webvideo-auf-die-Platte-Tools verzichten, dann braucht es nur ein wenig Know-How.

Um Flash-Videos aus dem Netz zu laden gibt es unzählige kleine Tools und Erweiterungen für alle gängigen Webbrowser. Manche Werkzeuge wie youtube-dl oder mps-youtube sind zweifelsfrei sehr seriös und zuverlässig, besonders aber Browsererweiterungen werden oft nur für den Zweck entwickelt, dem Benutzer unseriöse Programme unterzuschieben. So warnen etwa die User des Flash Video Downloaders für Firefox in den Kommentaren vor Spyware und zusätzlichen Anzeigen bei Verwendung des Add-Ons.

I used to use this #@&$ extension but these guys are spying on us and targeting us with annoying ads.
While the addon works well, you will get tracked and receive annoying adds. It took me some time to figure this out.

Ich für meinen Teil würde daher Abstand von solchen Browser-Erweiterungen nehmen. Nicht nur weil sie wie beschrieben Nebenwirkungen haben, sondern weil sie oft auch gar nicht funktionieren oder auch nur mit wenigen Seiten kooperieren. Wer aber einmal ein beliebiges Flash-Video einer nicht unterstützten Webseite abspeichern möchte, der muss sich mit anderen Mitteln helfen. Wenn man weiß wie, ist das gar nicht so kompliziert, ihr braucht nicht einmal besondere Software für diese Aufgabe, die Linux-Bordmittel reichen vollständig aus.

Beliebige Flash-Videos herunterladen

Am einfachsten geht dies, wenn ihr mit Firefox arbeitet und sämtliche Tabs im Browser schließt, in denen Flash-Inhalte geladen sind. Es sollte nur noch der Reiter offen sein, in dem das zu sichernde Flash-Video enthalten ist. Anschließend öffnet ihr ein Terminalfenster und schaut mit pgrep oder ps aux die Prozessliste der auf eurem Rechner aktiven Prozesse an und lasst alle Prozesse mit „flash“ im Namen ausgeben.

$ pgrep -fl flash
15751 plugin-containe
25685 chrome
$ ps aux | grep flash
chrissss 15751 41.3 3.4 788024 126976 ? Sl 09:57 9:11 /usr/lib/firefox/plugin-container /usr/lib/mozilla/plugins/libflashplayer.so -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 14282 plugin
chrissss 25685 3.9 2.2 793908 82512 ? Sl 10:15 0:10 /opt/google/chrome/chrome --type=ppapi --channel=6799.76.279479360 --ppapi-flash-args --lang=de

Wie ihr seht ist die Ausgabe von pgrep ein wenig übersichtlicher, da uns sowieso nur die am Anfang aufgeführte Prozess-ID interessiert. Das Beispiel mit ps aux gebe ich nur zur Vollständigkeit an. Der an zweiter Stelle angezeigte Name des Prozess gibt uns nun einen Hinweis, um welches Programm es sich handelt. Für unseren Download eines in Firefox geöffneten Flash-Videos interessiert uns jetzt der Prozess „plugin-container“, in diesem Fall also die Prozess-ID 15751.

Flash-Videos mit Linux-Bordwerkzeugen auf die Festplatte herunterladen.
Flash-Videos mit Linux-Bordwerkzeugen auf die Festplatte herunterladen.

Mit dieser Information könnt ihr euch nun die von Prozess geöffneten Datei-Handles in /proc ansehen. Dafür braucht es kein besonderes Werkzeug, es reicht die Inhalte des Verzeichnisses /proc/15751/fd auflisten zu lassen. Unser Flash Video verbirgt sich nun direkt hinter einem der durchnummerierten Links, daher filtert ihr die Ausgabe am besten gleich wie im zweiten Beispiel gezeigt mit grep Flash und kommt so direkt zum Namen des Videos im /tmp-Verzeichnis. Das deleted hinter dem Dateinamen soll euch mal nicht stören.

$ ls -alh /proc/15751/fd/
insgesamt 0
dr-x------ 2 chrissss users 0 28. Nov 09:57 .
dr-xr-xr-x 8 chrissss users 0 28. Nov 09:57 ..
lr-x------ 1 chrissss users 64 28. Nov 09:57 0 -> /dev/null
lrwx------ 1 chrissss users 64 28. Nov 09:57 1 -> socket:[69166]
...
lrwx------ 1 chrissss users 64 28. Nov 09:57 15 -> /tmp/FlashXX3mz3Hh (deleted)
lr-x------ 1 chrissss users 64 28. Nov 09:57 16 -> pipe:[78586]
...
$ ls -alh /proc/15751/fd | grep Flash
lrwx------ 1 chrissss users 64 28. Nov 09:57 15 -> /tmp/FlashXX3mz3Hh (deleted)

Nun seid ihr eigentlich schon sehr nahe am Ziel, denn mit /proc/15751/fd/15 habt ihr euer Flash-Video identifiziert. Ihr könntet das Video direkt mit einem Mediaplayer wie VLC aufrufen. Allerdings wird das /tmp-Verzeichnis während des Systemstarts komplett geleert und somit auch das Video gelöscht. Ihr solltet das heruntergeladene Flash-Video daher am besten in euer Homeverzeichnis wegspeichern, so überlebt es dann auch einen Neustart des Rechners.

$ cp /proc/15751/fd/15 ~/flash-video.mp4

Bevor ihr ein Video aber nur kurz anspielt und dann „abspeichert“, sollter ihr noch beachten, dass es sich ja um einen Video-Stream handelt. Besonders bei längeren Videos müsst ihr mit dem Abspeichern warten, bis das komplette Video einmal vollständig im Browser abgespielt wurde. Kopiert euch also ab und an die Datei auf die Festplatte und schaut euch die Dateigröße an, nimmt sie nach wie vor zu, wurde das Flash-Video noch nicht komplett heruntergeladen.

$ cp /proc/15751/fd/15 ~/flash-video.mp4
$ ls -alh ~/flash-video.flv
-rw------- 1 chrissss users 98M 28. Nov 10:38 /home/chrissss/flash-video.mp4
$ cp /proc/15751/fd/15 ~/flash-video.flv
$ ls -alh ~/flash-video.flv
-rw------- 1 chrissss users 183M 28. Nov 11:11 /home/chrissss/flash-video.mp4

Das Video solltet ihr nun mit jedem Mediaplayer abspielen können, VLC und Mplayer bringen sowieso seine eigenen Codecs mit, andere Player wie Totem oder Dragon Player greifen auf die im System installierten Codecs zu. Mein mit OpenELEC und XBMC (oder zukünftig Kodi) ausgestatteter Raspberry Pi akzeptiert die heruntergeladenen Flash-Videos ebenfalls ohne Murren.

Anzeige

16 KOMMENTARE

  1. Ich benutze sehr lange schon das FF Addon „Video Downloadhelper“, ist daran etwas verkehrt? Konnte im Netz nichts negatives darüber finden.

    https://addons.mozilla.org/de/firefox/addon/video-downloadhelper/

    • Ich will nicht alle diese Erweiterungen über einen Kamm scheren, die scheint ok auszusehen. Aber es gab ja schon immer wieder Erweiterungs-Entwickler, die ihre Philosphie von heute auf morgen komplett ändern…

  2. Ich verwende auch schon seit Jahren Video Download-Helper für diesen Zweck. Das hat bisher auch wirklich überall funktioniert, wo kein DRM zum Einsatz kam.

  3. Das ist sehr interessant. Leider hatte ich damit keinen Erfolg.

    Ich habe es gerade einmal ausprobiert.
    Habe mir auf Youtube ein Video angeschaut.

    Dann gibt:

    lars@farnsworth:~$ pgrep -fl flash

    386 plugin-containe

    Weiter:

    lars@farnsworth:~$ ls -alh /proc/386/fd/ | grep Flash

    ergibt:

    lars@farnsworth:~$

    also nichts.

    Habe das gemacht, solange das Video noch lief, als auch, nachdem es schon beendet war.
    Dann habe ich meinen Iceweasel noch einmal sicherheitshalber mit einem neuen Profil gestartet, also ohne Addons und mit sauberer Konfiguration.
    Ergebnis war leider dasselbe.

    Ungegrept ergibt eine Auflistung des entsprechenden Verzeichnisses übrigens:

    lars@farnsworth:~$ ls -alh /proc/386/fd
    insgesamt 0
    dr-x------ 2 lars lars  0 Nov 28 13:56 .
    dr-xr-xr-x 9 lars lars  0 Nov 28 13:56 ..
    lr-x------ 1 lars lars 64 Nov 28 13:56 0 -> /dev/null
    lrwx------ 1 lars lars 64 Nov 28 13:56 1 -> socket:[37027]
    lr-x------ 1 lars lars 64 Nov 28 13:56 10 -> pipe:[38120]
    l-wx------ 1 lars lars 64 Nov 28 13:56 11 -> pipe:[38120]
    lrwx------ 1 lars lars 64 Nov 28 13:56 12 -> socket:[37642]
    lr-x------ 1 lars lars 64 Nov 28 13:56 13 -> /dev/urandom
    lr-x------ 1 lars lars 64 Nov 28 13:56 14 -> /home/lars/.mozilla/firefox/9bumsmu3.default/cert8.db
    lr-x------ 1 lars lars 64 Nov 28 13:56 15 -> /home/lars/.mozilla/firefox/9bumsmu3.default/key3.db
    lrwx------ 1 lars lars 64 Nov 28 13:56 16 -> /dev/nvidiactl
    lrwx------ 1 lars lars 64 Nov 28 13:56 17 -> /dev/nvidia0
    lrwx------ 1 lars lars 64 Nov 28 13:56 18 -> /dev/nvidia0
    lrwx------ 1 lars lars 64 Nov 28 13:56 19 -> /dev/nvidia0
    lrwx------ 1 lars lars 64 Nov 28 13:56 2 -> socket:[37027]
    lrwx------ 1 lars lars 64 Nov 28 13:56 20 -> /dev/nvidia0
    lrwx------ 1 lars lars 64 Nov 28 13:56 21 -> /dev/nvidia0
    lrwx------ 1 lars lars 64 Nov 28 13:56 22 -> /dev/nvidia0
    lrwx------ 1 lars lars 64 Nov 28 13:56 23 -> /dev/nvidia0
    lr-x------ 1 lars lars 64 Nov 28 13:56 24 -> pipe:[38162]
    l-wx------ 1 lars lars 64 Nov 28 13:56 25 -> pipe:[38162]
    lr-x------ 1 lars lars 64 Nov 28 13:56 26 -> pipe:[38163]
    l-wx------ 1 lars lars 64 Nov 28 13:56 27 -> pipe:[38163]
    lrwx------ 1 lars lars 64 Nov 28 13:56 28 -> socket:[37705]
    lrwx------ 1 lars lars 64 Nov 28 13:56 3 -> socket:[38037]
    lrwx------ 1 lars lars 64 Nov 28 13:56 4 -> anon_inode:[eventfd]
    lr-x------ 1 lars lars 64 Nov 28 13:56 5 -> pipe:[37640]
    l-wx------ 1 lars lars 64 Nov 28 13:56 6 -> pipe:[37640]
    lrwx------ 1 lars lars 64 Nov 28 13:56 7 -> anon_inode:[eventpoll]
    lrwx------ 1 lars lars 64 Nov 28 13:56 8 -> socket:[38118]
    lrwx------ 1 lars lars 64 Nov 28 13:56 9 -> socket:[38119]
    lars@farnsworth:~$ ls -alh /proc/386/fd

    Irgendeine Idee?

    • Achtung, YouTube-Videos werden heutzutage meist per HTML5 gestreamt, die hier vorgestellte Methode klappt nur bei Flash-Videos. //Für YouTube-Videos würde ich zu youtube-dl greifen.

      • Ist das nicht nur so, wenn kein Flashplayer installiert ist? Wenn ich einen Rechtsklick auf das laufende Video mache, bekomme ich jedenfalls im Kontextmenü die Einträge bezüglich des installierten Flashplayers angeboten.

        Ich habe es aber auch noch einmal auf Spon und auf Golem versucht.
        Gleiches Ergebnis.

        • Wenn bei einem Rechtsklick auf das Video das Kontextmenü von Flash erscheint, dann ist es auch ein Flash-Video. Aber YouTube inzwischen eigentlich immer HTML5 aus — falls der Browser die entsprechenden Standards kann.

        • Golem verwendet einen HTML5 Player mit MP4-Dateien, zumindest bei neueren Videos; Uraltvideos (keine Ahnung wann Golem auf MP4 umgestellt hatte) werden mit diesem eventuell nicht abgespielt da dort die Videodatei aus einer FLV-Datei besteht.

  4. OK, ich bin da wohl beim rumprobieren etwas durcheinander gekommen.
    Bei Youtube scheint es tatsächlich nicht zu funktionieren, auch wenn der Flashplayer installiert ist.
    Und bei Golem ist es so, dass es erst dann geht, wenn die Werbung vor dem Video zu Ende ist. Was ja nun auch kein Nachteil ist.

    Also: Es funktioniert.
    Vielen Dank für den Tipp, das ist wirklich cool. 🙂

  5. In einer Shellfunktion zusammengefasst:
    Liefert die Filedescriptoren aller aktuellen Flashvideos im Firefox.
    Bitte überprüft ob das auch auf anderen System die erwarten Ergebnisse liefert und dann ab in die Shellconfig damit.
    (Bin mir z. B. nicht sicher ob das Newline zwischen den Ergebnissen von allen Programmen so aktzeptiert wird

    getFlashvideos()
    {
    	pid=$(pgrep -f libflashplayer.so)
    	for descriptor in $(\ls -l "/proc/$pid/fd" | grep "/tmp/Flash*" | cut --delimiter=" " -f 9);
    	do
    		echo "/proc/$pid/fd/$descriptor"
    	done
    }
    
  6. Christoph, mal eine Frage:

    Wenn ich das richtig verstanden habe, beschränkt sich die Methode ja auf .flv-Dateien. Gerade YouTube gibt aber noch zahlreiche weitere Formate aus, darunter WebM, Avi und MP4. Kann man auch Videos dieser Dateiformate damit rausbekommen oder würdest du eher dazu raten, erst nur das Flash-Video zu holen und anschließend lieber einen Converter wie Handbrake drüberrutschen zu lassen?

  7. Ich lade Flash Videos fast immer mit Adblock herunter. Geht mit Adblock Plus oder Ad Block Edge – man braucht die Funktion „blockierbare Elemente öffnen“

    Einfach blockierbare Elemente auf der Webseite öffnen und nach „Typ“ Objekanfrage suchen. Meist gibt es im Link bereits die mp4 (meist http://……cdn…..mp4) oder was auch immer. Den Link speichern (rechtsklick Adresse des Elements kopieren) und per downloadmanager lässt sich das Video komplett laden.

    Es gibt nur einige wenige Seiten, bei denen das nicht geht, da sie die Flash Datei bzw. den Film in kleinen Stücken abspielen und immer und immer wieder einen neuen Link generieren (alle paar Sekunden). Das ist aber die Ausnahme.

    In 99% der Fälle funktioniert das und man muss auch nicht auf dem Browser Tab bleiben bis das Video abgespielt wurde – es wird immer runter geladen.

HINTERLASSEN SIE EINE ANTWORT