Ubuntu 12.04 (Preciso) - Instrucciones de Firefox 11 Una versión modificada del script bash de chlumma1.
Con un editor de texto, guarde el siguiente código en el archivo llamado "getvids.sh". Muévalo a la ubicación donde desea guardar videos. Haga clic con el botón derecho en el archivo, vaya a Propiedades, cambie los permisos a "Permitir ejecución como programa".
Todo lo que tiene que hacer es hacer clic en el script, seleccionar "Ejecutar en la Terminal" y guardará todos los archivos de video en ese directorio. Para guardar todo el video, debe terminar de cargarse en su navegador. Guardará videos de casi cualquier sitio web, incluidos youtube, vimeo, dailymotion, metacafe, liveleak, facebook . Simplemente elimine cualquier archivo de video que no desee.
(Si un video que desea no se guarda, entonces el sitio web probablemente esté utilizando un formato de transmisión patentado que no puede ser guardado por ningún programa de recuperación de caché. Ejemplos: Hulu, netflix, algunos videos de YouTube). Además, el reproductor VLC es un ideal para ver videos 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
Aquellos que saben un poco sobre el terminal pueden editar las dos primeras variables y lograr un poco de funcionalidad adicional. Alternativamente, para ver los archivos en vivo, puede escribir esto en una terminal para averiguar dónde estánfor i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done
PD. Además, excelente trabajo chlumma1, pero desprende un poco los bucles de estilo de programación C;