Converter animes em .mp4 para .avi (e outros) com qualidade perfeita

Publicado por Fernando Silvério da Silva (última atualização em 08/04/2010)

[ Hits: 19.598 ]

Download mp4TOavi




Isso aí galera, fiz um script para converter meus animes em .mp4 para .avi, mantendo a qualidade perfeita de áudio e vídeo,  usando o mencoder para escolher a melhor quantidade de bitrate.

Espero que gostem!

  



Esconder código-fonte

#!/bin/sh
#Script criado por Fernando Silverio da Silva 'Fehh'
#Facilitando a conversão de animes em formato mp4 para avi ou outros.
#Pode ser usado para rm,rmvb e outro, basta mudar 'for i in *.mp4' para o formato desejado
#Exemplo 'for i in *.rmvb'
#Agradeço ao amigo Issac Newton da comunidade Linux Brasil pela ajuda
#Esse script pega todos os arquivos que esta dentro da pasta que
#Deseja converter e  converte um após o outro
#Criando uma pasta 'Convertidos' aonde salva os novos arquivos
#Não apagando os arquivos originais
#Precisa do 'mencoder' e codecs instalados como o 'w32codec'
#Versão 1.0

mkdir Convertido &&
IFS_ATUAL=$IFS
IFS=$( echo -en "\n\b" )
for i in *.mp4
do
mencoder $i -ovc lavc -lavcopts vcodec=mpeg4 -ffourcc XVID -oac mp3lame -o "Convertido/$i.avi"
done 
for o in $(ls -1 *.mp4.avi)
do
mv $o $(echo $o | awk -F. '{print $1".avi"}');
done
#Fim

Scripts recomendados

Embaralhando elementos de um vetor

Shell Script - para configurações de Vlans Cisco.

Abrir o browser lynx direto na página do Google

Limpar bibliotecas não utilizadas

compactação de backup diários


  

Comentários
[1] Comentário enviado por pacman em 08/04/2010 - 19:01h

sugestões:

1) mkdir -p Convertido (não da erro se não conseguir criar o diretorio, ele pode existir)
2) ao inves de um for + memcoder eu usaria um find + xargs (veja a opção -i)
3) se vc tem dezenas de arquivos .mp4.avi e vc quer converter para .avi apenas vc pode fazer
3.1) usar expansão de variaveis -- http://aurelio.net/shell/canivete.html#expansao
mv $o ${o/.mp4/}

3.2) usar o comando rename (que pode ser combinado com um find + xargs)
rename s/.mp4// *avi

A vantagem disso é que vc faz menos uso de pipes e subprocessos :)

[2] Comentário enviado por fehh em 08/04/2010 - 20:32h

Valeu pelas dicas, já tinho enviado um script atualizado, vou ver suas dicas e coloca-las futuramente!

[3] Comentário enviado por wagnercosta101 em 26/03/2011 - 17:25h

Obrigado por compartilhar a solução, qualidade de áudio e vídeo 10/10, já enviei uma nova versão com algumas alterações para ajudar a comunidade e os usuários.

# Só cria o diretorio caso ele não exista.
if [ ! -d Convertido ]
then
mkdir Convertido
fi

# Alteração no comando que faz a conversão, o arquivo convertido será salvo no formato NOME_ORIGINAL.avi
mencoder $i -ovc lavc -lavcopts vcodec=mpeg4 -ffourcc XVID -oac mp3lame -o "Convertido/${i/mp4/avi}"

# Removido o loop que renomeava os arquivos (desnecessário apos alterar o nome na conversão)

[4] Comentário enviado por solispedro em 12/06/2011 - 12:10h

Utilizei da seguinte forma:

for i in *.MP4; do
if [ -e "$i" ]; then
file=`basename "$i" .MP4`
mencoder "$i" -ovc lavc -lavcopts vcodec=mpeg4 -ffourcc XVID -oac mp3lame -o "Convertido/$file.avi"
fi
done

Entretanto, infelizmente, não consegui a mesma qualidade do mp4 ... Como poderia melhorar o resultado, convertendo para avi?

(consegui ótimo resultado convertendo para ogv, usando ffmpeg2theora "$i" -o "Convertido/$file.ogv", mas precisava converter para avi)



[5] Comentário enviado por solispedro em 14/06/2011 - 22:41h

Consegui usando ffmpeg

ffmpeg -i "$i" -target dvd "Convertido/$file.avi"



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts