Ubuntu 12.04 (Precise) - Firefox 11 Anleitung Eine modifizierte Version des Bash-Skripts von chlumma1.
Speichern Sie den folgenden Code mit einem Texteditor in der Datei "getvids.sh". Verschieben Sie es an den Ort, an dem Sie Videos speichern möchten. Klicken Sie mit der rechten Maustaste auf die Datei, wechseln Sie zu Eigenschaften, ändern Sie die Berechtigungen zu "Ausführung als Programm zulassen".
Alles, was Sie tun müssen, ist auf das Skript zu klicken, "In Terminal ausführen" auszuwählen und alle Videodateien in diesem Verzeichnis zu speichern. Um das gesamte Video zu speichern, muss es in Ihrem Browser vollständig geladen sein. Es speichert Videos von fast jeder Website, einschließlich YouTube, Vimeo, Dailymotion, Metacafe, Liveleak, Facebook . Löschen Sie einfach alle nicht gewünschten Videodateien.
(Wenn ein gewünschtes Video nicht gespeichert wird, verwendet die Website wahrscheinlich ein proprietäres Stream-Format, das von keinem Cache-Abrufprogramm gespeichert werden kann. Beispiele: Hulu, Netflix, einige YouTube-Videos?) Außerdem ist der VLC-Player ein ideal zum Ansehen von Flash-Videos.
#!/usr/bin/env bash
# getvids.sh [save_folder]
SAVE_FOLDER="$HOME" # User editable
# If the below option is used, then this script should be run in a terminal.
#CPMOD="-i" # Uncomment to prevent file overwrites
PATERN="libflashplayer"
ALL_PID=`pgrep -f $PATERN`
if [ $? -eq 1 ]; then
echo ERROR: Flashplayer not running
exit 1
fi
if [ ! -z $1 ]; then
echo "Setting save location: $1"
SAVE_FOLDER="$1"
fi
if [ ! -d "$SAVE_FOLDER" ]; then
echo "Save location doesn't exist: $SAVE_FOLDER"
exit 1
fi
for PID in $ALL_PID; do
declare -a OUTFILES=($(ls -lt1 /proc/$PID/fd | grep '/tmp/Flash' | sed 's/^.*\/tmp\///' | sed 's/\ .*$//'))
declare -a FDS=($(ls -lt1 /proc/$PID/fd | grep '/tmp/Flash' | awk '{ print $9 }' ))
for ((i=0; i<${#FDS[@]}; i++)); do
saveas="$SAVE_FOLDER/${OUTFILES[i]}.flv"
echo "Copying video ${FDS[i]} to $saveas"
cp $CPMOD "/proc/$PID/fd/${FDS[i]}" "$saveas"
done
done
Diejenigen, die etwas über das Terminal wissen, können die ersten beiden Variablen bearbeiten und ein wenig zusätzliche Funktionalität erhalten. Um die Dateien live anzuzeigen, können Sie diese auch in ein Terminal eingeben, um herauszufinden, wo sie sich befindenfor i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done
PS. Auch ausgezeichnete Arbeit chlumma1, aber lass die C-Programmierstil-Schleifen ein bisschen;)