Español

Vídeo y subtítulos · Kit de herramientas de subtítulos

Qué significa "limpiar" un archivo de subtítulos: etiquetas, códigos y formato perdido

· Cómo funciona

subtítulos procesamiento de textos formatos de archivo

Una línea de subtítulo que lleva una etiqueta entre corchetes angulares y un código de llave encima de la misma línea reducida a palabras simples
Ilustración de vector original de ToolAcre

Los archivos de subtítulos recopilan basura: etiquetas tipo HTML, códigos de estilo de otros formatos, listas de materiales extraviadas y finales de línea mixtos. Esta publicación explica qué es cada tipo de desorden, de dónde viene y cómo un paso limpio lo elimina sin tocar las palabras.

Los subtítulos muestran '{\an8}' y '<i>' en la pantalla: los síntomas visibles de un archivo de subtítulos sucio

Cuando un título muestra los caracteres de una etiqueta en lugar de obedecerlos, el reproductor le está diciendo que no implementa ese marcado. SRT no tiene ninguna especificación de formato, por lo que el soporte es convencional: muchos reproductores respetan un pequeño conjunto de etiquetas similares a HTML, y todo lo que esté fuera de ese conjunto se dibuja como texto literal. Un archivo que se representa correctamente en un reproductor y muestra llaves en otro no ha cambiado; sólo el conjunto de etiquetas que se respetan tiene.

Por eso la limpieza es una operación real y no un orden cosmético. El desorden no es una decoración que resulte fea. Son instrucciones escritas para un formato que un jugador diferente lee como diálogo, y la solución es eliminar las instrucciones dejando cada palabra intacta.

De dónde viene el desorden: exportaciones desde formatos con mucho estilo, resultados OCR y editores que agregan su propio marcado.

La mayor parte del desorden llega a través de la conversión. Un archivo creado en un formato con mucho estilo, como ASS o SSA, lleva directivas de posicionamiento y apariencia en línea, y un conversor que asigne fielmente los tiempos a menudo pasará esas directivas como texto. Los editores de subtítulos agregan su propio marcado para la identificación y el énfasis del hablante, y el reconocimiento óptico de caracteres de los subtítulos grabados introduce puntuación extraviada y espacios duplicados que ningún autor escribió.

Ninguna de estas fuentes tiene formato incorrecto en su propio mundo. El bloque de anulación de ASS tiene significado en ASS. El problema es que SRT no tiene equivalente, por lo que una conversión sin pérdidas produce un archivo donde la instrucción sobrevive como caracteres en lugar de como comportamiento.

Etiquetas de formato: cursiva, negrita y etiquetas de fuente, que los jugadores las respetan y que las muestran literalmente

Las etiquetas entre corchetes angulares se manejan primero, con una expresión regular que elimina todo lo que se encuentre entre un menor que y el siguiente mayor que. Esto cubre etiquetas en cursiva y negrita, etiquetas de clase WebVTT, como una anotación de clase de referencia, y etiquetas de voz que nombran a un orador. La propiedad importante es que se trata de una sustitución de texto, no de un analizador HTML, y no intenta hacer coincidir las etiquetas de apertura con las de cierre.

Esa simplicidad tiene un costo que vale la pena conocer. En una línea de diálogo que realmente contenga un menor que y un mayor que, como una desigualdad hablada, se eliminará el texto entre ellos junto con los corchetes. Es poco común en los diálogos y común en los subtítulos técnicos, por lo que vale la pena escanear el resultado de un pase de limpieza sobre material que trata sobre código o matemáticas.

Códigos de estilo y posicionamiento: qué significan códigos como {\an8} en ASS/SSA y por qué son ruido en SRT

Los códigos de llave se eliminan mediante una segunda sustitución que cubre todo lo que se encuentra entre una llave de apertura y cierre. En los formatos de SubStation, estos son bloques de anulación, y el que se ve con más frecuencia es el que mueve una línea a la parte superior del marco para que no choque con el texto grabado. Otros establecen la fuente, el color, la rotación o el tiempo del karaoke.

En un archivo SRT ninguno de ellos significa nada, razón por la cual se eliminan en lugar de traducirse. Una directiva de posición no tiene un equivalente SRT al que traducir: el formato simplemente no incluye ubicación. Al eliminar el código se pierde la intención del autor de que la línea debe ubicarse en la parte superior del cuadro, y esa pérdida es real, pero es preferible a imprimir el código para el espectador.

Desorden invisible: marcas de orden de bytes, finales de línea CRLF y LF mixtos y espacios finales

El desorden invisible se maneja antes, durante el análisis, y vale la pena separarlo porque no forma parte del texto en absoluto. Una marca de orden de bytes al inicio del archivo se elimina antes que nada, porque de lo contrario se adjunta al primer número de índice y cuesta la primera señal. Los retornos de carro están normalizados, tanto el par de Windows como un retorno de carro solitario, por lo que un archivo editado en dos plataformas se divide en bloques correctamente.

Los espacios en blanco dentro de una señal se manejan con las etiquetas. Las tiradas de dos o más espacios o tabulaciones se colapsan en un solo espacio, cada línea se recorta individualmente y el cue en su conjunto se recorta después de volver a unir las líneas. Las entidades de caracteres se dejan deliberadamente solas: una entidad comercial es el contenido que un espectador debería ver, no un marcado, y un limpiador que lo decodificara estaría editando el diálogo en lugar de eliminar instrucciones.

Ejemplo resuelto: limpiar una exportación de 200-cue: qué cambia, qué permanece y cómo verificar el resultado

La limpieza de una exportación grande cambia menos de lo que parece. Tomemos como ejemplo un archivo de doscientas pistas en el que un convertidor ha antepuesto el código de la parte superior del fotograma a sesenta pistas y ha ajustado etiquetas de énfasis alrededor de cuarenta más. Las dos sustituciones eliminan el código y las etiquetas, el paso de espacios en blanco colapsa los espacios duplicados que dejan las eliminaciones y doscientas pistas se convierten en doscientas pistas con las mismas palabras y los mismos tiempos.

Dos pasos más son importantes. Un cue cuyo contenido completo era un código perdido queda vacío una vez que el código desaparece, y los cues vacíos se eliminan en una pasada separada en lugar de emitirse como bloques en blanco, porque un cue con una marca de tiempo y sin texto es un espacio que algunos reproductores representan como un flash. Al volver a escribir el archivo se renumeran las pistas desde uno y las mantiene contiguas, de modo que las eliminaciones no dejen huecos en la secuencia. Verifique el resultado comparando los recuentos de señales y verificando cualquier línea que originalmente contenía una entidad.

Lo que esto no cubre: reescritura del texto en sí, ortografía o traducción; las palabras son tuyas

La limpieza elimina las marcas y no toca el idioma. No corrige la ortografía, no amplía abreviaturas, corrige errores de transcripción ni traduce. Si un título dice la palabra incorrecta, la dirá después, con el formato correcto. Ese límite es deliberado: sería imposible confiar en una herramienta que reescribiera silenciosamente el diálogo sobre material que no comprende.

Tampoco repara estructura. Un archivo cuyos bloques carecen de marcas de tiempo tiene un problema de análisis, no de formato, y eliminar etiquetas no producirá señales. Los errores de codificación también están fuera de alcance. Un archivo decodificado con el juego de caracteres incorrecto genera pistas perfectamente bien formadas cuyo texto es incorrecto, y ninguna eliminación de etiquetas detecta eso, porque no hay nada roto en la estructura.

Conclusión: elimine el marcado, mantenga el significado: cómo el paso limpio del Subtitle Toolkit maneja el desorden común y documenta lo que deja en paz

La regla es eliminar el marcado y conservar el significado. Las etiquetas de corchetes angulares y los códigos de llaves desaparecen porque son instrucciones que un jugador ignora o imprime. Los espacios duplicados y el relleno por línea desaparecen porque son artefactos de la eliminación o de la exportación original. Las entidades, la puntuación y cada palabra permanecen, porque eso es lo que el espectador debe leer.

Ejecute una exportación con muchas etiquetas a través del convertidor Subtitle Toolkit y compárela con el original en lugar de confiar en el resultado de un vistazo. Confirme que el recuento de señales no haya cambiado, excepto cuando las señales estén realmente vacías, verifique que cualquier línea que contenga una entidad todavía la contenga y escanee las líneas que discuten código o matemáticas en busca de texto perdido por un corchete angular perdido.