Me gusta guardar videos porque
- Me gusta almacenarlos en búfer y luego reproducirlos de forma consecutiva en mi reproductor multimedia,
- Quiero poder detener / reiniciar mi navegador sin perder todo el video almacenado en el búfer, y
- Flash se bloquea con frecuencia y me da los cuadros grises .
Para muchos sitios con video Flash (incluido Youtube), puedo encontrar el archivo flv /tmp
, generalmente llamado FlashXX...
. Pero algunos sitios logran evitar que este archivo aparezca, por ejemplo, http://blip.tv/file/3627639 . Es posible que esto no esté en el disco, pero eso sería sorprendente ya que todo el video de una hora se puede almacenar sin que mi RAM se vea notablemente afectada.
En Firefox, puedo encontrar el flv dentro de su directorio de caché. Pero tengo curiosidad de cómo hacer esto en Chrome. Intenté buscar en ~ / .cache / google-chrome / pero no encontré nada que se viera bien. Por ejemplo:
$ ls -lt .cache/google-chrome/Cache/ | head
total 261492
-rw------- 1 yang yang 16621568 2010-12-05 03:41 data_1
-rw------- 1 yang yang 966656 2010-12-05 03:40 data_0
-rw------- 1 yang yang 23076864 2010-12-05 03:40 data_2
-rw------- 1 yang yang 262512 2010-12-05 03:40 index
-rw------- 1 yang yang 108412 2010-12-05 03:35 f_005603
-rw------- 1 yang yang 62607 2010-12-05 03:32 f_005602
-rw------- 1 yang yang 54998 2010-12-05 03:32 f_005601
-rw------- 1 yang yang 31127 2010-12-05 03:32 f_005600
-rw------- 1 yang yang 799389 2010-12-05 03:32 f_0055ff
$ ls -1t ~/.cache/google-chrome/Cache/* | head | xargs file
/home/yang/.cache/google-chrome/Cache/data_1: data
/home/yang/.cache/google-chrome/Cache/data_0: data
/home/yang/.cache/google-chrome/Cache/data_2: data
/home/yang/.cache/google-chrome/Cache/index: data
/home/yang/.cache/google-chrome/Cache/f_005603: GIF image data, version 89a, 600 x 471
/home/yang/.cache/google-chrome/Cache/f_005602: PNG image, 600 x 746, 8-bit colormap, non-interlaced
/home/yang/.cache/google-chrome/Cache/f_005601: PNG image, 140 x 342, 8-bit/color RGB, non-interlaced
/home/yang/.cache/google-chrome/Cache/f_005600: JPEG image data, JFIF standard 1.02
/home/yang/.cache/google-chrome/Cache/f_0055ff: JPEG image data, JFIF standard 1.02
/home/yang/.cache/google-chrome/Cache/f_0055fe: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
Intenté mirar los archivos abiertos para el proceso de Flash, pero no vi ningún archivo Flash eliminado, que muchas de las respuestas a continuación dicen que debería existir:
$ ps x | grep npviewer
27148 ? Rl 0:24 /usr/lib/nspluginwrapper/i386/linux/npviewer.bin --plugin /usr/lib/flashplugin-installer/libflashplayer.so --connection /org/wrapper/NSPlugins/libflashplayer.so/27135-2
27504 pts/2 S+ 0:00 grep --color=auto npviewer
$ ls -l /proc/27148/fd/
total 0
lr-x------ 1 yang yang 64 2011-02-16 13:48 0 -> /dev/null
lrwx------ 1 yang yang 64 2011-02-16 13:48 1 -> /home/yang/.xsession-errors
l-wx------ 1 yang yang 64 2011-02-16 13:48 10 -> /home/yang/.mozilla/firefox/8wy5j0z2.default/key3.db
lrwx------ 1 yang yang 64 2011-02-16 13:48 11 -> pipe:[5500575]
lrwx------ 1 yang yang 64 2011-02-16 13:48 12 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:48 13 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lr-x------ 1 yang yang 64 2011-02-16 13:48 14 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
l-wx------ 1 yang yang 64 2011-02-16 13:48 15 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:48 16 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:48 17 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lr-x------ 1 yang yang 64 2011-02-16 13:48 18 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
l-wx------ 1 yang yang 64 2011-02-16 13:48 19 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:48 2 -> /home/yang/.xsession-errors
lrwx------ 1 yang yang 64 2011-02-16 13:48 20 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lr-x------ 1 yang yang 64 2011-02-16 13:48 21 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 22 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 23 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 24 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 25 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 26 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 27 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 28 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 29 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:48 3 -> socket:[5496032]
lrwx------ 1 yang yang 64 2011-02-16 13:51 30 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 31 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 32 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 33 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 34 -> /home/yang/.adobe/Flash_Player/cert8.db (deleted)
lrwx------ 1 yang yang 64 2011-02-16 13:51 35 -> /home/yang/.adobe/Flash_Player/key3.db (deleted)
l-wx------ 1 yang yang 64 2011-02-16 13:53 36 -> pipe:[5500575]
lr-x------ 1 yang yang 64 2011-02-16 13:53 37 -> pipe:[5500576]
l-wx------ 1 yang yang 64 2011-02-16 13:53 38 -> pipe:[5500576]
lrwx------ 1 yang yang 64 2011-02-16 13:53 39 -> socket:[5500580]
lrwx------ 1 yang yang 64 2011-02-16 13:48 4 -> socket:[5496131]
lr-x------ 1 yang yang 64 2011-02-16 13:48 5 -> pipe:[5496139]
l-wx------ 1 yang yang 64 2011-02-16 13:48 6 -> pipe:[5496139]
lr-x------ 1 yang yang 64 2011-02-16 13:48 7 -> socket:[5496140]
l-wx------ 1 yang yang 64 2011-02-16 13:48 8 -> socket:[5496141]
lr-x------ 1 yang yang 64 2011-02-16 13:48 9 -> /home/yang/.mozilla/firefox/8wy5j0z2.default/cert8.db
Intenté strace
todos los procesos de Chrome para cualquier cosa que pareciera que podría estar escribiendo un archivo:
strace -p (pgrep chrome|xargs -I_ echo -p _)
pero mirar las llamadas write
/ writev
/ select
solo me señaló algunos FD que /proc/_/fd/
demostraron ser tuberías / enchufes (presumiblemente para que los procesos se comuniquen entre sí). También probé lo mismo en el npviewer.bin
proceso.
También traté de inspeccionar simplemente todos los archivos apuntados en /proc/*/fd/
( cualquier proceso) que se modificaron recientemente, pero no encontré nada que pareciera que contuviera un flv. También probé la misma verificación en los archivos modificados recientemente en ~/.cache/google-chrome/
.
Si hace la diferencia, estoy usando el lanzamiento del canal de desarrollo de Chrome, que creo (¿siempre?) Usa su propia implementación segura de Flash. En el momento de esta actualización, estoy usando Chrome 10.0.648.45 dev. De acuerdo con http://www.adobe.com/software/flash/about/ Estoy ejecutando 10.2.152.27. He probado en varias cajas de Ubuntu ahora. También probé en varias cajas de Ubuntu ahora, con los mismos resultados.
¿Algún otro quiere apuñalar esto?
Respuestas:
Observé que los complementos Flash recientes almacenan archivos en / tmp, pero usan un truco para eliminarlos y mantener abierto un controlador de archivos para mantenerlos vivos. Esto significa que todavía se mantienen en la unidad (siempre que el controlador de archivos se abra con el complemento flash), pero no son visibles en la lista del directorio (porque el archivo se ha eliminado).
Escribí sobre esto hace algún tiempo: obteniendo videos flash de archivos casi eliminados
Pero todo depende de la versión del complemento Flash. Solía almacenar películas en / tmp o en la memoria caché del navegador también.
fuente
Verificando / proc // fd / hizo el truco para mí:
El archivo 11 , el marcado como "(eliminado)", todavía apunta al archivo creado originalmente en / tmp /, por lo que no se elimina por completo:
haciendo un:
reproducirá el archivo FLV.
Aquí hay una línea de comando bastante útil adaptada del procedimiento anterior. Puede requerir ajustes menores para su distribución / instalación y qué procesos está ejecutando generalmente.
Puede reemplazar
flash
connpviewer
, reemplazarvlc
conmplayer
:fuente
mplayer 11 -dumpstream -dumpfile outputname
La mayoría de las veces, las transmisiones en Flash son archivos simples que se obtienen mediante una solicitud http.
Para tu video en
http://blip.tv/file/3627639
En Google Chrome puede inspeccionar las solicitudes de red (
ctrl + shift + i
), busque el tiempo más largo para finalizar en su caso:haga clic en él y copie / pegue la URL del campo 'Solicitar URL', a una nueva pestaña
http://blip.tv/file/get/Fosslc-2...to823.flv?showplayer=20110401114509&source=1
fuente
Yang
Sí, está en ~ / .cache / google-chrome / Cache (bueno, tengo instalado Chromium, así que lo encontré en ~ / .cache / chromium / Cache).
Si mira el video y ordena por marca de tiempo:
Luego, si ejecuta el comando de archivo, verá cuáles son Flash:
OK, instalé Google Chrome para verificarlo.
Parece que el directorio de Google Chrome es ligeramente diferente de Chromium.
Usando las mismas técnicas (aquí especificando la ID del proceso del navegador, la salida eliminó algunas columnas para mayor claridad):
fuente
usando chromium 11.0.666.0 y flash plug-in 10.2.152
grepping para npviewer no produjo ningún proceso flash para mí, pero grepping para flash sí:
básicamente lo mismo que jyap anterior sugirió con
y luego puedes proceder como se indica arriba ...
fuente
Intenta enumerar los archivos abiertos.
fuente
Algunos de los jugadores más nuevos almacenan en la memoria intermedia para tratar de hacer imposible que la gente use estos trucos. No podrá obtener nada en ese caso.
fuente
Solucioné este problema. Aquí los pasos son
echar un vistazo http://www.arulraj.net/2011/03/google-chrome-download-video.html
fuente
Para la última versión de Chrome en Linux:
Identifique el pid del complemento Flash utilizado por Chrome:
a partir de ahora se llama al complemento
libgcflashplayer
.Identifique el archivo Flash abierto por este proceso de complemento Flash:
o
Busca archivos eliminados.
Copie el archivo de
/proc/[pid]/fd/[fileno]
arecovered_file.flv
fuente
Estoy usando Chrome 11.06 en Ubuntu 10.04. Encontré mis archivos flv en ~ / .cache / google-chrome / Default / Cache. Prueba un
fuente
Un pequeño consejo de mi parte. Esto funciona en Ubuntu 10.04.
Ahora puede programar este script con el crontab. Se podría optimizar para que no haya archivos FLV duplicados.
fuente
Usando Firefox en Kubuntu:
fuente
Tengo otra forma de hacerlo basada en el descriptor de archivo fundado en / proc (uso bash moderno en pocas líneas)
fuente