08 septiembre 2011

[Script] Descargar videos de flash en Linux

Como ya se habrán dado cuenta, antiguamente para guardar un video en flash, por ejemplo desde youtube, los usuarios de alguna distribución de GNU/Linux solo tenían que ir a la directorio /tmp y listo allí estaba nuestro magnifico video a simple vista, pero hace ya un tiempo, en una actualización de flash se "ofusco" el video descargándolo en otra carpeta, que veremos mas adelante, y ya no guardando la en el directorio /tmp.

Para ubicar el video simplemente hace falta correr unos comandos en la terminal y copiarlo a donde queramos, así:
lsof | grep Flash
Importante: El navegador debe permanecer abierto y con el video completamente descargado para que funcione, hasta el final del proceso.

Eso nos dará algo como esto:
iron      2236        enzo   22u      REG       0,18 255075555      15991 /tmp/FlashXXxPWpYi (deleted)
Que no os desanime la palabra deleted, lo importante ahora son los números, el 2236 y el 22.

Ahora nos ubicamos en el directorio donde queramos guardar el video y corremos en la terminal lo siguiente:
cp /proc/2236/fd/22 video.flv
El primer parámetro del comando es la ruta con los números que obtuvimos  y el segundo el el nombre del video, y así guardamos un video en nuestro home por ejemplo.

Para todo hay un algoritmo, de donde se puede desprender un programa, o en este caso, un script.

El script que programe sigue la misma idea que los 3 comandos anteriores pero de una forma mas automática y, más o menos, elegante. Esta escrito en bash y su forma de correr es asi de simple:
./video.sh [nombre]
Donde [nombre] es el nombre del archivo de video, sin los " [ ] " corchetes, que se guardara en la ruta /home/usuario/[nombre].flv

El código es el siguiente http://pastebin.com/R5LGV2CD:

Cualquier mejora o algún bug que encuentren, contáctenme.

No hay comentarios:

Publicar un comentario