Eu gosto de manter vídeos porque
- Gosto de armazená-los e reproduzi-los consecutivamente no meu media player,
- Quero poder parar / reiniciar meu navegador sem perder todo o vídeo em buffer e
- O Flash trava com frequência e me dá as caixas cinza .
Em muitos sites com vídeo em Flash (incluindo o Youtube), posso encontrar o arquivo flv /tmp
, geralmente chamado FlashXX...
. Mas alguns sites conseguem impedir que esse arquivo seja exibido, por exemplo, http://blip.tv/file/3627639 . É possível que isso não seja colocado em spool no disco, mas isso seria surpreendente, pois todo o vídeo de uma hora pode ser armazenado em buffer sem que minha RAM seja visivelmente afetada.
No Firefox, posso encontrar o flv dentro do diretório de cache. Mas estou curioso para fazer isso no Chrome. Tentei procurar em ~ / .cache / google-chrome / mas não encontrei nada que parecesse certo. Por exemplo:
$ 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)
Tentei examinar os arquivos abertos para o processo Flash, mas não vi nenhum arquivo Flash excluído, que muitas das respostas abaixo dizem que deveria 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
Tentei strace
todos os processos do chrome para qualquer coisa que parecesse estar gravando um arquivo:
strace -p (pgrep chrome|xargs -I_ echo -p _)
mas olhar para as chamadas write
/ writev
/ select
apenas me indicou alguns FDs que pareciam /proc/_/fd/
ser tubos / soquetes (presumivelmente para os processos conversarem entre si). Também tentei a mesma coisa no npviewer.bin
processo.
Também tentei inspecionar todos os arquivos apontados em /proc/*/fd/
( quaisquer processos) que foram modificados recentemente, mas não encontrei nada que parecesse conter um flv. Eu também tentei a mesma verificação nos arquivos recentemente modificados em ~/.cache/google-chrome/
.
Se isso faz diferença, estou usando o lançamento do canal dev do Chrome, que acredito (sempre?) Usa sua própria implementação segura do Flash. No momento desta atualização, estou usando o Chrome 10.0.648.45 dev. De acordo com http://www.adobe.com/software/flash/about/ , estou executando 10.2.152.27. Eu tentei em várias caixas do Ubuntu agora. Eu também tentei em várias caixas do Ubuntu agora, com os mesmos resultados.
Alguém quer dar uma facada nisso?
Respostas:
Observei que os plug-ins recentes do Flash armazenam arquivos em / tmp, mas eles usam um truque para removê-los e manter um manipulador de arquivos aberto para mantê-los vivos. Isso significa que eles ainda são mantidos na unidade (desde que o identificador de arquivo seja aberto pelo plug-in flash), mas não são visíveis na listagem de diretórios (porque o arquivo foi excluído).
Escrevi sobre isso há algum tempo: obter vídeos em flash de arquivos quase excluídos
Mas tudo depende da versão do plugin Flash. Ele costumava armazenar filmes em / tmp ou também no cache do navegador.
fonte
Verificar / proc // fd / fez o truque para mim:
O arquivo 11 , marcado como "(excluído)", ainda aponta para o arquivo criado originalmente em / tmp /, portanto não é completamente excluído:
fazendo um:
irá reproduzir o arquivo FLV.
Aqui está uma linha de comando bastante útil, adaptada do procedimento acima. Pode exigir pequenos ajustes para sua distribuição / instalação e quais processos você está executando normalmente.
Você pode substituir
flash
pornpviewer
, substituirvlc
pormplayer
:fonte
mplayer 11 -dumpstream -dumpfile outputname
Os fluxos de Flash na maioria das vezes são arquivos simples obtidos por uma solicitação http.
Para o seu vídeo em
http://blip.tv/file/3627639
No Google Chrome, você pode inspecionar as solicitações de rede (
ctrl + shift + i
) e procurar por mais tempo no seu caso:clique nele e copie / cole o URL do campo "Solicitar URL" para uma nova guia
http://blip.tv/file/get/Fosslc-2...to823.flv?showplayer=20110401114509&source=1
fonte
Yang,
Sim, está em ~ / .cache / google-chrome / Cache (bem, eu tenho o Chromium instalado, então encontrei-o em ~ / .cache / chromium / Cache).
Se você assistir ao vídeo e classificar por data e hora:
Então, se você executar o comando file, verá quais são os Flash:
OK, instalei o Google Chrome para conferir.
Parece que o diretório do Google Chrome é um pouco diferente do Chromium.
Usando as mesmas técnicas (aqui, especificando o ID do processo do navegador, a saída removeu algumas colunas para maior clareza):
fonte
usando o cromo 11.0.666.0 e o plug-in flash 10.2.152
O grepping for npviewer não produziu nenhum processo de flash para mim, mas o grepping for flash:
basicamente a mesma coisa que jyap acima sugerida com
e você pode prosseguir como acima ...
fonte
Tente listar os arquivos abertos.
fonte
Alguns dos players mais recentes armazenam buffer na memória para tentar impossibilitar as pessoas de usar esses truques. Você não conseguirá nada nesse caso.
fonte
Corrigi esse problema. Aqui estão os passos
veja http://www.arulraj.net/2011/03/google-chrome-download-video.html
fonte
Para o Chrome mais recente no Linux:
Identifique o pid do plug-in Flash usado pelo Chrome:
a partir de agora o plugin é chamado
libgcflashplayer
.Identifique o arquivo Flash aberto por este processo de plug-in do Flash:
ou
Procure por arquivos excluídos.
Copie o arquivo de
/proc/[pid]/fd/[fileno]
pararecovered_file.flv
fonte
Estou usando o chrome 11.06 no Ubuntu 10.04. Encontrei meus arquivos flv em ~ / .cache / google-chrome / Default / Cache. Experimente um
fonte
Uma pequena dica minha. Isso funciona no Ubuntu 10.04.
Agora você pode agendar esse script com o crontab. Pode ser otimizado para que não haja arquivos FLV duplicados.
fonte
Usando o Firefox no Kubuntu:
fonte
Eu tenho outra maneira de fazê-lo com base no descritor de arquivo fundado em / proc (eu uso o bash moderno em poucas linhas)
fonte