Incrustar subtítulos en el vídeo: ajustes que funcionan
subtítulosvídeoffmpeg

Incrustar subtítulos en el vídeo: ajustes que funcionan

BMMamane B. MoussaMay 26, 2026Updated July 2, 202611 min read

Summarize this article with:

Incrustados vs. blandos en un minuto

Los subtítulos incrustados (subtítulos abiertos) son píxeles integrados en el fotograma del vídeo. Aparecen en todos los reproductores y en todas las plataformas, sin que el espectador tenga que hacer nada. Los subtítulos blandos (subtítulos cerrados) son pistas de texto independientes adjuntas a un archivo de vídeo. El espectador puede activarlos o desactivarlos, el buscador puede indexarlos y pueden sustituirse por otro idioma sin volver a renderizar.

Cuál necesitas depende por completo del destino. Para TikTok, Instagram Reels y la mayoría de los archivos de vídeo descargados, incrustarlos es el único camino fiable. Para YouTube, Vimeo y LinkedIn, las pistas blandas son la mejor opción. El resto de esta guía se centra en incrustar: cuándo es necesario, cómo hacerlo con FFmpeg o con un editor de vídeo, y los compromisos de calidad y estilo que importan.

Para la contraparte, elegir y subir una pista de subtítulos blanda, consulta la guía cómo añadir subtítulos a un vídeo. Para la diferencia conceptual entre subtítulos abiertos y cerrados, consulta el artículo subtítulos abiertos vs. cerrados.

Cuándo hay que incrustar y cuándo no

TikTok e Instagram Reels no ofrecen a los espectadores un interruptor de subtítulos fiable para los vídeos subidos por creadores. Instagram ofrece una pegatina de subtítulos automáticos durante la creación del Reel y genera subtítulos mediante reconocimiento de voz, pero no acepta un archivo SRT ya creado que los espectadores puedan activar o desactivar. TikTok Studio incluye un generador automático de subtítulos y edición manual de texto, pero no una verdadera pista de subtítulos cerrados que el espectador pueda alternar. En ambas plataformas, el texto incrustado es la única forma de garantizar que todos los espectadores vean tus subtítulos, independientemente del dispositivo o de la configuración.

Plataformas donde NO debes incrustar y donde debes usar una pista blanda en su lugar:

  • YouTube: Sube un archivo SRT o VTT a través de YouTube Studio. Los espectadores pueden activar los subtítulos, cambiar de idioma y Google puede indexar el texto.
  • LinkedIn: LinkedIn acepta archivos SRT adjuntos durante la subida del vídeo. La plataforma muestra los subtítulos como una superposición que se puede activar o desactivar.
  • Vimeo: Admite la subida de archivos SRT/VTT como pistas conmutables.
  • Facebook: Acepta la subida de archivos SRT, aunque el propio sistema de subtítulos automáticos de Facebook suele encargarse de ello automáticamente.

Un híbrido práctico para creadores multiplataforma: incrusta una versión estilizada para redes sociales de formato corto y sube un SRT limpio junto a la versión de YouTube. El archivo de subtítulos original es el mismo; solo cambia la exportación.

Paso 1: Deja el SRT impecable antes de incrustar

Los subtítulos incrustados no se pueden editar después del renderizado. Rehacer una hora de vídeo en 4K para corregir tres erratas cuesta tiempo real de renderizado. Antes de tocar FFmpeg o tu editor, revisa bien el SRT.

Lista de comprobación rápida antes de empezar:

  • Lee cada línea del SRT en un editor de texto.
  • Comprueba los códigos de tiempo contra el audio en tres o cuatro puntos al azar.
  • Mantén los bloques de subtítulos en dos líneas como máximo, 42 caracteres por línea como máximo.
  • Confirma que los nombres propios, las marcas y los números son correctos.
  • Asegúrate de que la fuente que piensas usar cubre todos los caracteres del archivo (los alfabetos no latinos requieren atención aquí).

Si aún no tienes un SRT, el generador de subtítulos devuelve un SRT con marcas de tiempo en minutos y admite 99 idiomas.

La herramienta generadora de subtítulos produce un archivo SRT descargable listo para incrustar
La herramienta generadora de subtítulos produce un archivo SRT descargable listo para incrustar

Paso 2: Incrustar con FFmpeg

FFmpeg es la vía más rápida para incrustaciones puntuales y para el procesamiento por lotes. El comando básico:

ffmpeg -i input.mp4 -vf "subtitles=captions.srt" -c:a copy output.mp4

La opción -vf aplica un filtro de vídeo. El filtro subtitles lee el SRT mediante el renderizador libass y superpone el texto. La opción -c:a copy copia la pista de audio sin recodificarla.

Por defecto, esto renderiza texto blanco con contorno negro cerca de la parte inferior del fotograma. Para una salida con estilo, pasa parámetros a través de force_style:

ffmpeg -i input.mp4 \
  -vf "subtitles=captions.srt:force_style='Fontname=Arial,FontSize=24,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,BorderStyle=3,Outline=2,Shadow=1,Alignment=2,MarginV=40'" \
  -c:a copy \
  output.mp4

Dos cosas que debes saber sobre la sintaxis de force_style:

  1. Los valores de color usan formato ASS/BGR, no RGB. &H00FFFFFF es blanco (00=alfa, FF=azul, FF=verde, FF=rojo en orden BGR). Si copias directamente un color hexadecimal de HTML, se verá mal.
  2. BorderStyle=3 añade un recuadro de fondo detrás del texto. BorderStyle=1 añade un contorno. El estilo de recuadro se lee mejor sobre fondos de vídeo cargados.

Calidad y tamaño de archivo

Incrustar subtítulos obliga a recodificar todo el vídeo. El audio se copia, pero los fotogramas de vídeo se decodifican, se componen con el texto y se vuelven a codificar. Para salida H.264, FFmpeg usa por defecto CRF 23, lo cual está bien para distribución web. Si trabajas desde una fuente de alta calidad y quieres minimizar la pérdida de generación, pasa -crf 18 o -crf 20:

ffmpeg -i input.mp4 \
  -vf "subtitles=captions.srt:force_style='Fontname=Arial,FontSize=24,BorderStyle=3,Alignment=2,MarginV=40'" \
  -c:v libx264 -crf 18 -c:a copy \
  output.mp4

Menor CRF = mayor calidad = archivo más grande. Para subidas a redes sociales, CRF 20-23 es un objetivo razonable. Para archivado, CRF 18. Evita pasar de 28 o el propio texto se verá pixelado.

Paso 3: Incrustar en un editor de vídeo

Si prefieres una vista previa visual mientras trabajas, todos los editores principales permiten incrustar. El flujo de trabajo es consistente en Premiere Pro, DaVinci Resolve, Final Cut Pro y CapCut:

  1. Importa el vídeo a la línea de tiempo.
  2. Importa el SRT como pista de subtítulos (Resolve lo llama Subtitles; Premiere lo llama Captions).
  3. Elige fuente, tamaño, color y posición con las herramientas de estilo de subtítulos.
  4. Al exportar, elige la opción que integra los subtítulos en el vídeo.

En DaVinci Resolve, ve a la página Deliver, abre Subtitle Settings, marca Export Subtitle y selecciona "Burn into video" en el menú desplegable de formato. Esa opción renderiza los subtítulos permanentemente en el fotograma.

En Premiere Pro, marca "Export Captions" en el diálogo de exportación y selecciona "Burn captions into video" en lugar de "Sidecar file".

La ventaja frente a FFmpeg es la vista previa en tiempo real: ves los subtítulos en la línea de tiempo y puedes repasar el vídeo para comprobar los tiempos antes de comprometerte con un renderizado. La desventaja es que los editores a veces estropean la importación de SRT, especialmente con caracteres no ASCII o saltos de línea inusuales. Haz una prueba con un clip corto antes de exportar el vídeo completo.

Para incrustaciones por lotes en varios idiomas, FFmpeg es más fiable que un editor con interfaz gráfica porque puedes automatizar el cambio de SRT con un script:

for lang in en es fr de; do
  ffmpeg -i input.mp4 \
    -vf "subtitles=captions-${lang}.srt:force_style='Fontname=Arial,FontSize=24,BorderStyle=3,Alignment=2,MarginV=40'" \
    -c:v libx264 -crf 20 -c:a copy \
    output-${lang}.mp4
done

Cada versión de idioma es un renderizado independiente. Los códigos de tiempo se mantienen iguales entre traducciones, así que solo estás cambiando el archivo de texto. Consulta la guía del flujo de trabajo de traducción de subtítulos para ver el proceso completo.

Paso 4: Estilo según la plataforma

Los subtítulos incrustados deben dimensionarse para el diseño real de visualización de cada plataforma, no solo para que "se lean bien en mi línea de tiempo".

TikTok e Instagram Reels (9:16 vertical): Texto blanco, tamaño de fuente equivalente a 36-48 px, recuadro de fondo con alrededor del 70 % de opacidad. Centrado horizontalmente. Posición al 60-70 % de la altura del fotograma para quedar por encima de la barra inferior de la interfaz de TikTok y por debajo del indicador de progreso superior. Una línea es el aspecto más limpio; dos líneas ocasionalmente para frases más largas.

YouTube Shorts (9:16 vertical): La interfaz de YouTube ocupa menos espacio en pantalla que la de TikTok, así que tienes algo más de margen. Texto blanco, sombra proyectada en lugar de recuadro, posición alrededor del 70 % de altura. Fuente en el rango de 42-56 px.

Feed de Instagram (cuadrado 1:1): El formato cuadrado te da espacio horizontal. Texto blanco con sombra sutil, 28-36 px, dos líneas como máximo, posicionado al 80 % de altura.

YouTube, LinkedIn, vídeo horizontal (16:9): Posición estándar en el tercio inferior. Texto blanco con contorno negro, 24-32 px, dos líneas como máximo, 42 caracteres por línea como máximo. MarginV=30 o MarginV=40 en force_style de FFmpeg mantiene el texto alejado del borde inferior.

El artículo sobre buenas prácticas de estilo de subtítulos tiene medidas precisas de zonas seguras por plataforma.

Problemas frecuentes al incrustar y sus soluciones

El texto se ve borroso o dentado. Casi siempre es culpa de Outline=0 en tu force_style. El texto se funde con el ruido del vídeo al no tener contorno. Pon Outline=1 o Outline=2.

Los subtítulos quedan desincronizados después de incrustarlos. Normalmente es un desfase de velocidad de fotogramas. El SRT se sincronizó con una fuente a 30 fps pero lo estás incrustando en una línea de tiempo a 29,97 fps, o viceversa. O bien reajusta los tiempos del SRT o iguala la velocidad de fotogramas de salida a la de la fuente usando -r 30 en tu comando de FFmpeg.

Los caracteres especiales aparecen como cuadros. La fuente predeterminada no incluye ese alfabeto. Para árabe, chino, devanágari, tailandés o cirílico, pon Fontname=Noto Sans en force_style. Noto Sans tiene la cobertura de glifos más amplia de cualquier fuente disponible gratuitamente. Para lenguas europeas con diacríticos, la mayoría de las fuentes del sistema funcionan bien.

Los colores se ven mal en force_style. Recuerda que los valores de color están en BGR, no en RGB. &H0000FF en BGR es rojo, no azul. Haz una prueba con un clip corto antes del renderizado completo.

Archivo grande después de incrustar. Incrustar recodifica el vídeo. Si antes solo copiabas el flujo, la salida codificada será más grande. Usa -crf 20 a -crf 23 como punto de partida para tamaños de archivo de distribución web.

Mi opinión: para redes sociales de formato corto, FFmpeg con una plantilla de force_style guardada como alias de shell es el flujo de trabajo repetible más rápido. Ejecutas un comando, esperas la codificación y la salida queda lista para subir. La ruta del editor visual merece la pena cuando necesitas hacer ajustes de tiempo por subtítulo o cuando el proyecto tiene decisiones de estilo complejas difíciles de expresar en parámetros ASS.

Preguntas frecuentes

¿Cuál es la diferencia entre los subtítulos incrustados y los subtítulos blandos?

Los subtítulos incrustados (también llamados subtítulos abiertos o subtítulos fijos) se renderizan directamente en los píxeles del vídeo. No se pueden desactivar, restilizar ni traducir por parte del espectador, y se reproducen en cualquier dispositivo sin necesidad de soporte de pistas de subtítulos. Los subtítulos blandos (subtítulos cerrados) son una pista de texto independiente adjunta al archivo de vídeo o subida junto a él. Los espectadores pueden activarlos o desactivarlos, y las plataformas pueden indexar el texto para búsquedas.

¿TikTok e Instagram admiten pistas de subtítulos que los espectadores puedan activar o desactivar?

No de forma fiable en los vídeos subidos por creadores. Instagram no acepta un archivo SRT ya creado que los espectadores puedan activar o desactivar. TikTok Studio tiene un generador automático de subtítulos, pero no una pista de subtítulos cerrados que el espectador pueda alternar equivalente al botón CC de YouTube. Los subtítulos incrustados son la opción segura y garantizada visible en ambas plataformas.

¿Incrustar subtítulos reduce la calidad del vídeo?

Sí, porque incrustar exige recodificar todo el vídeo. El grado de pérdida de calidad depende de tu valor de CRF. FFmpeg usa por defecto CRF 23 con libx264, lo cual es aceptable para distribución web. Para mayor calidad a costa de un archivo más grande, usa CRF 18-20. El audio no se recodifica cuando pasas -c:a copy, así que no hay pérdida de calidad de audio.

¿Puedo incrustar subtítulos en varios idiomas sin volver a grabar el vídeo?

Sí. Cada versión de idioma necesita un renderizado independiente, pero el archivo de vídeo y los códigos de tiempo son idénticos. Solo cambias el archivo SRT entre ejecuciones. Un pequeño bucle de shell en FFmpeg lo hace automáticamente: itera sobre tus archivos SRT de cada idioma, apunta el filtro de subtítulos a cada uno y genera un archivo independiente por idioma.

Fuentes

Try transcription free

Convert any audio or video to clean, unwatermarked text — speaker labels, timestamps, and AI summaries included. First 10 minutes free, no account.

Related Articles