De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


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

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


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