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
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.
¿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:
{1025}{1110}The Age of Gods was closing.|Eternity had come to an end.
El fotograma de comienzo (startframe) es 1025.
{171740}{171842}Lay down your head upon my breast,|and go to sleep, my love.
El fotograma es 171740.
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.
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.
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.
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.
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.
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.
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).
¿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
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.
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