Como posso acessar arquivos Flash de sites de streaming?

30

No Maverick, havia a opção de baixar vídeos em Flash de sites como YouTube, Vimeo etc., copiando o flashxx**arquivo no /tmpdiretório para outro local antes de fechar a janela. Mas no Firefox 4 no Natty, isso não funciona mais. Por quê?

avi
fonte
Se você quiser apenas baixar vídeos, recomendo o Clipgrab: clipgrab.de/en . Eles têm um PPA: launchpad.net/~clipgrab-team
Martin Thoma 22/03

Respostas:

26

Uma atualização para o plug-in flash mudou a localização de /tmppara o diretório de cache do Firefox (por exemplo ~/.mozilla/firefox/bq95m4w1.default/Cache). Infelizmente, o arquivo flash em cache não é tão fácil de encontrar como antes, mas é possível.

O comando a seguir lista todos os arquivos flash no cache do Firefox.

find ~/.mozilla/firefox/*.default/Cache -type f -exec file {} \;  | grep Flash

Nas versões mais recentes do ubuntu, tente

find ~/.cache/mozilla/firefox/*.default/Cache -type f -exec file {} \;  | grep Flash
Tonto
fonte
1
Por que não file ~/.mozilla/firefox/*.default/Cache/* | grep Flash? O diretório de cache não parece ter subdiretórios, o que poderia justificar o uso de find.
Enzotib
não funciona provavelmente trabalhou antes.
dumb906
O arquivo FLV ainda está em / tmp, no entanto, você precisa de um truque especial para acessá-lo.
user4124
Veja minha resposta abaixo, que fala sobre a recuperação do arquivo FLV usando o sistema de arquivos / proc. Ainda assim, você pode usar um dos complementos do Firefox para executar a mesma tarefa.
user4124
28

Você pode usar vários complementos do Firefox para extrair os arquivos FLV de muitos sites, como o Youtube.

Vou mostrar abaixo como fazer isso manualmente com a versão mais recente do plugin Flash.

  1. Visite o vídeo do YouTube e aguarde o download completo.
  2. Em seguida, execute na linha de comando o comando

    $ lsof -n | grep Flash

    que mostra os arquivos (até arquivos de memória !) e filtra os que têm Flashseu nome.

  3. Você recebe algo como

    plugin-co 2461 user 17u REG 8,5 1693301 524370 /tmp/FlashXXVkHEM6 (deleted).

    Agora, existe um /tmp/FlashXXVkHEM6mas foi excluído.

  4. No Linux, se um arquivo é excluído, ele desaparece apenas quando todos os programas que o abriram anteriormente são fechados. Ou seja, o plugin do Flash está usando um truque para ocultar o arquivo / tmp / FlashXXVkHEM6. Cria e imediatamente deletes. Mas como o plugin do Flash continua em execução, ele aparentemente ainda pode usá-lo.

  5. Na linha acima, observamos o número 2461, que é o ID do processo. No seu caso, provavelmente será diferente. Então corra

    $ cd /proc/2461/fd

    e finalmente executar

    $ ls -l

    Isso mostrará os arquivos de memória e, especificamente,

    lrwx------ 1 user user 64 2011-09-16 10:23 17 -> /tmp/FlashXXVkHEM6 (deleted)

    O número '17' (no meu caso) é o nome do arquivo que você pode usar para acessar os excluídos /tmp/FlashXXVkHEM6 . Portanto, basta executar

    $ cp 17 /tmp/myyoutubevideo.flv

    e você restaura o vídeo do Youtube!

É isso aí! Você recuperou manualmente o vídeo do Youtube!

user4124
fonte
7

Se você navegar para sua pasta / proc, verá várias pastas nomeadas numericamente, incluindo uma pasta que corresponde ao número no segundo campo.

Agora navegue até esta pasta e, em seguida, sua subpasta "fd". Nesta pasta, você verá toda uma seleção de números. Eles estão relacionados aos próprios descritores de arquivo.

Execute ls -lnesta pasta e verá que cada um desses números está vinculado a tubos, soquetes ou arquivos.

Dentro disso, o número do quarto campo será simbólico vinculado ao arquivo / tmp / Flash * que encontramos anteriormente.

Para testar se esse é o arquivo certo, você pode executá-lo no mplayer ou no vlc ( mplayer filedescriptornumber/ vlc filedescriptornumber). Se estiver com problemas para encontrar o nome do arquivo, tente ls -l | grep Flash.

Para facilitar, tente este comando no console:

stat -c %N /proc/*/fd/* 2>&1|awk -F[\`\'] '/Flash/{print$2}'

A saída será algo como isto:

/proc/4691/fd/17
/proc/4691/fd/18

Isso listará todos os seus fluxos de flash baixados. Para esse exemplo, existem 2 vídeos em flash no meu navegador firefox 4. Se você deseja copiá-lo, basta usar este comando:

cp /proc/4691/fd/17 ~/Videos/Flash/sample.flv

Fonte: http://n00bsys0p.wordpress.com/2011/02/10/how-to-download-flash-10-2-video-streams-in-linux/

squallbayu
fonte
5

Esse pequeno script salvaria os arquivos flash baixados em um diretório personalizado.

  1. crie o diretório de onde você deseja que os arquivos sejam salvos, por exemplo, ~ / Videos / flvs

    mkdir ~/Videos/flvs
    
  2. abra o gedit e copie e cole este script.

    #!/bin/bash
    # flvcache script
    
    CACHE=~/.mozilla/firefox/*.default/Cache
    OUTPUTDIR=~/Videos/flvs
    MINFILESIZE=2M
    
    for f in `find $CACHE -size +$MINFILESIZE`
    do
        cp "$f" "$OUTPUTDIR/$o"
    done
    
    nautilus  "$OUTPUTDIR"&
    
  3. salve o arquivo como saveflashall.sh e adicione permissões executáveis ​​ao arquivo

    chmod +x saveflashall.sh
    
  4. depois execute.

    ./saveflashall.sh
    

ele abriria os arquivos na primeira pasta criada acima. Personalizado para incluir todos os arquivos (trabalhados para mpeg e mp4) em vez de apenas flvs.

Os créditos vão para http://desdecode.blogspot.com/2011/04/saving-watched-online-videos-linux.html

dumb906
fonte
Eu tentei isso .. alguns vídeos que eu assisti há muito tempo estão agora nessa pasta, mas os que eu assisti agora não estão. Por quê?
avi
4

Até onde eu sei, isso não se deve ao firefox nem ao natty, mas a uma atualização em flash ...

Você pode capturar o fluxo http wiresharkou usar uma ferramenta como a youtube-dlpara obter o arquivo de filme.

Mas lembre-se de que pode não ser legal, portanto verifique sua legislação local ...

LassePoulsen
fonte
Truque com o wireshark, mas acho que isso pode ser cansativo, como os vídeos são bastante grandes em tamanho (mais de 10MB), enquanto pacotes vêm com um pequeno pedaço de que os dados :)
Rafał Cieślak
3

Você deve usar o flashgot para baixar os vídeos.

RolandiXor
fonte
3

Ubuntu 12.04 (Precise) - Firefox 11 Instruções Uma versão modificada do script bash do chlumma1.

Com um editor de texto, salve o código abaixo no arquivo chamado "getvids.sh". Mova-o para o local em que você deseja salvar vídeos. Clique com o botão direito do mouse no arquivo, vá para Propriedades, Altere as Permissões para "Permitir a Execução como um Programa".

Tudo o que você precisa fazer é clicar no script, selecione "Executar no Terminal" e ele salvará todos os arquivos de vídeo nesse diretório. Para salvar o vídeo inteiro, é necessário concluir o carregamento no seu navegador. Ele salvará vídeos de praticamente qualquer site, incluindo youtube, vimeo, dailymotion, metacafe, liveleak, facebook . Basta excluir todos os arquivos de vídeo que você não deseja.

(Se um vídeo que você deseja não está sendo salvo, provavelmente o site está usando um formato de fluxo proprietário que não pode ser salvo por nenhum programa de recuperação de cache. Exemplos: Hulu, netflix, alguns vídeos do youtube?) Além disso, o VLC player é um ótimo para assistir vídeos em flash.

#!/usr/bin/env bash
# getvids.sh [save_folder]

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

Quem conhece um pouco do terminal pode editar as duas primeiras variáveis ​​e obter um pouco de funcionalidade extra. Como alternativa, para visualizar os arquivos ao vivo, digite-o em um terminal para descobrir onde eles estão.for i in $(pgrep -f libflash); do find /proc/$i/fd/ -ls | grep "/tmp/Flash" | awk '{ print $11 }'; done

PS. Além disso, excelente trabalho chlumma1, mas dispensa um pouco o estilo de programação C;)

Sepero
fonte
2

Versões recentes do plugin flash ocultam o arquivo temporário marcando-o como excluído. Praticamente o fluxo de vídeo é baixado para um "arquivo excluído". No entanto, mesmo quando um arquivo é excluído, se o arquivo é aberto por um processo, é possível encontrar seu descritor de arquivo e, consequentemente, o conteúdo do arquivo.

Esse script simples imprime os descritores de arquivo dos vídeos em Flash abertos:

file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d:

E, provavelmente, você deseja criar um arquivo regular a partir do descritor de arquivo, por exemplo:

cp $(file /proc/*/fd/* 2>/dev/null | grep Flash | cut -f1 -d: | head -n 1) video.avi

Caso contrário, o descritor de arquivo não é muito conveniente (lembre-se, é um arquivo excluído!)

O método deve funcionar independentemente do seu navegador.

Pare o dano contínuo a Monica
fonte
1

Ei, esse problema já existia na 10.10. Portanto, para resolvê-lo, tente o seguinte:

None of the methods described by previous posters are as convenient as just copying the flash file from the tmp directory.

Therefore, what I did was downgrade my Flash to 10.1.102.64

The download link for older versions of flash is http://kb2.adobe.com/cps/142/tn_14266.html

Download the (large) file named "Flash Player 10.1.102.64 and 9.0.289.0".
After downloading, extract the file named flashplayer10_1r102_64_linux.tar.gz

From this file extract libflashplayer.so and overwrite the file at /usr/lib/flashplugin-installer (you will need root privileges, try gksudo nautilus)

Restart Firefox and your flash videos will land up in the /tmp directory as before! This won't work for Google Chrome, it will continue to use the latest version of Flash.

Note: For the above steps to work, a version of Adobe Flash should have been previously installed.

[citado neste site: postado por chetancrasta Ver Post ]

Eu espero que isso te ajude. Deixe-me saber se isso vai funcionar.

Vito
fonte
Eu acho que você não entendeu a pergunta. O pôster original já possui o Flash Player instalado e funcionando. Ele está se perguntando onde o Flash armazena seus arquivos temporários.
21411 Jeremy Bicha
Ya. Direita. Mas acho que ele está se perguntando, para onde foram os arquivos flash. Com a nova versão do Adobe Flash Player, eles são armazenados como o @Woozy já mencionado. O @Woozy também mencionou que o "arquivo flash em cache não é tão fácil de encontrar como antes". Portanto, se você quiser que o arquivo flash seja "fácil" novamente, poderá fazer o downgrade do seu flash player. Consequentemente, os arquivos flash serão armazenados em / tmp novamente ... Espero que você entenda meu ponto agora !? Ou eu estou errado ?
Vito
1

Para um método geralmente aplicável que funciona com chrome ou firefox, tente este pequeno programa chamado flashcache . Ele copia vídeos em flash atualmente sendo reproduzidos no diretório atual.

Meu patch adiciona a opção -pque faz com que o script reproduza os vídeos usando, em mplayervez de fazer cópias dos arquivos.

Loevborg
fonte
1

Embora não tenha respondido diretamente à pergunta, encontrei o mesmo problema e, após algumas pesquisas, encontrei o Clipgrab, que é muito mais fácil de usar.

Cas
fonte
1

Você pode tentar este comando em um terminal

cp \`file /proc/\*/fd/* | grep tmp/Flash | awk -F":" '{print$1}'` dirname/
Susman
fonte
1

siga este link ( ~/.mozilla/firefox/ewzggcll.default/Cache)

A menos que eu esteja realmente confuso (acho que não), esse "ewzggcll" não estará na sua máquina. O que você encontrará é uma coleção aleatória de letras (e possivelmente números?) Que provavelmente será exclusiva da sua instalação do Linux e Firefox. No entanto, essa coleção aleatória de aparência estranha é importante, porque é essencial para acessar os cache (s).

Espero que isto ajude! (HTH)

jayfro
fonte
1

Eu uso o SMplayer YouTube. Ele vem com o Smplayer que você instala no ubuntu software center. Ele grava vídeos do youtube. Muito simples e fácil de usar.

user297921
fonte
Eu posso confirmar que isso funciona. Ubuntu 14.04. Não acredito que perdi meu tempo tentando todas as respostas aqui e em qualquer outro lugar na internet, SEM SUCESSO, até que cheguei a isso ... Apenas procurei o SMPlayer no centro de software, o instalei, colei o endereço yt e salvei o vídeo, no formato e tamanho da minha escolha ...: D
PFROLIM
1

Eu uso minitube, um cliente do youtube que armazena arquivos flash em/tmp

user20043
fonte
1

Este script fará isso:

#!/bin/bash
PATERN="libflashplayer"
ALL_PID=`pgrep -f $PATERN`

if [ $? -eq 1 ]
then
echo ERROR: Flashplayer not runnig
exit 1
 fi


 for PID in $ALL_PID
 do

OUTFILES=`ls -lt1 /proc/$PID/fd | grep '/tmp' | sed 's/^.*\/tmp\///' | sed 's/\ .*$//'`
INFD=`ls -lt1 /proc/$PID/fd | grep '/tmp' | cut -f 9 -d \ `


# nazev souboru do pole
i=0;
for out in $OUTFILES
do
    i=`expr $i + 1`
    NAMEFILE[$i]=$out

done

# nazev file desktiptoru do pole
i=0;
for out in $INFD
do
    i=`expr $i + 1`
    NAMEFD[$i]=$out
done



# ulozeni video dat
i=0;
for outfd in $OUTFILES
do
    i=`expr $i + 1`
    #echo ${NAMEFILE[$i]} ${NAMEFD[$i]}

    cat /proc/$PID/fd/${NAMEFD[$i]} > ${NAMEFILE[$i]}.flv
done

done
chlumma1
fonte
0

O Mozilla parece alterar o local com muita frequência. Além disso, o nome do buffer não é o mesmo do vídeo, portanto, também é difícil descobrir o nome correto do heap. Portanto, salvar o arquivo em cache não é uma solução consistente. Se a instalação de um programa da área de trabalho estiver correta, o ClipGrab é a melhor ferramenta existente. Você pode

  1. Pesquise vídeos.
  2. Selecione a qualidade do vídeo do youtube para baixar.
  3. Selecione o formato do vídeo para baixar.
  4. Você pode apenas fornecer um URL de vídeo do youtube e ele fará o download do arquivo.

ClipGrab para baixar vídeos do youtube no Ubuntu .

arunskrish
fonte
0

Você também pode usar o keepvid.com para muitos sites de streaming de vídeo. No entanto, é necessário que o java esteja em suas máquinas. Depois de instalado, basta colar no link do URL e salvá-lo em vários formatos, incluindo mp4 ou WebM

mattibuntu
fonte
0

O método mais fácil é usar o complemento "CacheViewer Continued 0.8" para firefox

depois de instalar, pressione ctrl + shift + c para abrir e, em seguida, pressione mostrar tudo, depois você poderá procurar um cache específico como jpeg, flv qualquer coisa ...... clique com o botão esquerdo no item para dar a opção de salvar, salvar fornecendo a extensão necessária, como .flv para vídeo em flash e .jpeg para jpeg e vice-versa insira a descrição da imagem aqui

link para o complemento https://addons.mozilla.org/en-US/firefox/addon/cacheviewer-continued/?src=api

gunjan parashar
fonte