Convertendo vídeos para o formato DivX com mencoder

Segue um script que criei e que poderá ser usado para converter praticamente qualquer formato de vídeo suportado pelo Mplayer para o formato DivX.

Este script nasceu da necessidade de converter alguns vídeos em formato Real Media (rmvb) para o formato DivX de forma a poder assistí-los no meu DVD player da sala. Tentei vários programas e após horas testando, nenhum vídeo tocava no meu aparelho então lembrei que o Mplayer vem com um carinha chamado mencoder que é a alma de 90% dos programas que havia testado.

Após várias buscas no Google e inúmeros vai e vem com o pendrive cheio de vídeos convertidos entre o escritório e a sala consegui achar o modo de conversão que criava um DivX que era reconhecido pelo meu aparelho e consequentemente deve ser o formato correto para tocar em qualquer lugar.

Segue abaixo o script:

#!/bin/bash
#Converte arquivos de midia para DivX 5
#welrbraga-yahoo-com - 2009-09-09
#
#Baseado em: http://web.njit.edu/all_topics/Prog_Lang_Docs/html/mplayer/encoding.html
#Baseado em: http://en.gentoo-wiki.com/wiki/HOWTO_Mencoder_Introduction_Guide#Video_Codecs
#Baseado em: http://www.unix-tutorials.com/go.php?id=397
#
#Para converter todo um diretorio use:
#OLDIFS=${IFS}; IFS='
#';for arq in `ls -1 ../*.rmvb`; do ./todivx.sh "${arq}"; done ; IFS=${OLDIFS}
#
in=$1
movie="$2.avi"
 
#O nome do arquivo a ser convertido é obrigatorio
if [ "${in}" == "" ]; then
 echo "Qual e o arquivo a ser convertido?"
 exit
fi
 
#Se nao e informado o nome do arquivo de saida
#usa o mesmo nome do arquivo de entrada
if [ "${movie}" == ".avi" ]; then
 echo ' nome do arquivo de destino nao informado. Usando o nome do arquivo original'
 movie=$(basename "${in}" .rmvb)'.avi'
 #exit
fi
 
#Se o arquivo a ser convertido nao existe entao nao ha o que ser feito
if [ ! -f "${in}" ]; then
 echo "O arquivo a ser convertido nao existe mais ou seu nome foi digitado errado"
 echo "Arquivo: ${in}"
 exit
fi
#
#echo OK $movie
#exit
#
#formato do audio
audiotype="mp3lame"
#
#Remove o arquivo de log temporario e o arquivo do filme
#caso eles ja existam
[ -f divx2pass.log ] && rm divx2pass.log
[ -f "${movie}" ] && rm "${movie}"
echo "OK 1/3"
#
#conversao em 2 passos - Passagem 1
mencoder "${in}" -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -ffourcc DX50 -oac ${audiotype} -o "${movie}"
echo "OK 2/3"
#
#conversao em 2 passos - Passagem 2
mencoder "${in}" -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -ffourcc DX50 -oac ${audiotype} -o "${movie}"
echo "OK 3/3"
#

Referências

Gereoffy, Arpad. Encoding with MEncoder in MPlayer – The Movie Player for LINUX. 2003. Disponível em <http://web.njit.edu/all_topics/Prog_Lang_Docs/html/mplayer/encoding.html>. Acesso em 09-09-2009.

Gentoo Linux Wiki. Mencoder. April, 2009. Disponível em <http://en.gentoo-wiki.com/wiki/HOWTO_Mencoder_Introduction_Guide>

Unix-tutorial.com. Ripping DVDs to Divx with mencoder (mplayer) under Linux. 2003. Disponível em <http://www.unix-tutorials.com/go.php?id=397>.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.