Script para conversão de vídeos para netbooks e smartphones

Completando os artigos anteriores sobre conversão de vídeo, preparei um script simples de conversão, que permite automatizar a conversão dos vídeos no Linux, eliminando o trabalho manual de rodar os comandos de conversão.

Originalmente ele era destinado a apenas converter vídeos para serem assistidos em smartphones, gerando vídeos MPEG4 ou Real Video com resolução de 320×176 ou 320×240. Na versão atual, ele ganhou também funções para converter vídeos HDTV em vídeos 480p (720×480) ou VGA (640×480), permitindo que você assista-os em netbooks ou em PCs antigos, que engasgariam com os arquivos originais.

Ele está disponível no:

https://e.cdn-hardware.com.br/static/media/press/arquivos/converter-video.zipe.cdn-hardware.com.br/static/media/press/arquivos/converter-video.zipconverter-video.zip

O script foi feito para converter vários arquivos de uma vez, de forma prática. Para usá-lo, crie uma pasta qualquer (“videos”, por exemplo) e copie todos os vídeos que quer converter para dentro dela, junto com o script.

Em seguida, abra um terminal, acesse a pasta e execute o script, como em:

$ ./converter-video.sh

O script pergunta o formato de saída e em seguida inicia a conversão, convertendo todos os vídeos colocados na pasta. Você pode deixá-lo rodando a noite ou em outro horário em que não for usar o micro, deixando para copiar todos os vídeos de uma vez para o cartão de memória depois de concluído o trabalho.

Para os smartphones com o Windows Mobile ou o PalmOS, é recomendável usar o TCPMP, que permite assistir vídeos em diversos formatos e com um bom desempenho. Você pode baixá-lo no http://picard.exceed.hu/tcpmp/test/ ou no https://e.cdn-hardware.com.br/static/media/press/arquivos/tcpmp072rc1.zip

Para os aparelhos com o S60, você pode utilizar o próprio Real Player que vem pré-instalado, ou usar o Core Player, que apesar de pago, faz também um ótimo trabalho. Você pode também baixar uma versão antiga, gratuita, disponível aqui. O certificado já está expirado, por isso para instalar é necessário atrasar o relógio.

Aqui vai o código-fonte do script:

#!/bin/sh
clear

echo 'Este script permite converter arquivos de video, gerando arquivos
otimizados para serem assistidos em smartphones. Para usa-lo copie os
arquivos a serem convertidos para a mesma pasta onde esta o script.
Ao ser executado, ele converte todos os arquivos de uma vez, mantendo os
originais. Os arquivos convertidos recebem o prefixo "c-"
Para usar o script, é necessário que o mencoder e o ffmpeg estejam
instalados. (Enter para continuar)
'
read pausa

echo 'Foram encontrados os arquivos':
ls ./ | sed -e "/converter-video.sh/D"
echo '
Escolha o formato de sada:

1) MPEG4, 320x240 (videos no formato 4:3, para smartphones)
2) MPEG4, 320x176 (videos em formato wide, para smartphones)
3) Real Player, 320x240 (videos no formato 4:3)
4) Real Player, 320x176 (videos em formato wide)
5) Video 3gp, 176x144, para celulares antigos
6) Video 480p (720x480), para ser assistido em netbooks
7) Video VGA (640x480), para ser assistido em netbooks

(Responda 1, 2, 3, 4, 5, 6 ou 7, ou qualquer outra tecla para sair)'
read resposta

if [ "$resposta" = "1" ]; then
for i in *; do
mencoder -oac mp3lame -lameopts cbr:br=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=512 -ofps 16 -vf scale=320:240 -o "c-$i" "$i"
done
elif [ "$resposta" = "2" ]; then
for i in *; do
mencoder -oac mp3lame -lameopts cbr:br=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=512 -ofps 16 -vf scale=320:176 -o "c-$i" "$i"
done
elif [ "$resposta" = "3" ]; then
for i in *; do
mencoder -oac mp3lame -lameopts cbr:br=256 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1024 -vf scale=320:240 -o tmp.avi "$i"
ffmpeg -i tmp.avi -f mp4 -vcodec mpeg4 -b 256000 -r 15 -s 320x240 -acodec aac -ar 44100 -ab 128 -ac 2 "c-$i".mp4
rm -f tmp.avi
done
elif [ "$resposta" = "4" ]; then
for i in *; do
mencoder -oac mp3lame -lameopts cbr:br=256 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1024 -vf scale=320:176 -o tmp.avi "$i"
ffmpeg -i tmp.avi -f mp4 -vcodec mpeg4 -b 256000 -r 15 -s 320x176 -acodec aac -ar 44100 -ab 128 -ac 2 "c-$i".mp4
rm -f tmp.avi
done
elif [ "$resposta" = "5" ]; then
for i in *; do
ffmpeg -i "$i" -s qcif -vcodec h263 -acodec aac -ac 1 -ar 48000 -r 15 -ab 32 -y "c-$i".3gp
done
elif [ "$resposta" = "6" ]; then
for i in *; do
mencoder -oac mp3lame -lameopts cbr:br=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1024 -vf scale=720:480 -o "480p-$i" "$i"
done
elif [ "$resposta" = "7" ]; then
for i in *; do
mencoder -oac mp3lame -lameopts cbr:br=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=1024 -vf scale=640:480 -o "VGA-$i" "$i"
done
else
echo "Você digitou uma opção inválida"
fi

exit 0

Você pode notar que as opções para gerar arquivos no formato Real Video fazem duas conversões, primeiro usando o mencoder e em seguida gerando o arquivo final usando o ffmpeg. Esta combinação se revelou mais à prova de falhas, resultando em menos erros ao converter vídeos em formatos exóticos. Uma observação no caso das opções para gerar arquivos no formato Real Video é que o pacote do ffmpeg incluído no Ubuntu (qualquer versão) não inclui suporte a aac, um bug reportado desde do 5.4 que permanece aberto até hoje. No caso dele, você precisa instalar o pacote a partir do código fonte, ou simplesmente usar as opções que geram arquivos MPEG4, que são mais simples.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X