Saltar al contenido principal
SubtitleMatrix

Convertir fin de línea

Texto y estiloCorregir codificación y BOM
O pega el texto de los subtítulos

Opciones

Cada línea del archivo termina con un carácter invisible (LF) o con dos (CRLF). Los reproductores, editores y herramientas de subtítulos leen ambos, así que casi nunca es la razón de que un archivo de subtítulos falle; las dos razones para que lo sea son una cadena de compilación o un analizador estricto que rechaza el otro, y una herramienta de diferencias que muestra todas las líneas como cambiadas porque los finales difieren. LF es la opción predeterminada aquí porque es la que usan Unix, macOS y la web, y porque un archivo que ya la tiene no se toca. Elegir CRLF convierte los dos tipos de final existentes, así que un archivo con una mezcla sale coherente.

La velocidad de fotogramas con la que se cuentan los tiempos. En las páginas de formato es lo que necesita MicroDVD, porque guarda los tiempos como números de fotograma. En las páginas de velocidad de fotogramas es la velocidad con la que se cronometró el archivo (la versión para la que se hicieron los subtítulos), y el segundo recuadro de la página toma la velocidad del video con el que vas a usarlos. 23,976, 24, 25, 29,97, 30, 50, 59,94 y 60 son las habituales. Equivocarla desplaza toda la línea de tiempo, y en las páginas de velocidad de fotogramas la desplaza por una proporción en lugar de por una cantidad fija.

Un final de línea es el carácter o el par de caracteres que termina una línea, y en el uso corriente hay dos. Los sistemas Unix terminan una línea con un carácter, LF; Windows la termina con dos, CR y después LF. Los dos se ven igual en pantalla, y los dos los leen igual los reproductores de subtítulos, y por eso esta es una de esas diferencias que permanece invisible hasta que a algo de más abajo le importa.

A lo que le importa: al control de versiones, donde cada línea de un archivo puede aparecer cambiada porque cambiaron los finales; a los guiones de compilación y a las cadenas que quitan el último carácter de una línea y se quedan con un retorno de carro suelto cuando esperaban un salto de línea; a las herramientas que parten un archivo por LF y acaban con un retorno de carro pegado al último campo; y a cualquier especificación de entrega que nombre uno de los dos. Un archivo de subtítulos que tiene que compararse con otro, o concatenarse con otro, es un archivo cuyos finales de línea forman parte de su interfaz.

La página es deliberadamente uniforme en lo que produce. Un archivo con finales mezclados —unas líneas CRLF porque se editó en Windows, otras LF porque se editaron en cualquier otro sitio— sale entero en el estilo que elegiste, porque la página normaliza primero los finales a LF y después aplica tu elección. Eso no es lo mismo que convertir los finales que ya son correctos y dejar el resto en paz: significa que la respuesta a «qué estilo tiene este archivo» deja de depender de qué línea mires, que es la única versión de la respuesta útil para un guión.

Un retorno de carro suelto, el final de línea del Mac anterior a OS X, se trata junto con el resto. Ya nadie lo elige, pero siguen apareciendo archivos que lo llevan, y un archivo cuyas líneas terminan así es una sola línea para toda herramienta que solo busque LF. Normalizar primero hace que esos archivos salgan bien en lugar de salir como un único bloque enorme.

Los dos paneles de esta página son el único sitio de esta familia donde la diferencia se ve directamente: un final de línea es un carácter real, y un archivo que parece tener líneas doblemente espaciadas en un visor que no las oculta es un archivo con CRLF. Se aceptan los doce formatos, porque un final de línea es una propiedad del texto y no del formato de subtítulos: una transcripción en texto plano también tiene líneas. No se sube nada, y el archivo se lee, se cambia y se escribe en tu navegador.

Ejemplos

Convertir un archivo Unix a finales de Windows

Entrada

1
00:00:01,000 --> 00:00:02,000
The room is dark.

2
00:00:03,000 --> 00:00:04,000
A cold night.

Resultado

1
00:00:01,000 --> 00:00:02,000
The room is dark.

2
00:00:03,000 --> 00:00:04,000
A cold night.

Cada final de línea pasa a dos caracteres, incluida la línea vacía entre los bloques: esa línea en blanco también es un final de línea, y una conversión que la saltara dejaría un archivo cuyo separador de bloques sigue siendo un LF suelto. El texto esperado escribe los finales como pares CR LF para que el recuento se pueda leer directamente, y nada más del archivo se ha movido.

Convertir un archivo Windows de vuelta a finales Unix

Entrada

1
00:00:01,000 --> 00:00:02,000
The room is dark.

Resultado

1
00:00:01,000 --> 00:00:02,000
The room is dark.

La dirección con la consecuencia visible. Un archivo que conserva un retorno de carro suelto aparece en algunos editores como si tuviera una línea vacía después de cada línea, y en una cadena de órdenes como un retorno de carro pegado al final del último campo. El vídeo, los tiempos y el texto son idénticos en los dos archivos; la diferencia es un carácter al final de cada línea, y esta es la dirección que lo quita.

Un archivo editado en dos máquinas, uniformado

Entrada

1
00:00:01,000 --> 00:00:02,000
Mixed endings.

2
00:00:03,000 --> 00:00:04,000
Second.

Resultado

1
00:00:01,000 --> 00:00:02,000
Mixed endings.

2
00:00:03,000 --> 00:00:04,000
Second.

El mismo archivo tocado en dos máquinas: unas líneas terminan en CRLF, otras en LF, y un separador de bloques está escrito de cada manera. La salida es uniforme, y eso es lo que se busca: el archivo ya no significa algo distinto según qué línea leas. Una búsqueda y reemplazo ingenua se equivoca en este caso en las dos direcciones: deja las líneas LF en paz en una y produce un retorno de carro duplicado en la otra.

Preguntas frecuentes

¿Cómo puedo ver qué finales de línea usa un archivo de subtítulos?

En la mayoría de editores el estilo de final de línea aparece en la barra de estado, como LF, CRLF o una mezcla. Desde una consola, un archivo cuyas líneas terminan en CRLF muestra un retorno de carro al final de cada línea cuando lo miras con una herramienta que hace visibles los caracteres de control. La prueba directa es mirar los bytes al final de una línea: un solo 0A es LF y el par 0D 0A es CRLF.

¿Qué hace esta página con un archivo de subtítulos que tiene finales mezclados?

Los iguala todos. El archivo se normaliza primero a LF y después se convierte al estilo que elegiste, así que un archivo donde unas líneas terminan de una manera y otras de otra sale completamente uniforme en lugar de parcialmente convertido. Los archivos llegan a ese estado por editarse en más de una máquina, y la mezcla es justo lo que hace ilegible una comparación con otra copia del archivo.

¿Los finales de línea cambian los tiempos de los subtítulos o el texto de los bloques?

No. Los bloques, sus números, sus tiempos de inicio y de fin y las palabras que contienen son idénticos antes y después; lo que cambia es el carácter o los dos caracteres al final de cada línea. Un reproductor lee los dos archivos igual, y por eso es una conversión que puedes hacer por una exigencia de entrega sin preocuparte por los subtítulos en sí.

¿Debo convertir los finales de línea de los subtítulos a LF o a CRLF?

A LF salvo que algo delante de ti nombre CRLF. Es lo que esperan las herramientas Unix, la mayoría de las cadenas de compilación y la especificación de WebVTT, y hace que el archivo mida un byte menos por línea. Elige CRLF cuando lo pida una especificación de entrega o una herramienta solo para Windows, y ten en cuenta que la elección es por archivo y no global: un archivo de subtítulos que se entrega por separado puede diferir del resto del proyecto.

¿Por qué convertir a CRLF cambia también la línea en blanco entre subtítulos?

Porque esa línea en blanco es una línea, y su final es un final de línea como cualquier otro. SRT separa los bloques con una línea vacía, así que un archivo convertido a CRLF cuyo separador de bloques se quedara en un LF suelto tendría un final de línea de otro tipo en medio de un archivo uniforme, que es justo la mezcla que esta página existe para eliminar. Lo mismo vale para la última línea del archivo.

¿Se convierten también los retornos de carro de los Mac antiguos?

Sí. Un archivo cuyas líneas terminan con un retorno de carro suelto, el estilo que usaba Mac OS antes de OS X, se normaliza junto con todo lo demás, así que sale en el estilo que elegiste en lugar de quedarse como un único bloque larguísimo. En el panel no hay una opción para CR porque ya nadie escribe archivos así, pero los archivos que ya están así se leen y se reescriben correctamente.

Herramientas relacionadas