[Ubuntu-BR] Convertendo de avi para mpeg2

hamacker sirhamacker em gmail.com
Quarta Setembro 12 01:22:11 UTC 2007


Criei esse script para fazer essa conversao para o proprio avi (mas
mesclando a legenda) mpeg :

<----INICIO DO SCRIPT --->
#!/bin/bash
echo "conversor e mesclador de legendas."
echo "use [-dvd] para converter para mpeg2 (compativel com dvds)"
echo "ou -avi(padrao assumido) para continuar a usar o formato avi"
echo "se houver .srt de mesmo nome entao a legenda será mixada ao video"
echo "-"
arquivo_mascara=$1
if [ "$arquivo_mascara" == "" ] ; then
  arquivo_mascara="*.avi"
  echo -n "Deseja processar todos arquivos .avi deste diretorio ? (sim/nao) =>"
  read resposta
  if [ "$resposta" != "sim" ] ; then
    echo "Operacao cancelada !"
    exit 1;
  fi
fi

video_aspect="16/9"
video_exibir_cmd="N"  # S=Apenas exibe o comando a ser executado, mas
nao executa
#video_format="dvd"
video_format="avi"
if [ "$2" == "-dvd" ] ; then
  video_format="dvd"
else
  video_format="avi"
fi

if [ "$video_format" == "dvd" ] ; then
  echo "convertendo para o formato $video_format"
  EXEC_CMD_PART1="mencoder -oac lavc -ovc lavc -of mpeg \
             -mpegopts format=dvd -vf scale=720:480,harddup \
             -srate 48000 -af lavcresample=48000 \
             -lavcopts
threads=2:vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=ac3:abitrate=224:aspect=$video_aspect
\
             -ofps 25"
  arquivo_out_ext="mpg"
else
  echo "convertendo para o formato $video_format"
  EXEC_CMD_PART1="mencoder -of avi -oac mp3lame -lameopts
q=5:vbr=2:abr=160:aq=5:ratio=50:mode=0:vol=8 \
                   -ovc lavc -lavcopts vcodec=mpeg4"
  arquivo_out_ext="avi"
fi

lista_arquivos=` find $arquivo_mascara `
for arquivo_in in $lista_arquivos ;
do
  arquivo_ext=${arquivo_in##*.}
  arquivo_basename=`basename $arquivo_in .$arquivo_ext`
  arquivo_out=`echo $arquivo_basename-pt_br.$arquivo_out_ext|tr
'[:upper:]' '[:lower:]'`
  arquivo_legenda="$arquivo_basename.srt"
  echo "Processando arquivo $arquivo_in..."

  EXEC_CMD_PART2=" "
  echo ".  arquivo ext=$arquivo_ext"
  echo ".  arquivo base=$arquivo_basename"
  echo ".  arquivo legenda=$arquivo_legenda"
  if ! [ -f "$arquivo_legenda" ] ; then
    echo "Nao Possui arquivo de legenda : $arquivo_legenda"
  else
    # parte 2 é responsavel pela aplicacao da legenda
    EXEC_CMD_PART2=" -subcp latin1 -sub $arquivo_legenda -subfont-text-scale 5 \
                 -subalign 2 -ass -ass-color FFFF0000 -ass-font-scale 1.2  \
                 -ass-force-style FontName=Arial,Default.Bold=1
-ass-use-margins \
                 -ass-bottom-margin 80"
  fi

  EXEC_CMD_PART3=" -o $arquivo_out $arquivo_in "
  EXEC_CMD="$EXEC_CMD_PART1 $EXEC_CMD_PART2 $EXEC_CMD_PART3"

  if [ "$video_exibir_cmd" = "S" ] ; then
    echo "Execute na linha de comando :"
    echo $EXEC_CMD
  else
    $EXEC_CMD
  fi

done
<----FIM DO SCRIPT --->

Nele voce usa o parametro -dvd e ele converte para mpeg.
Pode usufruir dele, ainda não testei com mpeg, mas deve funcionar.

[]'s

Em 10/09/07, Paulo Freitas<pauloidef em gmail.com> escreveu:
> Pessoal, quando converto o meu arquivo de avi para mpeg2 com o comando
> mencoder o som fica com um ruido que não da pra entender nada, alguem sabe
> mc dizaer o q estah acontencendo? ai vai o comando que estou dando:
>
> mencoder o_agente.avi -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd:tsaf
> -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 -lavcopts
> vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=18:vstrict=0:acodec=ac3:abitrate=224:aspect=4/3
> -font /usr/share/fonts/bitstream-vera/Vera.ttf -subfont-text-scale 3 -subpos
> 75 -ofps 30000/1001 -o o_agente.mpeg2
>
>
> --
>        .~.
>      /  v  \   Não use drogas,
>     /(     ) \     Use Linux!
>      ^^-^^
> --
> Interessado em aprender mais sobre o Ubuntu em português?
> http://wiki.ubuntu-br.org/ComeceAqui  -
> ubuntu-br mailing list
> ubuntu-br em lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>




More information about the ubuntu-br mailing list