Frame 2 DivX

De ULBwiki

Cria um vídeo a partir das imagens de um diretório. Execute o script a partir do diretório que contém as imagens.

Dependência: mencoder

###################################################################################
# Converte uma série de imagens em um diretório em vídeo nos formatos MS-MPEG ou DivX
# Autor: Luiz
###################################################################################
 
#!/bin/sh
format=`zenity --title "Selecionar formato da imagem" --entry --text "Digite o formato das imagens." --entry-text "png"`
if [ $? -eq 1 ]; then
  exit 0
fi
 
fps=`zenity --title "FPS" --entry --text "Entre com a quantidade de quadros por segundo desejada." --entry-text=25`
if [ $? -eq 1 ]; then
  exit 0
fi
 
codec=`zenity --list --text "Is linux.byexamples.com helpful?" --radiolist --column "Pick" --column "Codec" TRUE msmpeg4v2 FALSE mpeg4`
if [ $? -eq 1 ]; then
  exit 0
fi
 
movie_file=`zenity --title "Selecionar nome do filme" --entry --text "Digite o nome do filme a ser criado."`
if [ $? -eq 1 ]; then
  exit 0
fi
 
if [ -z $movie_file ]
  then
    zenity --error --text "Nome do arquivo Está vazio."
    exit 0
fi
 
rm -f divx2pass.log frameno.avi
 
if [ $codec = "mpeg4" ]
then
  opt="vbitrate=2160000:mbd=2:keyint=132:v4mv:vqmin=3:vlelim=-4:vcelim=7:lumi_mask=0.07:dark_mask=0.10:naq:vqcomp=0.7:vqblur=0.2:mpeg_quant" 
  mencoder -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:$opt -mf type=$format:fps=$fps -nosound -o /dev/null mf://\*.$format \
  | zenity --title "Criando filme usando DivX 4/5" --text "Primeira passagem. Aguarde..." --progress --auto-close --pulsate
 
  if [ $? -eq 1 ]; then
    exit 0
  fi
 
  mencoder -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:$opt -mf type=$format:fps=$fps -nosound -o \
  $movie_file.avi mf://\*.$format | zenity --title "Criando filme usando DivX 4/5" \
  --text "Segunda passagem. Aguarde..." --progress --auto-close --pulsate
 
  if [ $? -eq 1 ]; then
    exit 0
  fi
else
  opt="vbitrate=2160000:mbd=2:keyint=132:vqblur=1.0:cmp=2:subcmp=2:dia=2:mv0:last_pred=3"
  mencoder -ovc lavc -lavcopts vcodec=msmpeg4v2:vpass=1:$opt -mf type=$format:fps=$fps \
  -nosound -o /dev/null mf://\*.$format | zenity --title "Criando filme usando Microsoft MPEG4 V2" \
  --text "Primeira passagem. Aguarde..." --progress --auto-close --pulsate
  if [ $? -eq 1 ]; then
    exit 0
  fi
  mencoder -ovc lavc -lavcopts vcodec=msmpeg4v2:vpass=2:$opt -mf type=$format:fps=$fps -nosound \
  -o $movie_file.avi mf://\*.$format | zenity --title "Criando filme usando Microsoft MPEG4 V2" \
  --text "Segunda passagem. Aguarde..." --progress --auto-close --pulsate
 
  if [ $? -eq 1 ]; then
    exit 0
  fi
fi
 
zenity --info --text "Codificação completada."


Sugiro que os arquivos tenham um nome base, seguido de números e tenham a mesma extensão para que o script funcione corretamente. Ex:

frame.000000.png
frame.000001.png

--Luiz 02:06, 2 Maio 2008 (EDT)

Ferramentas pessoais
Criar página