Ubuntu 12.04 (Precise) - Instructions pour Firefox 11 Une version modifiée du script bash de chlumma1.
Avec un éditeur de texte, enregistrez le code ci-dessous dans un fichier nommé "getvids.sh". Déplacez-le à l'emplacement où vous souhaitez enregistrer les vidéos. Faites un clic droit sur le fichier, allez dans Propriétés, Modifiez les autorisations en "Autoriser l'exécution en tant que programme".
Tout ce que vous avez à faire est de cliquer sur le script, sélectionnez "Exécuter dans le terminal", et il enregistrera tous les fichiers vidéo dans ce répertoire. Pour enregistrer l'intégralité de la vidéo, son chargement doit être terminé dans votre navigateur. Il enregistrera des vidéos de presque tous les sites Web, y compris youtube, vimeo, dailymotion, metacafe, liveleak, facebook . Supprimez simplement les fichiers vidéo dont vous ne voulez pas.
(Si une vidéo que vous voulez n'est pas enregistrée, le site Web utilise probablement un format de flux propriétaire qui ne peut être enregistré par aucun programme de récupération de cache. Exemples: Hulu, netflix, certaines vidéos youtube?) De plus, le lecteur VLC est un idéal pour regarder des vidéos flash.
#!/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
Ceux qui connaissent un peu le terminal peuvent éditer les deux premières variables et obtenir un peu de fonctionnalités supplémentaires. Alternativement, pour visualiser les fichiers en direct, vous pouvez taper ceci dans un terminal pour savoir où ils se trouventfor i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done
PS Aussi, excellent travail chlumma1, mais mettez un peu de côté les boucles de style de programmation C;)