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