[Ubuntu-BR] Autoração DVD

hamacker sirhamacker em gmail.com
Segunda Março 3 22:29:19 UTC 2008


Eis o script, nele voce pode converter um .avi ou todos que estiverem
no mesmo diretorio, para converter todos voce vai até o diretorio onde
há os arquivos .avi e .srt (com o mesmo nome do avi) e executa-o e ele
converterá todos que encontrar pelo caminho para dvix com a legenda
embutida. Só um aviso, ele também reformata a resolução para que possa
ser exibido no dvd de mesa, portanto se seus videos forem HD e voce só
assite no computador então reedite o script, ele é autoexplicativo e
voce saberá onde mudar na resolução. Outra coisa importante tem uma
opção -dvd que se usada vai converter para mpeg, eu coloquei isso para
depois compilar os meus próprios dvds, mas desisti de usa-la porque
dvix é bem mais economico e assisto no dvd de mesa do mesmo jeito.

<--------------- INICIO ----------------->
#!/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"
  video_res="720:480"
else
  # 624:352,720:480
   video_format="avi"
  video_res="624:352"
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=$video_res,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"
  # dvix=msmpeg4(toca no dvd)
  # msmpeg4v2 (mpeg4)
  # xvid
  #dvix=msmpeg4(toca no dvd)
  EXEC_CMD_PART1="mencoder -oac mp3lame -lameopts cbr:br=64:vol=0 -ovc
lavc -lavcopts vcodec=msmpeg4:vbitrate=5000 -vf
lavcdeint,scale=$video_res,harddup "
  # xvid
  #EXEC_CMD_PART1="mencoder -oac mp3lame -lameopts abr:br=92:vol=0
-ovc xvid -xvidencopts pass=2:bitrate=5000 -vf
lavcdeint,scale=$video_res,harddup "

  arquivo_out_ext="avi"
fi

lista_arquivos=` find $arquivo_mascara `
#lista_arquivos=` ls -1 $arquivo_mascara `
#lista_arquivos=` ls -1 *.mpg `
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
    # cor original = FFFF0000
    # cor trocada #FCC900
    #EXEC_CMD_PART2=" -subpos 95 -subcp latin1 -sub $arquivo_legenda
-subfont-autoscale 2 \
    #             -subalign 2 -ass -ass-color FCC900 -ass-font-scale 1.2  \
    #             -ass-force-style FontName=Arial,Default.Bold=1
-ass-use-margins \
    #             -ass-bottom-margin 80"

    # OK :EXEC_CMD_PART2=" -subpos 95 -subcp latin1 -sub
$arquivo_legenda -subfont-autoscale 3"
    EXEC_CMD_PART2=" -subpos 95 -subcp iso-8859-15 -sub
$arquivo_legenda -subfont-autoscale 3 -ass-force-style
FontName=/usr/X11R6/lib/X11/fonts/truetype/arial.ttf,Default.Bold=1
-subpos 95 -subfont-osd-scale 6 -subfont-text-scale 4 -subfont-blur 2
"
  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 ----------------->
2008/3/3, Laura <laura.ssb em gmail.com>:
> Em 03/03/08, hamacker<sirhamacker em gmail.com> escreveu:
>
> > Eu tenho um script dedicado a embutir a legenda no filme.
>  >  Ele usa o mencoder, e as acentuações saem perfeitas.
>  >  A única coisa que ficou faltando é usar legendas amarelas.
>  >
>  >  Quando chegar em casa eu envio para voce.
>
>
>
> Muito obrigada, Hamacker.
>
>
>  --
>
> Laura Bernardes - laura.ssb em gmail com - Linux Registered User #466808
>  Interessado em aprender mais sobre o Ubuntu em português?
>  http://www.ubuntu-br.org/comece
>




More information about the ubuntu-br mailing list