Script Para Ajustar o Intevalo de Legendas 2
Publicado por Carlos 28/03/2005
[ Hits: 4.009 ]
Homepage: http://nullterminated.livejournal.com/
Pessoal,
Recentemente postei um Script (http://www.vivaolinux.com.br/scripts/verScript.php?codigo=974) que segundo eu, serviria para diminuir o intervalo entre as legendas de um filme, bem, eu errei! :-)
O Referido Script na verdade aumenta o Intervalo, esta versão faz o que o outro prometia, mas ambos são úteis... um serve para aumentar e um para diminuir os intervalos...
[]'s a todos, e mil desculpas!!
#!/bin/sh
############################################################################
# Time Decrement SubTitles 
# Ver 0.0.2
# (C) Copyleft 2005 Carlos "Null_Terminated" Andre
# Usage: ./inctimest.sh <time[h m s]> <subtitlefile>
############################################################################
############################################################################
# Know Bugs
# - Se uma legenda possuir mais de uma linha, a sequencia de tempos sera
#   perdida. Para resolver o problema, junte as duas ou mais linhas, pro
#   cesse o arquivo e depois separe-as... :)
############################################################################
TMP=${TMP:-/tmp}
INTERVALSU=$TMP/int.unprocess$$
INTERVALSP=$TMP/int.process$$
SUBTIT=$TMP/subtit$$
SCRAWK=$TMP/scrawk$$
CONT=1
# Verifica o numero de parametros passados ao programa
if [ $# -lt 2 ]; then
   echo "Usage: $0 time[h m s] subtitlefile"
   echo "Example: $0 10s subtitle.txt"
   exit 1
fi
# Nome do arquivo base sem extencao
BASE=$(echo $2 | sed -e "s/\....$//")
# Arquivo processado, resultado
RESULT=$BASE.processed
# Gera Script AWK que formatara os intervalos apropriadamente.
# Certamente seria mais "elegante" usar um arquivo em separado
# ao invez de gera-lo dinamicamente, mas seria menos prático.
cat << _FIM_ > $SCRAWK
{
   OFS=""
   inc=substr(param,1,length(param)-1)
   frt=substr(param,length(param),1)
   if (frt == "h")
   {
      if (\$1 >= inc)
      {
         val1=(\$1-inc)+100
      }
      else
      {
         val1=\$1+100
      }
      val1=substr(val1,2,2)
      if (\$5 >= inc)
      {
         val2=(\$5-inc)+100
      }
      else
      {
         val2=\$5+100
      }   
      val2=substr(val2,2,2)
      print val1,":",\$2,":",\$3,",",\$4,"-->",val2,":",\$6,":",\$7,",",\$8
   }
   
   if (frt == "m")
   {
      if (\$2 >= inc)
      {
         val1=(\$2-inc)+100
      }
      else
      {
         val1=\$2+100
      }   
      val1=substr(val1,2,2)
      
      if (\$6 >= inc)
      {
         val2=(\$6-inc)+100
      }
      else
      {
         val2=\$6+100
      }   
      val2=substr(val2,2,2)
      print \$1,":",val1,":",\$3,",",\$4,"-->",\$5,":",val2,":",\$7,",",\$8
   }
   if (frt == "s")
   {
      if (\$3 >= inc)
      {
         val1=(\$3-inc)+100
      }
      else
      {
         val1=\$3+100
      }   
      val1=substr(val1,2,2)
      if (\$7 >= inc)
      {
         val2=(\$7-inc)+100
      }
      else
      {
         val2=\$7+100
      }   
      val2=substr(val2,2,2)
      print \$1,":",\$2,":",val1,",",\$4,"-->",\$5,":",\$6,":",val2,",",\$8
   }
   
}
_FIM_
# Gera um arquivo com os intervalos das legendas
cat $2 | sed -n -e 's/ --> /:/;s/,/:/g;/^0[01].*$/p' >> $INTERVALSU
# Processa o arquivo de intervalos decrementando os tempos necessários
awk -F ":" -v param=$1 -f $SCRAWK $INTERVALSU >> $INTERVALSP
# Gera um arquivo somente com as "legendas" em si
cat $2 | sed -n -e '/^0[01].*$/d;/^$/d;/[^1-9][^0-9][^0-9][^0-9]$/p' >> $SUBTIT
# Gera o seultado em si.
# $COUNT   = Indice
# $y      = Intervalos
# $SUBTIT   = Legendas em si
for y in `cat $INTERVALSP`; do
   echo $CONT >> $RESULT
   echo $y >> $RESULT
   cat $SUBTIT | sed -n -e ${CONT}'p' >> $RESULT
   echo -e "\n\c" >> $RESULT
   CONT=$((CONT+1))
done
# Limpa a casa
rm -f $INTERVALSU
rm -f $INTERVALSP
rm -f $SUBTIT
rm -f $SCRAWK
transformar maiúsculas em minuscula e vice-versa
Fluxbox: Wallpapers aleatórios
Script de monitoracao de servicos
Script para fazer funcionar o bloqueio por horário - Squid
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









