Tem um script que peguei faz tempo na internet (não lembro mais onde foi).
Vamos chamar o script de "getflashvideos.sh".
Ele funcionada da seguinte maneira:
- Abro o site com o vídeo desejado
- Aperto play no video. Posso pausar depois, o importante é o navegador começar a fazer o buffer do vídeo
- Após o buffer do vídeo ter terminado (ou de todos os vídeos, já que podem haver mais de um em abas diferentes), coloco o script em uma pasta e rodo o script
./getflashvideos.sh ./
Com isso todos os vídeos em flash atualmente abertos devem ser salvos na pasta. Deve funcionar com qualquer navegador, já que o importante apenas é que seja em flash.
O código do script segue abaixo. Salve em um arquivo e dê permissão de execução para o script.
#!/usr/bin/env bash
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
Não garanto que ainda funcione hoje em dia, já que faz tempo que não uso. A grande vantagem desse método é funcionar com qualquer navegador e qualquer site bastando que o vídeo seja em flash.
Explicação: Antigamente dava para salvar vídeos em flash facilmente de maneira parecida. Bastava colocar os vídeos para começar a fazer o buffer e ir na pasta onde o navegador salva os arquivos temporários que o vídeo estava lá. Só que a partir de uma certa versão o flash passou a usar um certo "truque" para dificultar essa prática. Assim que o vídeo começa a fazer o buffer o flash já apaga o arquivo. Isso mesmo, ele apaga o arquivo. Só que como o arquivo ainda está sendo acessado pelo pelo navegador ele não é realmente apagado ainda, mas ele some do sistema de arquivos impedindo seu acesso. O que esse script faz é pegar todos os "arquivos abertos" (inclusive arquivos "deletados") por processos que usam a biblioteca libflashplayer e salvá-los na pasta indicada.