você está aqui: Home  → Arquivo de Mensagens Workshop Gratuito: Os Segredos do Shell, com o Prof. Julio Neves

Convertendo vídeos para x264 (divx nunca mais)

Colaboração: Giovane Moura

Data de Publicação: 18 de November de 2008

Sempre tive problemas para conversão de vídeos feitos com minha câmera compacta (Canon Ixus 82) para o formato xvid. O processo de conversão no mencoder é de certa forma complexo e no final nunca eu atingia um resultados satisfatório (em termos de qualidade do vídeo e tamanho do arquivo).

Recentemente vi um trailer em HDTV que utilizava o formato h264 [1]. Qualidade excelente e um tamanho relativamente pequeno. Decidi testar este formato no Linux e ver os resultados (disponível através do codec x264[2]). Melhor impossível! A conversão é muito simples, porém um pouco demorada. Eis um exemplo de um vídeo que converti:

  • Tamanho vídeo avi raw (original): 56M
  • Tamanho vídeo convertido x264: 4.8M
  • Qualidade: praticamente a mesma.

Para converter um vídeo para x264, execute o comando:

ffmpeg -i mvi_0278.avi -vcodec libx264 -b 2000 -acodec libmp3lame out.mp4

Parâmetros:

-i vídeo de entrada (substitua o mvi_0278.avi pelo seu vídeo)
-vcodec codec de vídeo
-b bitrate (2000 bit/s, 1500 também fica muito bom)
-acodec codec de audio (mp4, no caso)
out.mp4 vídeo de saída

Se você tiver erros ao executar este comando, provavelmente será devido a falta do ffmpeg, do libmp3lame ou do x264. Instale-os de acordo com sua distro e então funcionará. Utilizo No Slackware 12 tive de aplicar um patch para funcionar -- a descrição do procedimento vai no final desta dica.

Fiz ainda um script para conversão automática de todos os vídeos em um diretório.

Ai vai:

#!/bin/sh
#início do script de conversão

#número de arquivos
N_FILES=$( ls *.avi  |wc|awk '{print $1}')

#arquivos de entrada
ls *.avi > list.txt

for ((  i = 1 ;  i <= $N_FILES ; i++  ))
do

CURRENT_VID=$( cat list.txt |awk '{print $1}' |head -n $i|tail -n 1)

ffmpeg -i $CURRENT_VID -vcodec libx264 -b 2000 -acodec libmp3lame $CURRENT_VID.mp4
done
#fim do script

Configurando x264+ffmpeg no Slackware 12

  • Download do x264 - http://www.videolan.org/developers/x264.html

    ./configure --enable-shared,make, make install
    

  • Download do ffmpeg

    svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
    

  • Download do patch

    wget http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080915/f69a09a0/attachment.patch
    

  • Aplicação do patch

    patch -p0 < attachment.patch
    

  • Configure -

    ./configure --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-gpl
    make & make install
    

Referências

  1. H.264 - http://pt.wikipedia.org/wiki/H.264
  2. x264 - http://www.videolan.org/developers/x264.html


Veja a relação completa dos artigos de Giovane Moura