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.594 ]

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

Bloquear contas em servidor Zimbra após 45 dias

Agendamento de compromissos com avisos baseados no horário

MallTrixx

Script para criação de usuários do Samba

Remoção de arquivos multimídia


  

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