Hallo liebes Forum,
auch auf die Gefahr hin, dass soetwas schon 100x da war und es bestimmt auch galantere Lösungen gibt, wollte ich nichts desto trotz mal mein (selbstgeschriebenes 🤓 ) Script zu einem Thema posten, an dem ich selbst mehrere Stunden unter Schweiß und Tränen gerungen habe. 😢
Hier die (meine) Lösung auf folgende Frage:
Wie kann ich flash-Videos aus div. Quellen, schnell und einfach als (z.B.) FLV Datei lokal speichern ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | #! /bin/bash ########################################################################################### #################################Get_FLV################################################### ########################################################################################### ######################### Acer54 ############################################ ########################################################################################### # Variablen erstellen MELDUNG="FLV Dateien speichern by Acer54 (C) " #Startmeldung PRID= #ProzessID PD= #Video Nummer ZIEL="Arbeitsfläche" #Zielordner ############################################################################################ echo $MELDUNG #Programmstart durch Ausgabe bestätigen ############################################################################################ PRID=$(ps x | grep ? | grep flashplugin-installer | cut -b 1-5) # Initiale Abfrage PRID echo ProzessID ist $PRID #Ausgabe der PRID zum debuggen ############################################################################################ if [ $PRID -lt 10000 ] ; then #Wenn PRID 4stellig ist dann echo "die PRID ist 4stellig" #ProzessID abfragen (4 Stellig) PRID=$(ps x | grep ? | grep flashplugin-installer | cut -b 2-5) # Ausgabe von ps x in variable schreiben #echo ProzessID ist $PRID #Video Nummer abfragen (2 Stellig) PD=$(ls -l /proc/$PRID/fd | grep deleted | cut -b 52-53) # ProzessID2 abfragen if [ $PD -gt 9 ] ; then echo Temporäre Datei ist $PD #Video anhand der PRID und der Videonummer speichern cp /proc/$PRID/fd/$PD ~/$ZIEL play /usr/share/sounds/ubuntu/stereo/service-login.ogg clear echo "Datei wurde nach $ZIEL exportiert" read -t 2 DUMMY else play /usr/share/sounds/ubuntu/stereo/service-logout.ogg clear echo "Keine Videodatei im Puffer gefunden" read -t 2 DUMMY fi ############################################################################################# elif [ $PRID -gt 10000 ] ; then #wenn PRID 5stellig echo "die PRID ist 5stellig" #ProzessID abfragen (5 Stellig) PRID=$(ps x | grep ? | grep flashplugin-installer | cut -b 1-5) # Ausgabe von ps x in variable schreiben #echo ProzessID ist $PRID #Video Nummer abfragen (2 Stellig) PD=$(ls -l /proc/$PRID/fd | grep deleted | cut -b 52-53) # ProzessID2 abfragen if [ $PD -gt 9 ] ; then echo Temporäre Datei ist $PD #Video anhand der PRID und der Videonummer speichern cp /proc/$PRID/fd/$PD ~/$ZIEL play /usr/share/sounds/ubuntu/stereo/service-login.ogg clear echo "Datei wurde nach $ZIEL exportiert" read -t 2 DUMMY else play /usr/share/sounds/ubuntu/stereo/service-logout.ogg clear echo "Keine Videodatei im Puffer gefunden" read -t 2 DUMMY fi ############################################################################################# else play /usr/share/sounds/ubuntu/stereo/service-logout.ogg # Wenn PRID 0000 ist ABBRUCH mit Fail-sound clear echo "keine gültige ProzessID gefunden" read -t 2 DUMMY exit fi |
Anleitung:
* o.g. Code in eine leere Textdatei speichern und z.B. unter ~/ ablegen.
* die erstellte Textdatei über "Rechtsklick, Eigenschaften, Zugriffsrechte" als "Ausführbar" markieren.
* z.B. einen "Starter" am Desktop anlegen bei dem man als "Befehl" den Pfad zum Ort angibt wo das Script liegt...
Das wars auch schon...
Ab jetzt kann man folgendes tun:
- Egal ob auf youtube oder irgend einer anderen Quelle, bei der in flash-video abgespielt wird
- Warten bis das Video komplett "geladen" wurde... d.h. solange bis der (meist) dunkelgraue Streifen in der Laufzeitanzeige komplett bis zum Schluss gelaufen ist.
- den o.a. "Starter" ausführen (bzw. das Script, für Terminal-Freaks) ... und siehe da, es wird eine Datei (meist mit dem Namen "22" oder "17") auf dem Desktop angelegt.
- diese FLV kann nun mit (z.B.) ffmpeg bzw. WinFF (grafische Oberfläche für ffmpeg in den Packetquellen) beliebig konvertiert werden (z.B. in MP3 oder MPG4... oder was ihr wollt)
Ich hatte bis jetzt noch keine Fehlfunktion dieses Scriptes...es funktioniert mit Chromium genauso wie mit Firefox... es kann nur sein, dass ihr evtl. die Variable "ZIEL" (Zeile 13) anpassen müsst...(z.B. wenn Ihr keine "Arbeitsfläche" sondern einen "Desktop" habt ☺ ) Ansonsten sollte es quasi ootB funktionieren. Getestet (und sinnig) ist es nur unter 11.04, da hier der Video-puffer des flashplugins bereits wärend des herunterladens als "deleted" deklariert ist und daher nicht mehr "händisch" aus dem Ordner gezogen werden kann.
Viel Spass beim um-coden, drüber lächeln oder wieder löschen 😈
PS.: ist natürlich mein aller erster Versuch etwas "Programmähnliches" auf die Beine zu stellen... bin quasi totaler noob. Also nicht schimpfen wenn es recht "dreckig" geschrieben scheint. Ich lern ja noch 😉