domingo, 27 de março de 2011

Salvando videos em flash (novo método) no LINUX

Dica encontrada no blog do liquuid

Copiei e colei devido a preguicite aguda ;-)


Houve um tempo (até poucas semanas atrás), em que para salvar um vídeo FLV qualquer da web, bastava ir no diretório /tmp, e copiar o arquivo FlashFEYHS2W34F para o desktop com outro nome, ou ainda assistir o vídeo usando o mplayer enquanto o mesmo era baixado.
Mas as coisas mudaram, a Adobe, visando proteger o direito autoral da indústria, mudou o comportamento do Flash, agora ao começar o stream de vídeo ele deleta o arquivo do HD, assim ele fica inacessível para o sistema e para os outros programas, mas não para o processo que originou o stream. Ou seja, enquanto esse processo estiver rodando o sistema de arquivos não libera o espaço ocupado pelo arquivo deletado, assim ele continua disponível para o processo pai indefinidamente.
Que tal usar essa característica dos sistemas de arquivos do linux a nosso favor ?
Primeiro passo, escolha um vídeo no youtube e dê play, em seguida abra um terminal e digite:
lsof | grep deleted | grep /tmp/Flash
Essa etapa pode demorar alguns minutos, dependendo do tamanho do seu sistema e da quantidade de processos rodando, e no fim ele vai te gerar uma saida semelhante a essa:
chromium- 4103    liquuid   22w      REG       8,21  20022146     394236 /tmp/FlashXXfBMa8x (deleted)
Esse comando nos mostra qual o comando e o número do processo que tem um arquivo aberto deletado cujo o nome se inicia com ‘/tmp/Flash’. Se você pegar o nome do arquivo ‘/tmp/FlashXXfBMa8x’ e der um ‘ls’, ele não vai estar lá, por outro lado todos os processo do linux tem seus files decriptors muito bem organizados e guardados no diretório ‘/proc’.
Dessa forma usando o número do processo (segunda coluna) 4103, basta dar o comando:
ls -l /proc/4103/fd/ | grep '/tmp/Flash'
A saída será parecida com essa :
l-wx------ 1 liquuid liquuid 64 2011-03-26 16:31 22 -> /tmp/FlashXXfBMa8x (deleted)
Ou seja, existe um link chamado ’22′ linkado com o conteúdo do arquivo deletado, então basta copiar ‘/proc/4103/fd/22′ para outro diretório, para ter sua cópia do vídeo. Não é simples, mas é uma forma.


Follow Me on Twitter