GUÍA PARA TENER LOS SUBTÍTULOS SINCRONIZADOS CON LA PELÍCULA

by fr0do 26/01/2001

Si has bajado algunos subtítulos de WWW y has descubierto que tienen problemas de sincronización con tu película o que estos no son totalmente compatibles con tu reproductor de AVI. Esta es una guía para arreglar esto, aunque también puede usarse para subtítulos que hayas rippeado tu mismo y que descubras que, por alguna razón, no están sincronizados con tu película.

Primero unas palabras sobre el software a usar: Hay básicamente dos programas disponibles para darte el control total sobre tus subtítulos: SubAdjuster (v1.41) de Frodo y SubAdjust (v1.55) de Psyche.

Como yo he escrito SubAdjuster, lo usaré como herramienta por defecto. Aunque por supuesto puedes hacer lo mismo con SubAdjust 1.51, la forma de hacerlo es la misma.

>> Leer más acerca de
RIPPEADO DE SUBTÍTULOS

PASO 1: Conversión al formato requerido

Tienes tu archivo de subtítulos pero no sabes en que formato. Hay básicamente 5 formatos que te puedes encontrar (olvidamé si tu favorito no está en la lista ;-) :


Mi favorito es MicroDVD porque es compacto, potente (son posibles letras en itálica) fácil de manejar y el MicroDVD player es el mejor que hay para mostrar subtítulos.

Me concentraré en MicroDVD con algunas alusiones a SubViewer porque es de los más usados.

¿Cómo identificar los subtítulos que tienes (por favor mira los ejemplos)? Normalmente no te puedes fiar de que los archivos están correctamente declarados, es mejor que los eches un vistazo tu mismo:

MicroDVD*.* Archivo de texto compacto que da el fotograma inicial- y fotograma final con {} en el principio de cada línea. Los saltos de línea se marcan con |
SubViewer*.SUB Ahí alguna información sobre la película al principio.Se dan los tiempos de comienzo y final de cada subtítulo.
SubViewer 2.0*.SUB La diferencia con el formato antiguo es que todos los subtítulos están escritos en una línea, y los saltos de línea se marcan con [br]
SubRip*.SRT Un número de ejecución, end- y startime hasta los milisegundos para cada subtítulo
SubStationAlpha*.SSA Archivo de texto formateado con cada subtítulo precedido de 'Dialogue'
Sami*.SMI Formato Rare HTML- con el fotograma de comienzo para cada subtítulo

Ahora intenta conocer cual es el framerate de la película:
Puedes usar VirtualDub (en la opción AVI-info, muy preciso), SubAdjust (preciso) o el media player (en el menú preferencias eligiendo video rendering, menos preciso).
Vamos a asumir desde ahora que el framerate de tu película es 25 fps.

Convirtiendo el archivo de subtítulos en el formato de MicroDVD:
Para convertir desde el formato SubViewer puedes ejecutar SubAdjuster con el comando

SUB <your file> <new file> -R25 -CONV

El parámetro -R especifica el framerate de tu AVI y es MUY importante poner el valor correcto ya que si no tendrás que hacer después mucho trabajo extra para corregirlo.

También puedes usar SubAdjust para pasar de/a diferentes formatos si lo necesitas.

Después de hacer esto tiene que ejecutar

SUB <your new file> <new file> -FIX

para corregir los pequeños errores de rippeo como los cambios de letras (I's en vez de l's), espacios entre caracteres etc...

(Puedes usar el archivo batch FIX.BAT para hacer los dos pasos a la vez (convertir y corregir) con el comando FIX <filename> <framerate> )

Ahora has creado un archivo de subtítulos perfecto (?) en el formato de MicroDVD-con el framerate de tu película.

PASO 2: Arreglando subtítulos realmente mal hechos

¿Qué hacer si los subtítulos que tienes no están en los formatos de SubViewer o SubRip sino en el formato de MicroDVD y el framerate no es el mismo que el de tu película? Parece que alguien la ha cagado completamente...

Básicamente tienes dos opciones:

Si te has decidido por la segunda opción, sigue estos pasos:

  1. Abre el archivo de subtítulos (en formato MicroDVD) y hecha un vistazo al primer subtítulo (no tiene porque ser el primero, pero es más exacto si lo haces así.
    Anota el fotograma en el que aparece, por ejemplo:

  2. {1025}{1110}The Age of Gods was closing.|Eternity had come to an end.

    El fotograma de comienzo (startframe) es 1025.

  3. Mira el último subtítulo del archivo (de nuevo no tiene porque ser el último...) y apunta donde aparece ejm
  4. {171740}{171842}Lay down your head upon my breast,|and go to sleep, my love.

    El fotograma es 171740.

  5. Ahora ve la película hasta el momento exacto en el que el primer subtítulo TIENE que aparecer (por supuesto tiene que ser la misma frase que la que pone en el subtítulo).
    anota los segundos lo más exacto posible, ejm. 120.5 segundos.

  6. Mira el final de la película donde el último subtítulo TIENE que aparecer (igual que antes...)
    Apunta los segundos exactos, ejm. 91 minutos, 40 segundos = 5500 segundos

  7. Comprueba el framerate exacto DE TU PELÍCULA. Puedes hacerlo con la ayuda de VirtualDUB. Simplemente abre el archivo AVI y mira en information en el menú File.
    Ejm. será 25 fps PAL movie.


  8. Ahora pon todo esto en la línea de comandos:

    SUB <sourcefile> <newfile> -1F1025 -2F171740 -1T120.5 -2T5500 -R25 -SYNCH

    los parámetros son:
    -1F el fotograma del primer subtítulo en el archivo (aquí 1025)
    -2F el fotograma del último subtítulo del archivo (aquí 171740)
    -1T el tiempo en segundos en el que el primer subtítulo tiene que aparecer (aquí 120.5)
    -2T el tiempo en segundos en el que el último subtítulo tiene que aparecer (aquí 5500)
    -R   el framerate exacto de la película AVI (aquí 25)

    Con este procedimiento los subtítulos estarán sincronizados con la película.

Si aún notas un poco de desincronización puedes continuar con las instrucciones del paso 8.


Si aún hay muchas irregularidades, es para pensar que los parámetros que has introducido no son los correctos. Intenta encontrar los valores exactos de nuevo.

Pero si estás convencido de que los valores son correctos pero los subtítulos están aún mal en algunos sitios (a veces más - a veces menos) esto significa que tu película no es compatible con los subtítulos, porque se hayan borrado/añadido algunas escenas o subtítulos. En este caso es muy difícil de corregir. Pero no imposible: esto significa que tienes que encontrar las escenas cortadas/añadidas desde el archivo de subtítulos original y repite el paso2. Mira también el paso 9 para algunos apuntes.

Puede ser útil también en este caso usar la sincronización del paso 3 así será más fácil encontrar las escenas borradas.

PASO 3: Convirtiendo el framerate manualmente (solo para subtítulos en formato MicroDVD)

Esto es un poco delicado porque el framerate no puede ser cogido exactamente del archivo en formato MicroDVD así que tenemos que hacer una estimación y redondear al framerate común más cercano.

Una buena estimación se puede hacer de la siguiente forma:

Mira la duración de la película, esta es de aproximadamente 102 min resta el tiempo hasta las primeras palabras habladas y el que hay después de las últimas, en este caso 2 y 5 minutos. Así que estimamos 102 - 2 - 5 = 95 minutos = 5700 segundos.

Ahora miramos el archivo de subtítulos:

La primera línea (que tiene que ser las misma que las palabras 'habladas') es por ejemplo

{1025}{1110}The Age of Gods was closing.|Eternity had come to an end.

y la última línea' hablada' es (no la del copyrigth o similar)

{171740}{171842}Lay down your head upon my breast,|and go to sleep, my love.

así que la diferencia entre los fotogramas es 171740 - 1025 = 170715

Ahora podemos calcular el fps aproximado: 170715 fotogramas / 5700 segundos = 29.95 fps

Ok está suficientemente cerca del framerate de NTSC 29.97 así que asumimos que este es el que se ha usado para la creación de los subtítulos.

Todo lo que tienes que hacer es crear un nuevo archivo con el nuevo framerate (el de tu película). Usa SubAdjust con el comando:

SUB <old file> <new file> -O29.97 -N25

Esto creará un nuevo archivo con un framerate de 25 que es el que tiene la película (el parámetro -N viene de New y el -O de Old). Otros framerates comunes que puedes usar son:

Pero recuerda: Puede ser que el framerate de los subtítulos sea correcto pero estén desfasados - en este caso es mejor no tocarlo y dejarlo como está. Por ejemplo:


Si has calculado un framerate de 30 pero tu película tiene uno de 29.97 primero prueba con el framerate que tienes a ver si va bien con tu vídeo. En este caso prueba los pasos 4 - 6 y mira a ver si todo está ya sincronizado.

PASO 4: Cálculo de cuanto están desfasados los subtítulos

Arranca tu película y espera a las primeras palabras habladas. Apunta el tiempo en el que aparece el primer subtítulo, por ejemplo en nuestro caso es de 32 segundos.

Para la película y echa un vistazo al primer subtítulo. Tiene que ser el mismo que las primeras palabras habladas que has oído en la película
Echa un vistazo al tiempo (timestamp) (si está en formato SubViewer)

00:00:41.00,00:00:44.40
The Age of Gods was closing.[br]Eternity had come to an end.

O al número de fotograma (si el formato es el de MicroDVD)

{1025}{1110}The Age of Gods was closing.|Eternity had come to an end.

En el formato SubViewer es fácil ver directamente el desfase porque usa el formato de tiempo:

horas:minutos:segundos.centesimas de segundo

Así que puedes ver directamente en el ejemplo, que el desfase es de aproximadamente 9 segundos. En el formato de MicroDVD tienes que calcular el tiempo a partir del framerate:

1025 fotogramas dividido por 25 fotogramas por segundo (en nuestro caso) = 41 segundos.

PASO 5: Mover el primer subtítulo a su posición correcta

Ahora ha llegado la hora de usar las herramientas para 'mover' los subtítulos. Si usas el formato de MicroDVD puedes usar el comando

SUB <your file> <new file> -S-9 -R25

que significa que 'deslizas' los subtítulos 9 segundos (comienzan 9 segundos antes).
O si sabes el número exacto de fotogramas en fotogramas (9 segundos * 25 fps = 225 fotogramas):

SUB <your file> <new file> -225

Si usas el formato de SubViewer puedes usar la herramienta de SubAdjust para hacerlo.

PASO 6: Afinando el primer subtítulo

Observa la película con los subtítulos 'deslizados'. Ve a la posición donde aparece el primer subtítulo y mira si ahora está correcto.
Si aún no está del todo bien (normalmente nunca lo está en el primer intento) simplemente mueve los subtítulos de nuevo en el sentido requerido (significa usar un valor negativo si los subs están muy tarde o positivo si salen demasiado pronto)

Por ejemplo muevelos 10 fotogramas más:

SUB <your file> <new file> -235

Repite este paso hasta que estés contento con el resultado.

PASO 7: Afinando el framerate

Bien, ahora el primer subtítulo está bien pero a medida que avanza la película se vuelve a perder la sincronización. ¿Qué se puede hacer?

La razón de esto es que el framerate de la película no es exactamente el mismo que el de los subtítulos.

Así que vete ala posición de la película donde esta y los subtítulos se diferencian en un segundo aproximadamente (por supuesto puedes coger el desfase que quieras). Apunto el tiempo en el que sucede.
por ejemplo= 900 segundos

Crea un nuevo archivo:
En 900 hay un segundo de desfase así que usa el valor 900como el viejo framerate y 901 (+1 segundo) como el nuevo si está´adelantado o 899 (-1 segundo) si los subtítulos están atrasados:

SUB <latest file> <new file> -O900 -N901

Bien, con tu nuevo archivo de subtítulos mira la película de nuevo. Así estará mucho mejor aunque probablemente no esté perfecta, especialmente al final de la película.


Así que vamos a afinar un poco más.

PASO 8: Afinando, Afinando y Afinado otra vez....

Ahora viene la parte aburrida. tienes que usar el método de ensayo y error para mover los subtítulos y recalcular el framerate, hasta que te guste como queda.

Lo primero es mirar si el primer subtítulo de la película aún está sincronizado. si no es el caso (debido al nuevo cálculo de framerate del paso 7, sobretodo si es muy grande) tienes que repetir el paso 6 pero esta vez cogiendo el último archivo de subtítulos creado en el paso 7 y mover los subtítulos de nuevo por ejemplo 10 fotogramas:

SUB <latest file> <new file> 10

Repite hasta que te guste el resultado.

La segunda cosa es volver a ver donde los subtítulos están desincronizados 1 segundo de nuevo. Esta vez es cerca de la hora = 3600 segundos y los subtítulos se retrasan. creamos un nuevo archivo con el comando:

SUB <latest file> <new file> -O3600 -N3599

Mira otra vez y retoca hasta que estés satisfecho (no te olvides de que puedes usar fracciones de segundo así que puede ser que el valor 3599.23 de el mejor resultado....)

Si aún en este punto no estás contento empieza de nuevo en el paso 6...ten cuidado de no golpear al teclado con la cabeza cuando te duermas...

Pero tranquilo: En el peor de los caso te puedes pasar media hora para arreglar los subtítulos más chapuceros cuando tengas un poco de experiencia con el método (N.T. y en el mejor no querrás subtítulos nunca más, menos mal que yo no se leer). A mi normalmente me lleva 10 min arreglar un subtitulado normal. Si los he rippeado yo mismo, normalmente no hay nada que hacer, salvo corregir el desfase alguna vez (por ejemplo si había un anuncio al principio que se ha cortado).

PASO 9: Los subtítulos de repente pierden la sincronía

¿Qué pasa, de repente mis subtítulos están desincronizados o tengo más de los que necesito?

LA razón es que alguien censuró la película para tu país y cortó algunas escenas.

Así que trata de encontrar el momento exacto donde están los cortes y anotaló. Si los subtítulos tiene más texto del necesario (o no debería haber texto pero no lo hay) puedes usar el comando (ejemplo de si se ha cortado una escena después de 35 minutos durante 10 segundos en una peli PAL 25 fps):

SUB <latest file> <new file> 52500 52750 -CUT

para cortar ese texto de la película. El primer valor (52500) es el fotograma de inicio del corte (35 minutos * 60 segundos por minuto * 25 fps) y el segundo es el final (52500 fotogramas + 10 segundos * 25 fps).

Si el caso es que están cortados los subtítulos no hay ninguna manera de recuperarlos (obviamente) lo único que puedes hacer es intentar mantener la sincronización.

La forma de hacerlo es separar el archivo de subtítulos en el momento exacto del corte de escena y mover el segundo archivo hasta sincronizarlo de nuevo. Intenta encontrar el desfase con las primeras palabras habladas para corregirlo. Después puedes unir los archivos de nuevo

EPILOGO

Cuando escribí esta guía rápida, me pregunte si merecería la pena tanto trabajo para unos subtítulos.
Por supuesto depende de la importancia que les des , en mi opinión añaden un gran valor a la película. Incluso para aprender idiomas o para ver la película en su idioma original.
Y con el tiempo la creación de subtítulos no es un proceso pesado ya que SubRip va 'aprendiendo' y la experiencia lo hace mucho más corto. Así que intentalo.

EJEMPLOS DE DIFERENTES FORMATOS DE SUBTÍTULOS:

Solo se muestran las primeras líneas típicas de cada formato.

MicroDVD:

{1025}{1110}The Age of Gods was closing.|Eternity had come to an end.
{1375}{1460}The heavens shook as the armies|of Falis, God of Light...

SubRip:

1 00:02:26,407 --> 00:02:31,356
Detta handlar om min storebrors
kriminella beteende och foersvinnade.

2 00:02:31,567 --> 00:02:37,164
Vi talar inte laengre om Wade. Det aer
som om han aldrig hade existerat.

SubViewer:

[INFORMATION]
[TITLE]xxxxxxxxxx
[AUTHOR]xxxxxxxx
[SOURCE]xxxxxxxxxxxxxxxx
[FILEPATH]
[DELAY]0
[COMMENT]
[END INFORMATION]
[SUBTITLE]
[COLF]&HFFFFFF,[STYLE]bd,[SIZE]18,[FONT]Arial
00:00:41.00,00:00:44.40
The Age of Gods was closing.
Eternity had come to an end.

00:00:55.00,00:00:58.40
The heavens shook as the armies
of Falis, God of Light...

SubViewer 2.0:

[INFORMATION]
[TITLE]xxxxxxxxxx
[AUTHOR]xxxxxxxxxx
[SOURCE]xxxxxxxxxx
[PRG]
[FILEPATH]
[DELAY]0
[CD TRACK]0
[COMMENT]
[END INFORMATION]
[SUBTITLE]
[COLF]&H00FFFF,[STYLE]no,[SIZE]12,[FONT]Courier New
00:00:07.00,00:00:11.91
THERE IS A PLACE ON EARTH WHERE IT[br]IS STILL THE MORNING OF LIFE...

00:00:12.48,00:00:15.17
AND THE GREAT HERDS RUN FREE.[br]SO WHAT?!

SubStationAlpha:

[Script Info]
Title:
Original Script:
Original Translation:
Original Editing:
Original Timing:
Original Script Checking:
Synch Point:
Script Updated By:
Update Details:
ScriptType: v4.00
Collisions: Normal
PlayResY: 864
PlayDepth: 0
Timer: 100.0000

[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,65535,65535,65535,-2147483640,-1,0,1,3,0,2,30,30,30,0,0

[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:02:32.85,0:02:34.33,*Default,1,0000,0000,0000,,Bio-readouts are all in the green. Looks like she's alive.

Sami:

<SAMI>
<HEAD>
<TITLE>Whatever</TITLE>
<STYLE TYPE="text/css">
<!--
P {margin-left:8pt; margin-right:8pt; margin-bottom:2pt; margin-top:2pt;
text-align:center; font-size:20pt; font-family:egal, sans-serif;
font-weight:normal; color:white;}
.KRCC {Name:Korean; lang:kr-KR; SAMIType:CC;}
#STDPrn {Name:Standard Print;}
#LargePrn {Name:Large Print; font-size:24pt;}
#SmallPrn {Name:Small Print; font-size:16pt;}
-->
</Style>
</HEAD>
<BODY>

<SYNC Start=30886><P Class=KRCC>
The Age of Gods was closing.
<SYNC Start=34037><P Class=KRCC>
The heavens shook as the armies of Falis


Spanish translation by: guirlle | Content by Doom9.net - The definitive DVD backup resource