Saturday, January 12, 2008

Convertendo vídeos FLV (YouTube) em MPEG (Para ver no DVD Player)

Algumas vezes é interessante guardar em um CD vídeos raros que (possivelmente) só se encontram no YouTube. Porém, se for possível ver na sala, no DVD player, melhor ainda. Vamos ver como se faz isso no Linux (ou BSDs).

Primeiro, é preciso baixar um video do YouTube. Uma forma prática de fazer isso é usando o site YouTube Video Download Tool. Basta colar o link do YouTube e clicar em "Get Video". Salve o arquivo com a extensão .flv (flash video). Por exemplo, o arquivo poderia se chamar video.flv.

Para converter o arquivo para mpeg, uma possibilidade é usar o comando ffmpeg. Bastaria fazer o seguinte:

ffmpeg -i video.flv -s 320x240 -deinterlace -acodec mp2 -ab 128 -ar 44100 video.mpg

  • O parâmetro -s 320x240 apenas garante que as dimensões do video de saída sejam idênticas às do YouTube (evita distorções).
  • Já o -deinterlace garante que o vídeo tenha todas as linhas horizontais em todos os quadros (veja interlace).
  • Os parâmetros -acodec mp2 -ab 128 -ar 44100 garantem que o audio será reconhecido em todos os DVD Players, inclusive nos antigos, que não tocavam MP3.
  • video.mpg é o nome do arquivo de saída.

Com isso, tudo funcionou perfeitamente tanto no micro como no DVD Player.

A seguir disponibilizo um pequeno script em bash para converter uma seqüência de arquivos flv:

#!/bin/bash
mkdir mpg
for i in $( ls *.flv ); do
echo video: $i
ffmpeg -i $i -s 320x240 -deinterlace -acodec mp2 -ab 128 -ar 44100 mpg/$i.mpg
done

Quem quiser ver todas as opções do ffmpeg, pode fazê-lo aqui.

Para quem usa o rWindows, sugiro o VDownloader, que já vem com o ffmpeg integrado e faz a conversão usando apenas o mouse.

Mas para quem usa Linux, a linha de comando sempre é a melhor opção ;)