viernes, 25 de febrero de 2011

Descarga de Videos Flash

Después de la actualización de Flash Player a la versión 10.2 en Ubuntu ya no aparecen los vídeos en /tmp


Buscando en la red, me tope con esta grata publicación de Ubuntu Guía y dice lo siguiente...

Los que usábamos el método de descargar los vídeos de Flash, buscándolos en la carpeta /tmp/ y copiándolos en nuestra carpeta personal sin necesidad de ningún programa adicional, nos hemos encontrado con la sorpresa de que ya no se guardan en este directorio.

Aunque podemos encontrarlos en nuestra carpeta personal en el directorio oculto: ".mozilla/firefox/82rr2zck.default/Cache" (82rr2zck puede variar), me gusta saber que está pasando y porqué y me puse a investigar:



Nota: Probado con éxito con Firefox y Chromium en: Ubuntu 10.10 amd64 (64bits) con el flashplugin de 64bits, Ubuntu 10.10 amd64 (64bits) con el flashplugin de 32bits, Ubuntu 10.10 i386 (32bits), Debian Squeeze (stable) y Debian Wheezy (testing).

1. Comencé la reproducción de un vídeo cualquiera de Youtube.

2. Como sabía que los archivos temporales se guardaban con el nombre Flash + un código de números y letras, abrí mi terminal y busqué cualquier archivo Flash con el comando "lsof":
lsof |grep Flash

Y la terminal me respondió (tarda un poco, paciencia):
npviewer. 2235 usuario 11u REG 8,3 6923916 654482 /tmp/FlashXXUt9wzs (deleted)

Por lo que me cercioro de que el archivo está "deleted" incluso antes de su reproducción completa.

2. Vuelvo a ejecutar el comando antes de su reproducción total:
lsof |grep Flash

Y la terminal me devuelve:
npviewer. 2235 usuario 11u REG 8,3 20948620 654482 /tmp/FlashXXUt9wzs (deleted)

Y ratifico que el tamaño de archivo ha aumentado considerablemente (6923916 a 20948620), por lo que el archivo, aunque esté "deleted", está ahí, se modifica y tiene que haber un enlace simbólico que me haga llegar a él.

3. Busco el enlace en el directorio /proc/, ya que es donde se guarda la virtualización de los archivos en Linux, con:
ls -l /proc/2235/fd/11

Donde "2235" es el nº de proceso en la 2ª columna.
Donde "11" es el descriptor del fichero sin la letra que le sigue en la 4ª columna.

Y la terminal me responde:
lrwx------ 1 usuario usuario 64 2011-02-13 18:07 /proc/2235/fd/11 -> /tmp/FlashXXUt9wzs (deleted)

Por lo que existe el enlace al archivo, aunque esté "deleted", por lo que sólo me queda copiarlo.

4. Lo copio a mi carpeta personal con el comando:
cp /proc/2235/fd/11 video.flv

Donde "video.flv" es el nombre que le doy al vídeo.

Abro mi carpeta personal y woalá, allí está el vídeo y lo reproduzco sin problemas.

METODO SIMPLIFICADO

Por supuesto no tenéis que hacer todo lo que yo he hecho y sólo bastaría con:

1º. Comenzar a reproducir el vídeo y antes de que se termine de cargar por completo, buscar el archivo para conocer el nº del proceso y el descriptor, con:
lsof |grep Flash

La terminal nos responderá algo parecido a:
npviewer. 2235 usuario 11u REG 8,3 6923916 654482 /tmp/FlashXXUt9wzs (deleted)

2º. Cuando haya terminado de cargarse por completo y sin cerrar el navegador, copiarlo a nuestra carpeta personal con el comando:
cp /proc/2235/fd/11 video.flv

Donde debemos cambiar el 2235 y el 11 por los obtenidos en el anterior comando.

Y listo ya podemos seguir descargándonos vídeos sin la necesidad de instalar nada.

No hay comentarios.:

Videotutoriales