Como posso acessar arquivos Flash de sites de streaming?

30

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

    
por avi 27.04.2011 / 11:08

21 resposta

26

Uma atualização do plug-in do Flash alterou o local de /tmp para 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 quanto antes, mas é possível.

O seguinte comando lista todos os arquivos flash no seu cache do Firefox.

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

Em versões mais recentes do ubuntu try

find ~/.cache/mozilla/firefox/*.default/Cache -type f -exec file {} \;  | grep Flash
    
por Woozy 27.04.2011 / 19:30
27

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

Mostrarei abaixo como fazer isso manualmente com a versão mais recente do plug-in do Flash.

  1. Visite o vídeo do YouTube e espere que ele seja baixado por completo.
  2. Em seguida, execute a partir da linha de comando o comando

    $ lsof -n | grep Flash

    que mostra os arquivos (até arquivos de memória !) e os filtros para aqueles que têm Flash em seus nomes.

  3. Você recebe algo como

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

    Agora, há um /tmp/FlashXXVkHEM6 , mas foi excluído.

  4. No Linux, se um arquivo for excluído, na verdade ele será perdido somente quando todos os programas que o abriram anteriormente forem fechados. Ou seja, o plugin Flash está usando um truque para ocultar o arquivo / tmp / FlashXXVkHEM6. Ele cria e imediatamente deletes it. Mas, como o plug-in do Flash continua em execução, ele ainda pode usá-lo.

  5. Na linha acima, anotamos o número 2461 , que é o ID do processo. No seu caso, será provavelmente 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 o deleted /tmp/FlashXXVkHEM6 . Portanto, basta executar

    $ cp 17 /tmp/myyoutubevideo.flv

    e você restaura o vídeo do Youtube!

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

    
por user4124 16.09.2011 / 11:35
7

Se você navegar para a sua pasta / proc, verá um monte de pastas, todas nomeadas numericamente, incluindo uma pasta que corresponde ao número no segundo campo.

Agora navegue para esta pasta e, em seguida, para a subpasta "fd". Nesta pasta, você verá uma seleção inteira de números. Eles estão relacionados aos próprios descritores de arquivos.

Execute ls -l nesta pasta e você verá que cada um desses números está vinculado a pipes, sockets ou arquivos.

Dentro disso, o número do quarto campo será simbolicamente vinculado ao arquivo / tmp / Flash * que encontramos antes.

Para testar se esse é o arquivo correto, você pode executá-lo através do mplayer ou vlc ( mplayer filedescriptornumber / vlc filedescriptornumber ). Se você 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}'

A saída será algo assim:

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

Isso listará todos os streams flash que você baixou. Para esse exemplo, há dois vídeos em flash do meu navegador do firefox 4. Se você quiser copiá-lo, basta usar este comando:

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

Fonte: link

    
por squallbayu 30.05.2011 / 21:26
5

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

  1. faça o diretório de onde você quer que os arquivos sejam salvos, por exemplo ~ / Videos / flvs

    mkdir ~/Videos/flvs
    
  2. abra o gedit, 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-o.

    ./saveflashall.sh
    

abriria os arquivos na primeira pasta criada acima. Personalizado para incluir todos os arquivos (trabalhados para mpeg e mp4) ao invés de apenas flvs.

Os créditos vão para o link

    
por dumb906 13.09.2011 / 14:09
4

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

Você pode capturar o fluxo de http com wireshark ou usar uma ferramenta como youtube-dl para obter o arquivo de filme.

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

    
por LassePoulsen 27.04.2011 / 11:58
3

Você deve usar o flashgot para fazer o download dos vídeos.

    
por RolandiXor 13.09.2011 / 17:25
3

Ubuntu 12.04 (Precise) - Instruções do Firefox 11 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 Execução como um Programa".

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

(Se um vídeo que você quer não está sendo salvo, então o site provavelmente 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?) O player é ótimo para assistir a 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  ]; then
  echo "Setting save location: "
  SAVE_FOLDER=""
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  }' ))
  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

Aqueles que sabem um pouco sobre o terminal podem editar as duas primeiras variáveis e obter um pouco de funcionalidade extra. Como alternativa, para exibir os arquivos ao vivo, você pode digitar isso 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 }'; done

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

    
por Sepero 12.05.2012 / 02:16
2

As versões recentes do plug-in 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, você pode encontrar o descritor de arquivo e, conseqüentemente, o conteúdo do arquivo.

Este script simples imprime os descritores de arquivos de vídeos em Flash abertos:

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

E você provavelmente 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 arquivos não é muito conveniente (lembre-se, é um arquivo excluído!)

O método deve funcionar independentemente do seu navegador.

    
por janos 27.08.2011 / 11:21
1

Ei, esse problema já existia em 10.10. Então, para resolvê-lo, tente isto:

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.

[citada deste site: postado por chetancrasta Ver Postagens ]

Espero que isso ajude você. Deixe-me saber se isso funcionará.

    
por Vito 29.04.2011 / 09:50
1

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

Meu patch adiciona a opção -p , que faz o script reproduzir os vídeos usando mplayer em vez de fazer cópias de os arquivos.

    
por loevborg 30.05.2011 / 21:55
1

Apesar de não responder diretamente à pergunta, deparei com o mesmo problema e, após algumas pesquisas, encontrei o Clipgrab que é muito mais fácil de usar.

    
por Cas 16.06.2011 / 15:25
1

Você pode tentar este comando em um terminal

cp \'file /proc/\*/fd/* | grep tmp/Flash | awk -F":" '{print}'' dirname/
    
por Susman 25.02.2012 / 22:45
1

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

A menos que eu esteja realmente confuso (não pense assim), esse "ewzggcll" não estará na sua máquina. O que você vai encontrar lá é uma coleção aleatória de letras (e possivelmente números?) Que é muito provável que seja exclusivo para a sua instalação Linux e Firefox. No entanto, essa coleção aleatória de aparência estranha é importante, porque é essencial para chegar ao cache [s].

Espero que isso ajude! (HTH)

    
por jayfro 23.07.2011 / 01:41
1

Eu uso o SMplayer YouTube. Ele vem com o Smplayer que você instala no centro de software do Ubuntu. Grave vídeos do youtube. muito simples e fácil de usar.

    
por user297921 26.06.2014 / 03:09
1

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

    
por user20043 16.06.2011 / 14:30
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
    
por chlumma1 09.12.2011 / 16:16
0

O Mozilla parece mudar o local com muita frequência. Além disso, o nome do buffer não é o mesmo que o vídeo, então descobrir o código do heap também é difícil. Portanto, salvar o arquivo em cache não é uma solução consistente. Se instalar um programa de área de trabalho estiver ok, o ClipGrab é a melhor ferramenta disponível. Você pode

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

ClipGrab para baixar vídeos do youtube no Ubuntu .

    
por arunskrish 21.01.2012 / 05:39
0

Você também pode usar keepvid.com para muitos sites de streaming de vídeo. Ele requer java para estar em suas máquinas embora. Uma vez instalado, basta colar o link da URL e salvá-lo em vários formatos, incluindo mp4 ou WebM

    
por mattibuntu 24.04.2012 / 01:54
0

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

depois de instalar pressione ctrl + shift + c para abrir e, em seguida, pressione mostrar tudo, lá depois u pode procurar um cache específico como jpeg, flv qualquer coisa ...... clique com o botão esquerdo no item lhe dará a opção de salve, salve-o, dando a extensão necessária como .flv para vídeo em flash e .jpeg para jpeg e vice-versa

link para o addon link

    
por gunjan parashar 22.08.2012 / 16:28
0

Isso ainda é possível.

Você pode usar o script de shell de este post sobre como abrir / reproduzir todos os vídeos em Flash com o VLC .

Para copiar todos os vídeos que você deve substituir na última linha do script vlc by cp e forneça um diretório de destino no final da mesma linha.

    
por James 09.07.2012 / 23:28
-1

Espero que isso ajude você link

    
por sahan 02.05.2012 / 21:51