Saltar al contenido principal
SubtitleMatrix

Cambiar la posición de subtítulos

Texto y estiloMover los subtítulos en pantalla
O pega el texto de los subtítulos

Opciones

Nueve celdas predefinidas más una eliminación. La marca que se escribe es {\anN} en orden de teclado numérico: 7/8/9 es la fila superior, 4/5/6 la del medio, 1/2/3 la inferior, y va delante de la primera línea de cada bloque. ASS y SSA la leen como un código de alineación real; en SRT es texto literal que libass, VLC y mpv respetan y los reproductores más simples imprimen. Las coordenadas \pos existentes nunca se tocan. Elige la última opción para quitar las marcas de posición en lugar de añadir una.

Esta página mueve cada bloque de un archivo de subtítulos a una de nueve posiciones de pantalla, o borra el marcador de posición de un archivo que ya lo lleva. Escribe un código de alineación `{\anN}` al inicio de la primera línea de cada bloque, donde N numera las celdas como lo hace un teclado numérico: `7` `8` `9` en la fila superior, `4` `5` `6` en el medio y `1` `2` `3` en la inferior. Esa disposición no es un orden de lectura, y los ejemplos de la página existen sobre todo para que sea imposible elegir arriba a la izquierda y obtener abajo a la izquierda por accidente.

El marcador es la única pieza de colocación en la que coinciden tres formatos. En ASS y SSA es un código de sobrescritura legal, que se lee de vuelta como un campo propio del bloque y se vuelve a emitir en el orden documentado detrás de cualquier `\pos`, así que un archivo que no sale de ASS sobrevive al viaje de ida y vuelta exactamente. En SRT no hay sintaxis de colocación, así que el marcador se escribe como texto literal al principio de la línea: los reproductores basados en libass, como VLC y mpv, lo respetan, y un reproductor que no lo conoce imprimirá los cuatro caracteres en pantalla. La página lo dice con claridad en lugar de prometer una colocación que no puede garantizar.

La posición se trata como una propiedad de todo el bloque, así que el marcador va delante de la primera línea solo, incluso cuando el bloque tiene dos o tres. Un `\pos(x,y)` existente se deja en paz: una coordenada en píxeles fija el bloque a un tamaño de pantalla y se rompe en cualquier otro, mientras que un código de alineación deja que el reproductor calcule la posición por sí mismo, y mover un bloque que alguien colocó a mano no es lo que se le pidió a esta página.

Elegir «Quitar» en la lista de posiciones es una instrucción real y no una décima posición. Arranca el marcador inicial y la alineación guardada de cada bloque —la única forma de devolver un SRT a su forma llana y sin marcadores—, mientras que un marcador escrito en medio de una línea se queda donde está, porque ese es diálogo y no colocación. No se sube nada y los códigos de tiempo no se tocan nunca.

Ejemplos

Dos bloques SRT sin marcadores movidos al centro arriba

Entrada

1
00:00:01,000 --> 00:00:02,000
Hello there.

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

Resultado

1
00:00:01,000 --> 00:00:02,000
{\an8}Hello there.

2
00:00:03,000 --> 00:00:04,000
{\an8}Second line.

`\an8` es la celda del centro arriba: la tecla central de la fila superior de un teclado numérico. El marcador va al inicio del texto y no en una línea propia, y los códigos de tiempo, los números de bloque y las líneas en blanco quedan intactos, así que el archivo sigue siendo un SRT válido que simplemente lleva cuatro caracteres más por bloque.

El mismo archivo en la esquina superior izquierda y en la inferior izquierda

Entrada

1
00:00:01,000 --> 00:00:02,000
Hello there.

Resultado

1
00:00:01,000 --> 00:00:02,000
{\an7}Hello there.

Arriba a la izquierda es `7`, mientras que abajo a la izquierda es `1`: seis de diferencia, porque la numeración sigue un teclado y no un orden de lectura. Ese es el mapeo que más se equivoca a mano, y por eso cada una de las nueve posiciones tiene un caso propio en esta página: un solo dígito transpuesto es invisible hasta que alguien ve el vídeo.

Mover un bloque ASS que ya estaba arriba a la izquierda

Entrada

[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\an7\i1}Hello there{\i0}

Resultado

[Script Info]
ScriptType: v4.00+

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:02.00,Default,,0,0,0,,{\an2}{\i1}Hello there{\i0}

El `\an7` viejo se borra antes de escribir `\an2`, así que el bloque lleva una sola alineación en lugar de dos: un duplicado dejaría que el reproductor tomara la última, que es un valor que nadie eligió en esta pasada. El par de cursiva se queda exactamente donde estaba. En ASS el marcador es un código de sobrescritura real, así que aquí no aparece nada como texto en pantalla.

Quitar marcadores de un archivo que tiene dos distintos

Entrada

1
00:00:01,000 --> 00:00:02,000
{\an8}Hello there.

2
00:00:03,000 --> 00:00:04,000
{\an2}Second line.

Resultado

1
00:00:01,000 --> 00:00:02,000
Hello there.

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

Quitar arranca lo que hubiera en lugar de solo la posición que habrías elegido, y no escribe nada de vuelta. Un archivo que sale de esta pasada se reproduce en la posición predeterminada del propio reproductor, que es lo que se busca: es la única forma de volver de un marcador a texto llano, ya que ninguna posición se expresa como la ausencia de una.

Preguntas frecuentes

¿En qué posición de la pantalla está `{\an1}` y por qué no empieza arriba a la izquierda?

`1` es la esquina inferior izquierda. Los nueve valores siguen el teclado numérico: `7` `8` `9` es la fila superior de celdas, `4` `5` `6` la fila del medio y `1` `2` `3` la inferior. Así que arriba a la izquierda es `7`, el centro es `5` y abajo a la derecha es `3`. La lista de posiciones de la página está escrita en orden de lectura y se traduce a estos números por ti, y esa es la razón principal para usarla en lugar de editar el marcador a mano.

¿Esta página funciona con archivos WebVTT, SAMI o TTML?

No, y la lista de formatos aceptados es corta a propósito: solo SRT, ASS y SSA. WebVTT y TTML tienen su propia sintaxis de colocación —ajustes de bloque como `line:` y `align:`, o atributos `tts:`— y esta página no los escribe; aceptarlos significaría que la pasada informa de un cambio de posición mientras el archivo sale igual. El mismo razonamiento excluye a JSON, cuyo campo de posición tiene cinco valores horizontales y no nueve celdas.

¿El marcador se ve como texto en un archivo SRT?

Depende del reproductor, y esta página no puede cambiar eso. SRT no tiene sintaxis de colocación, así que `{\an8}` se guarda como caracteres normales al inicio de la línea. Los reproductores construidos sobre libass —entre ellos VLC y mpv— lo leen como una instrucción de alineación y colocan el bloque en consecuencia; los reproductores más simples lo tratan como texto y mostrarán los cuatro caracteres en pantalla. Si necesitas una colocación garantizada en todos los dispositivos, el bloque tiene que ir quemado en la imagen, y eso queda fuera de lo que un archivo de subtítulos puede hacer.

¿Un `\pos(x,y)` existente será sobrescrito por la posición nueva?

No: `\pos` se deja exactamente como estaba. Una coordenada en píxeles y un código de alineación son instrucciones distintas: `\an` pide al reproductor que calcule la posición para la pantalla en la que está, mientras que `\pos` fija el bloque a un punto en una resolución. Quitar un `\pos` colocado a mano desharía un trabajo deliberado, así que esta página solo escribe alineación y solo borra una alineación anterior, nunca una coordenada.

¿Cada línea de un bloque de dos líneas recibe su propio marcador?

Solo la primera línea recibe uno, porque la posición pertenece al bloque y no a la línea. Un marcador en cada línea sería redundante en el mejor de los casos, y en ASS sería un segundo bloque de sobrescritura haciendo lo mismo que el primero. Cuando se quita el marcador se aplica la misma regla al revés: solo se arranca un marcador al principio de la primera línea, y uno escrito en medio de una oración se trata como parte del diálogo.

¿Qué pasa si aplico la misma posición dos veces?

Nada: la segunda pasada produce un archivo idéntico byte por byte e informa de que ningún bloque cambió. La página borra cualquier marcador existente antes de escribir el nuevo, así que volver a aplicar una posición que ya está quita y vuelve a añadir los mismos cuatro caracteres. Eso importa cuando un archivo pasa por un ciclo de revisión: ejecutar la página otra vez para asegurarte de que la posición está aplicada no puede desplazar nada, y la descarga es el mismo archivo y no una copia con algo distinto por dentro.

Herramientas relacionadas