Script Para Ajustar o Intevalo de Legendas 2
Publicado por Carlos 28/03/2005
[ Hits: 4.001 ]
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
Descompactar vários arquivos ao mesmo tempo de um diretório específico
Conversor do VMware para o VirtualBox
O que fazer após instalar o Debian 8 - versão em Shell Script
Remove Automaticamente os Kernel Antigos do GRUB
Nenhum comentário foi encontrado.
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
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
esqueci a senha do boot do notebook dell vostro 3300 (0)
PIP3 - erro ao instalar módulo do mariadb para o Python (7)
estou na 22.1 e não é atualizado pra 22.4 via "sudo full-upgrade&... (2)









