- Introdução
Converter arquivos de vídeos e som no Linux, abrangendo os mais variados formatos e codecs, pode ser uma tarefa razoavelmente simples, bastando conhecer o programa certo. Nesta dica vamos apresentar o programa "ffmpeg". Este conversor de áudio e vídeo é extremamente flexível e poderoso, em linha de comando, permitindo que você faça as suas conversões remotamente, em seu servidor, ou mesmo escreva programas de conversão que fiquem rodando no servidor, esperando a próxima tarefa para ser disparada. O ffmpeg não só converte mídias, como também muda o bitrate, redimensiona o vídeo, dentre muitas outras opções avançadas.
Para baixar o ffmpeg, vá até a página oficial do projeto:
http://ffmpeg.mplayerhq.hu/
Ou use o seu gerenciador de pacotes favorito. Pode ser instalado via apt-get com o comando:
apt-get install ffmpeg
Observe que o ffmpeg necessita de algumas bibliotecas de áudio e vídeo, como a libavcodec e a libavformat. Para instalá-lo "na mão", procure antes as versões requeridas destas bibliotecas e as instale. Para conhecer a sintaxe e escrever a linha de comando correta, veja a página do manual "man ffmpeg" ou o FAQ oficial:
http://ffmpeg.mplayerhq.hu/faq.html
Existem versões do ffmpeg para várias plataformas, o que facilita o seu uso ou a implementação em um laboratório de convesão profissional. Abaixo, um breve tutorial de alguns parâmetros:
- Conversão simples
Um arquivo pode ser convertido de maneira simples apenas com o comando:
ffmpeg -i arquivo.wmv arquivo.avi
O parâmetro "-i" indica o arquivo fonte. O formato do arquivo de saída é automaticamente reconhecido pelo ffmpeg, a partir da sua extensão.
ffmpeg -i arquivo.wmv arquivo.avi
O parâmetro "-i" indica o arquivo fonte. O formato do arquivo de saída é automaticamente reconhecido pelo ffmpeg, a partir da sua extensão.
- Sugerindo um Codec de Vídeo
Se você quiser um codec específico, como Xvid ou DivX (versão 4+), use a opção -vcodec, passando o codec desejado (mpeg4, para o caso citado).
ffmpeg -i arquivo.wmv -vcodec mpeg4 arquivo.avi
- Sugerindo um Codec de Áudio
Assim como o vídeo do seu arquivo pode ser comprimido, igualmente o áudio também o pode, reduzindo drasticamente o tamanho do arquivo final. Em alguns casos, como mídias para celulares, é necessário que o áudio esteja em AAC+ (AAC Plus), sob pena de não ser executado. Assim, utilize a opção -acodec, passando o codec desejado (libfaac, para o caso citado).
ffmpeg -i arquivo.wmv -vcodec mpeg4 -acodec libfaac arquivo.avi
- Como converter vídeos para iPod?
ffmpeg -i arquivo.wmv -acodec libfaac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv -trellis 2 -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X output.mp4
Este comando acima contém diversas configurações do áudio e do vídeo necessárias para que seu vídeo seja convertido no formato suportado pelo iPod. Veja mais destas opções adiante...
- Definindo o bitrate do áudio e do vídeo
O bitrate do áudio e do vídeo são definidos separadamente, com os parâmetros:
-ab: é uma opção apenas do áudio, que define o bitrate em bits/s.
-b: é uma opção apenas do vídeo, que define o bitrate em bits/s.
-ab: é uma opção apenas do áudio, que define o bitrate em bits/s.
-b: é uma opção apenas do vídeo, que define o bitrate em bits/s.
- Definindo o Frame Rate (quadros por segundo)
Basta usar a opção "-r" seguida do número desejado. Por exemplo, para forçar 25 quadros por segundo, use:
ffmpeg -i arquivo.wmv -r 25 arquivo.avi
Mas, cuidado: alguns codecs só suportam pequeno número de framerates padronizados. Se este for seu caso, a informação de framerate será ignorada.
ffmpeg -i arquivo.wmv -r 25 arquivo.avi
Mas, cuidado: alguns codecs só suportam pequeno número de framerates padronizados. Se este for seu caso, a informação de framerate será ignorada.
- Como ripar DVD com o ffmpeg??
Para este também tem uma "fórmula", com toda a configuração necessária!! Segue:
ffmpeg -i cap_1.vob -f avi -vcodec mpeg4 -b 800k -g 300 -bf 2 -acodec libmp3lame -ab 128k cap.avi
ffmpeg -f image2-i img%d.jpg saida.mpg
ffmpeg -i arquivo.mp4
As streams estão no fim da mensagem, normalmente numeradas no padrão "0.0", "0.1", etc. Exemplo:
Duration: 00:01:48.48, start: 0.000000, bitrate: 550 kb/s
Stream #0.0(und): Audio: libfaad, 44100 Hz, stereo
Stream #0.1(und): Video: h264, yuv420p, 480x200, 23.97 tb(r)
Indica que a primeira stream é de áudio e a segunda de vídeo. O codec da primeira é libfaad, com 44100 Hz de freqüência e bitrate de 550 kb/s. Não tem stream de legenda neste arquivo.
-scodec codec: define o codec da legenda (subtitle codec). O padrão de arquivos VOB, por exemplo, é o codec dvdsub. Se você não sabe qual é o codec e simplesmente quer copiar o existente no arquivo original, use a opção copy em lugar do nome do codec.
-newsubtitle: adiciona uma legenda inteiramente nova para seu arquivo de saída!! Pode ser esta sua opção!!
Como vou saber onde está a minha legenda?? Bom, é preciso primeiro inspecionar um arquivo, conforme demonstrado no item acima, e escolher a stream correta. Para montar seu arquivo final com streams de diversos arquivos, inclusive de legenda, siga a orientação abaixo...
ffmpeg -i filme.vob -i audio.wav -map 0:0 -map 1:0 etc...
Este trecho de comando indica 2 arquivos de entrada, o arquivo "0" e o "1", e indica, pela opção map, que deve compor o arquivo de saída com a primeira stream do primeiro arquivo "0" e a primeira stream do arquivo "1".
Diversas outras opções e exemplos presentes na página de manual e no FAQ bem documentado do projeto!! Um tutorial avançado e detalhado encontra-se aqui.
O ffmpeg é livre e gratuito, seguro e poderoso!! Boa sorte!!
(Gostou?? Detestou?? COMENTE!!!)
ffmpeg -i cap_1.vob -f avi -vcodec mpeg4 -b 800k -g 300 -bf 2 -acodec libmp3lame -ab 128k cap.avi
- Como ler a entrada padrão, ou escrever para a saída padrão?
- Como fazer um vídeo a partir de figuras?
ffmpeg -f image2-i img%d.jpg saida.mpg
- Como inspecionar as streams presentes em um arquivo?
ffmpeg -i arquivo.mp4
As streams estão no fim da mensagem, normalmente numeradas no padrão "0.0", "0.1", etc. Exemplo:
Duration: 00:01:48.48, start: 0.000000, bitrate: 550 kb/s
Stream #0.0(und): Audio: libfaad, 44100 Hz, stereo
Stream #0.1(und): Video: h264, yuv420p, 480x200, 23.97 tb(r)
Indica que a primeira stream é de áudio e a segunda de vídeo. O codec da primeira é libfaad, com 44100 Hz de freqüência e bitrate de 550 kb/s. Não tem stream de legenda neste arquivo.
- Como trabalhar com legendas?
-scodec codec: define o codec da legenda (subtitle codec). O padrão de arquivos VOB, por exemplo, é o codec dvdsub. Se você não sabe qual é o codec e simplesmente quer copiar o existente no arquivo original, use a opção copy em lugar do nome do codec.
-newsubtitle: adiciona uma legenda inteiramente nova para seu arquivo de saída!! Pode ser esta sua opção!!
Como vou saber onde está a minha legenda?? Bom, é preciso primeiro inspecionar um arquivo, conforme demonstrado no item acima, e escolher a stream correta. Para montar seu arquivo final com streams de diversos arquivos, inclusive de legenda, siga a orientação abaixo...
- Como montar um arquivo de partes de outros?
ffmpeg -i filme.vob -i audio.wav -map 0:0 -map 1:0 etc...
Este trecho de comando indica 2 arquivos de entrada, o arquivo "0" e o "1", e indica, pela opção map, que deve compor o arquivo de saída com a primeira stream do primeiro arquivo "0" e a primeira stream do arquivo "1".
Diversas outras opções e exemplos presentes na página de manual e no FAQ bem documentado do projeto!! Um tutorial avançado e detalhado encontra-se aqui.
O ffmpeg é livre e gratuito, seguro e poderoso!! Boa sorte!!
(Gostou?? Detestou?? COMENTE!!!)