El equipo web del cliente pide un VTT, quien maneja su canal de YouTube quiere un SRT y LinkedIn acepta solo uno de los dos. Los subtítulos de adentro son los mismos en todos los casos.
Los dos formatos son texto plano con una lista de subtítulos, cada uno con un tiempo de entrada, un tiempo de salida y una o dos líneas de texto. Las diferencias se corrigen a mano en un par de minutos, y cualquiera de ellas alcanza para que una plataforma rechace el archivo.
En resumen
- SRT y VTT tienen los mismos subtítulos: VTT empieza con WEBVTT y pone un punto, no una coma, antes de los milisegundos.
- VTT puede posicionar y dar estilo a un subtítulo, y el SRT básico no.
- Envía VTT a tu propio sitio web, SRT a LinkedIn y a los anuncios de Meta, y lo que indique la especificación de streaming o televisión.
- Guarda todos los archivos de subtítulos en UTF-8, o los nombres con acento se rompen.
- Exporta los subtítulos desde la versión que vas a entregar y revisa los archivos convertidos antes de subirlos.
Los mismos subtítulos en los dos formatos
Estos son dos subtítulos en un archivo SRT:
1
00:00:01,000 --> 00:00:03,800
Tres días, dos mil personas
y un plan para el año que viene.
2
00:00:04,200 --> 00:00:06,000
Bienvenidos a la cumbre.
Cada subtítulo lleva un número, empezando por 1. La línea de tiempo da horas, minutos y segundos, y después los milisegundos tras una coma. Después viene el texto, y una línea en blanco cierra el subtítulo.
El formato viene de SubRip, un programa gratuito de alrededor del año 2000 que extraía subtítulos de archivos de video, y nunca tuvo una especificación formal.
Los mismos dos subtítulos en VTT:
WEBVTT
00:00:01.000 --> 00:00:03.800
Tres días, dos mil personas
y un plan para el año que viene.
00:00:04.200 --> 00:00:06.000
Bienvenidos a la cumbre.
El archivo tiene que empezar con la palabra WEBVTT, y los milisegundos van después de un punto. Los números son opcionales (VTT los llama identificadores de cue), y las horas también, así que 00:04.200 es un tiempo válido.
El nombre completo es WebVTT, un formato del W3C hecho para video en páginas web.
Lo que VTT puede hacer y SRT no
Un subtítulo VTT puede decir dónde va en la pantalla. Estas instrucciones se llaman cue settings y van justo después del tiempo:
00:12.000 --> 00:14.500 line:0
line:0 lleva ese subtítulo a la línea superior de la imagen, que es lo que quieres durante los segundos en que un cintillo o un plano de producto ocupa la parte inferior del cuadro. Otros ajustes controlan la posición horizontal, el ancho y la alineación.
VTT también tiene etiquetas para negrita, cursiva y subrayado, una etiqueta que marca quién habla y un bloque STYLE que acepta CSS, aunque los reproductores varían en cuánto de eso muestran. YouTube respeta el posicionamiento de VTT pero solo conserva negrita, cursiva y subrayado.
El SRT básico no tiene ningún posicionamiento. Algunos reproductores leen las etiquetas <i> y <b> en un SRT, pero la ayuda de YouTube dice que ignora las marcas de estilo en los archivos SRT. Si un subtítulo SRT cae encima de un texto en pantalla, la solución va en la edición o en los tiempos.
Cuál enviar adónde
| Destino | Qué enviar |
|---|---|
| YouTube | Cualquiera. SRT en su forma básica, guardado en UTF-8 plano, o VTT si un subtítulo tiene que moverse |
| Vimeo | Cualquiera, y Vimeo recomienda WebVTT |
| SRT | |
| Anuncios de video en Facebook e Instagram | SRT, con el nombre del video más un código de idioma y país |
| Tu propio sitio web (reproductor HTML5) | VTT |
| De vuelta a un editor | SRT es lo seguro, porque la importación de VTT depende del programa y de la versión |
| Streaming o televisión | Lo que indique la especificación de entrega |
La fila del sitio web es la estricta. El elemento <track> que usan los navegadores para los subtítulos de un <video> lee WebVTT y no carga un SRT.
Para los anuncios de video, la ayuda de Meta da la regla de nombres con un ejemplo: un video llamado ice_cream_ad con subtítulos en inglés de Estados Unidos necesita un archivo llamado ice_cream_ad.en_US.srt, y un archivo con cualquier otro nombre se rechaza.
Algunas apps sociales no tienen dónde subir un archivo de subtítulos. Generan sus propios subtítulos o esperan el texto incrustado en la imagen, así que reciben una exportación subtitulada.
Las especificaciones de streaming y televisión suelen pedir formatos XML de la familia TTML (Netflix publica su propio perfil IMSC 1.1, por ejemplo) o formatos de subtítulos de televisión como SCC.
Cuando una especificación nombra un formato, entrega ese. El checklist de control de calidad final cubre el resto de lo que suele pedir una especificación.
Codificación: por qué se rompen los acentos
Un archivo de subtítulos es texto guardado en alguna codificación, y la que hay que usar es UTF-8. YouTube pide UTF-8 plano en los archivos SRT, Vimeo dice que los archivos de subtítulos tienen que estar en UTF-8 para que los caracteres especiales se vean bien, y la especificación de WebVTT lo exige.
El problema empieza cuando el archivo pasa por un programa que guarda en una codificación más vieja, muchas veces Windows-1252. Abre un archivo UTF-8 como Windows-1252 y “José” se convierte en “José”. Al revés, obtienes “Jos�”.
Los subtítulos en inglés pueden esconder el problema hasta que aparece un nombre como José, mientras que en español o en portugués está en casi todas las líneas.
Suele pasar después de que un traductor o un cliente editó el archivo en un editor de texto viejo.
Revisa los acentos de cualquier archivo que haya pasado por otras manos antes de subirlo, y si están rotos, vuelve a abrirlo en la codificación con la que se guardó y guárdalo en UTF-8.
Saltos de línea y el límite de dos líneas
En los dos formatos, los saltos de línea dentro de un subtítulo son los que están escritos en el archivo. Una línea demasiado larga para la pantalla la corta el reproductor donde se le acaba el espacio, así que un subtítulo de dos líneas puede terminar en tres, con una palabra sola en la última.
Una línea en blanco termina el subtítulo, así que una línea vacía en medio del texto (normalmente alguien que presionó Enter dos veces editando a mano) lo corta, y el resto se pierde o aparece roto.
El largo de línea, la velocidad de lectura y dónde cortar una frase funcionan igual en SRT y VTT. Están en nuestras pautas de subtitulado, donde 42 caracteres por línea y dos líneas como máximo es la referencia habitual.
Convertir entre uno y otro, y los errores de siempre
De SRT a VTT, agrega WEBVTT y una línea en blanco al principio, y después cambia la coma antes de los milisegundos por un punto en cada línea de tiempo. No toques el texto, porque ahí una coma es solo una coma.
Los números pueden quedarse. Guarda el resultado en UTF-8 con la extensión .vtt.
De VTT a SRT hay más para sacar. Quita el encabezado y cualquier bloque STYLE o NOTE, borra los cue settings que siguen a los tiempos y agrega las horas donde se omitieron.
Después cambia los puntos por comas, numera los subtítulos desde 1 y quita las etiquetas que un lector de SRT no va a reconocer. Las posiciones que definiste en VTT se pierden en el camino.
La mayoría de los editores de subtítulos hace cualquiera de las dos conversiones en un paso. Revisa el resultado igual, porque los archivos rechazados fallan por las mismas pocas razones:
- Un .srt renombrado a .vtt. Sin la línea WEBVTT el navegador rechaza el archivo, y un subtítulo con una coma en su tiempo se salta.
- Subtítulos hechos para un corte anterior. Si un plano se recortó o se movió después de crear el archivo, todos los subtítulos posteriores quedan corridos, así que expórtalos desde la versión que realmente vas a entregar.
- Un nombre de archivo que la plataforma no puede leer. Para los anuncios de Meta, el SRT lleva el nombre del video más un código de idioma y país, así que
ACM_014_teaser_v03.mp4va conACM_014_teaser_v03.es_MX.srt. Si tus videos siguen una convención de nombres, el archivo de subtítulos la hereda.
Cómo funciona en RecReview
En RecReview transcribes un video en portugués, inglés o español, o dejas que detecte el idioma a partir del habla.
Los subtítulos se arman a partir de esa transcripción con hasta 42 caracteres por línea y dos líneas como máximo, y los activas en el reproductor con el botón CC.
El panel de transcripción junto al reproductor tiene un menú de descarga con SRT, VTT, TXT y JSON. El SRT y el VTT llevan los subtítulos que muestra el reproductor, incluido cualquier texto que un propietario, administrador o editor haya corregido haciendo clic en un subtítulo.
El SRT numera cada subtítulo desde 1 y pone una coma antes de los milisegundos, y el VTT abre con WEBVTT y usa un punto. Los dos se guardan en UTF-8, así que los acentos salen intactos.
El VTT no tiene ajustes de posición ni de estilo, lo que deja la ubicación en manos del reproductor.
Cada versión tiene su propia transcripción y sus propios subtítulos, así que los descargas desde la versión que vas a entregar. TXT da la transcripción con una marca de tiempo en cada pasaje, y JSON da cada palabra con su tiempo.
Los clientes pueden descargar los mismos archivos desde el portal del cliente con la misma regla que el video: cuando la tarea está marcada como entregada, o antes si permites descargas antes de la aprobación para ese cliente.




