Cómo Incrustar Subtítulos en un Vídeo (Sin Subirlo a Ningún Sitio)
Incrusta subtítulos en un vídeo desde tu equipo: los cuatro métodos comparados, los comandos de FFmpeg que funcionan y cómo no perder calidad al recodificar.
Incrustar subtítulos en un vídeo significa dibujar el texto en la imagen y recodificar, de modo que los subtítulos viajan con el archivo como píxeles. Lo necesitas para TikTok, Reels y Shorts, que no aceptan ningún archivo de subtítulos, y siempre que los subtítulos formen parte del diseño y no sean solo una opción de accesibilidad.
No necesitas subir nada para hacerlo. FFmpeg lo hace con un solo comando, HandBrake y Subtitle Edit lo hacen desde una ventana, y una aplicación de subtítulos de escritorio como Sablate además crea antes los subtítulos. Todas se ejecutan en tu propio equipo, sin límite de tamaño de archivo y sin esperar a una subida.
Esto repasa cuándo una herramienta online sigue siendo la mejor opción, las cuatro formas de incrustar subtítulos, cómo hacerlo sin la línea de comandos, qué cambia con las grabaciones largas y las dos cosas que de verdad dañan la calidad.
Herramienta online o sin conexión: ¿cuál usar?
La mayoría de las búsquedas sobre esto acaban primero en un editor del navegador, y para un clip corto está bien. La diferencia aparece con la duración, el tamaño del archivo y la privacidad.
| Editor online | Sin conexión (FFmpeg, HandBrake, app de escritorio) | |
|---|---|---|
| Tu vídeo se sube | Sí, el archivo entero | No |
| Tamaño de archivo | Limitado según el plan | Solo lo limita tu disco |
| Grabaciones largas | El tiempo de subida crece con la duración | Solo tarda la codificación |
| Material confidencial | Sale de tu equipo | Se queda en él |
| Hay que instalar algo | No | Sí |
| Crea también los subtítulos | Normalmente | Las apps de escritorio sí, FFmpeg y HandBrake no |
Los límites son reales, y en los planes gratuitos son bajos. La política de almacenamiento de Kapwing, por ejemplo, permite 250 MB por archivo en su plan gratuito y 6 GB en los de pago. Con un bitrate típico de 1080p de unos 8 Mbps, 250 MB dan para algo más de cuatro minutos de vídeo.
Así que usa un editor online cuando el clip sea corto, nada de lo que contiene sea confidencial y no puedas instalar software en el equipo que tienes delante. Para cualquier cosa de más de unos pocos minutos, para material de clientes o de uso interno, y para un lote de archivos, incrusta en local. La comparativa de generadores de subtítulos sin conexión repasa las apps de escritorio que además crean los subtítulos.
Cuándo incrustar es la decisión correcta
| Incrustado (hardsub) | Archivo o pista de subtítulos (softsub) | |
|---|---|---|
| El espectador puede desactivarlo | No | Sí |
| Funciona en TikTok, Reels, Shorts | Sí | No, no está soportado |
| Funciona en YouTube, Vimeo | Sí | Sí, y es buscable |
| Cuenta para el cumplimiento de accesibilidad | Normalmente no | Sí |
| Indexado por buscadores | No | Sí |
| Corregir una errata más tarde | Volver a renderizar el vídeo | Editar un archivo de texto |
| Varios idiomas en un mismo archivo | No, un renderizado por idioma | Sí, una pista por idioma |
| El estilo se conserva exactamente | Sí | Solo en pistas ASS |
La respuesta práctica para la mayoría es hacer las dos cosas: incrustar para las plataformas sociales verticales donde no funciona nada más, y entregar un archivo de subtítulos en cualquier sitio que lo acepte, porque un archivo es buscable, se puede cambiar de idioma y se puede corregir. Si quieres las dos cosas a partir de un mismo trabajo, la entrega multilingüe explica cómo salen los dos resultados de la misma línea de tiempo.
Las cuatro formas de incrustar subtítulos
| FFmpeg | HandBrake | Herramientas del navegador | Apps de subtítulos de escritorio | |
|---|---|---|---|---|
| Precio | Gratis | Gratis | Nivel gratis, después suscripción | Pago único o suscripción |
| Sube tu vídeo | No | No | Sí, el archivo entero | No |
| Límite de tamaño / duración | Ninguno | Ninguno | Sí, normalmente estricto | Ninguno |
| Crea los subtítulos | No | No | Sí | Sí |
| Control de estilo | Mediante ASS o force_style | Limitado | Plantillas | Completo, con vista previa en vivo |
| Curva de aprendizaje | Línea de comandos | Moderada | Ninguna | Baja |
Dos notas honestas. FFmpeg y HandBrake son gratis y excelentes para esto, y si ya tienes un archivo de subtítulos terminado, FFmpeg es un único comando, así que no hay razón para pagar por nada. Lo que ninguno de los dos hace es crear los subtítulos: incrustan un archivo que ya tienes, con los tiempos y las correcciones hechas en otro sitio. Las herramientas del navegador sí los crean, pero la subida no es opcional, lo que las descarta para material confidencial y para cualquier cosa más larga que su límite.
Incrustar con FFmpeg
Para un SRT sencillo:
ffmpeg -i input.mp4 -vf "subtitles=subs.srt" -c:a copy output.mp4
Para un archivo ASS con estilo, usa el filtro ass para que se respete el estilo en lugar de aplanarlo:
ffmpeg -i input.mp4 -vf "ass=subs.ass" -c:a copy output.mp4
Para controlar la calidad de forma explícita en lugar de aceptar el valor por defecto:
ffmpeg -i input.mp4 -vf "subtitles=subs.srt" \
-c:v libx264 -crf 18 -preset slow -c:a copy output.mp4
Para cambiar el estilo de un SRT sin convertirlo antes:
ffmpeg -i input.mp4 \
-vf "subtitles=subs.srt:force_style='FontName=Arial,FontSize=24,Outline=2'" \
-c:a copy output.mp4
La trampa de Windows. La ruta dentro del filtro la interpreta el propio filtro, no la shell, así que los dos puntos de la letra de unidad y las barras invertidas hay que escaparlos. Esta es, con diferencia, la razón más habitual de que el comando falle con un error de archivo no encontrado sobre un archivo que claramente existe:
ffmpeg -i input.mp4 -vf "subtitles='C\:/Videos/subs.srt'" -c:a copy output.mp4
Mantén el archivo de subtítulos en el directorio de trabajo y pasa solo el nombre del archivo siempre que puedas: así evitas el problema por completo.
Incrustar subtítulos sin la línea de comandos
Si la terminal no es lo tuyo, hay tres tipos de herramienta que hacen el mismo trabajo desde una ventana. Las dos primeras son gratis e incrustan un archivo de subtítulos que ya tienes; la tercera además crea el archivo.
HandBrake
HandBrake es un conversor de vídeo gratuito para Windows, Mac y Linux. Abre el vídeo, ve a la pestaña Subtitles, usa Tracks para añadir tu SRT externo, marca esa pista para que se incruste en el vídeo y empieza la codificación. Hay dos límites que conviene conocer: la documentación de HandBrake indica que un MP4 solo admite una pista incrustada, y el estilo se limita a lo que lleva un SRT sencillo.
Subtitle Edit
Subtitle Edit, el editor de subtítulos gratuito, tiene en su menú Video una exportación con subtítulos incrustados que ejecuta FFmpeg por ti, y te ofrece descargar FFmpeg si no lo tienes. Es la opción natural cuando ya estás corrigiendo ahí los tiempos.
Una aplicación de subtítulos de escritorio
Si todavía no tienes un archivo de subtítulos corregido, la incrustación es el último paso de un trabajo más largo: transcribir, corregir, aplicar estilo, renderizar. Sablate hace todo eso de principio a fin en tu propio equipo: transcripción local con Whisper, un editor con resincronización en la línea de tiempo y avisos de velocidad de lectura, 13 presets de subtítulos, y una incrustación que coincide con la vista previa. Si montas en DaVinci Resolve, la versión gratuita puede importar un SRT e incrustarlo al exportar en su lugar.
La incrustación está disponible en el plan gratis con una pequeña marca en la esquina, para vídeos de hasta 10 minutos. Pro quita la marca y el límite de duración y añade .ass, .mkv multipista y exportación por lotes, por un único pago de $29. Descárgalo o consulta la página de precios para ver el desglose completo.
Incrustar subtítulos en vídeos largos o pesados
La duración cambia dos cosas: cómo llega el archivo a la herramienta y la propia codificación.
La subida. Una grabación de dos horas en 1080p a unos 8 Mbps ocupa unos 7 GB. Con una conexión de subida de 20 Mbps, eso son casi 50 minutos antes de que una herramienta online pueda siquiera empezar, y luego el archivo terminado tiene que volver a bajarse. Incrustar en local se salta ese paso por completo.
La codificación. Incrustar recodifica cada fotograma, así que un archivo de dos horas tarda un buen rato en cualquier equipo. Antes de lanzar la codificación completa, renderiza el primer minuto y comprueba ahí la fuente, el tamaño y la posición, en lugar de descubrirlo tras una hora de espera:
ffmpeg -i input.mp4 -t 60 -vf "subtitles=subs.srt" -c:v libx264 -crf 18 -preset slow -c:a copy test.mp4
Velocidad frente a tamaño. -preset medium es bastante más rápido que slow y produce un archivo algo más grande con el mismo CRF. Un codificador por hardware (h264_nvenc en las tarjetas NVIDIA, h264_videotoolbox en un Mac) es aún más rápido, pero necesita un bitrate mayor para la misma calidad visual. Conserva -c:a copy en cualquier caso: recodificar el audio de un archivo largo cuesta tiempo y una segunda generación de pérdida para nada.
Sablate no tiene límite de duración en Pro, y el renderizado se ejecuta en local con una barra de progreso y un botón de cancelar, así que una grabación de larga duración es cuestión de esperar, no de partir el archivo en trozos.
Qué es lo que realmente te cuesta calidad
Dos cosas, y ninguna es la incrustación en sí misma.
Recodificar un archivo ya comprimido. Incrustar exige una recodificación, y eso implica pérdida. Hacerlo sobre tu máster casi no cuesta nada visible. Hacerlo sobre un archivo que una plataforma ya comprimió significa comprimir artefactos de compresión, y ahí es donde aparecen el bloqueo y la pérdida de nitidez. Empieza siempre desde la versión de mayor calidad que tengas, y nunca incrustes subtítulos en un archivo que ya se haya incrustado una vez.
Aceptar los ajustes por defecto del codificador. -crf 18 con x264 es visualmente casi transparente para la mayoría del contenido; el valor por defecto de 23 se nota claramente más blando en material con mucho detalle. -preset slow consigue un archivo más pequeño con la misma calidad a cambio de tiempo. Y -c:a copy deja la pista de audio sin tocar: no hay ninguna razón para recodificar el audio cuando solo estás cambiando la imagen.
Por qué el renderizado no coincide con la vista previa
Dos causas, y las dos se pueden corregir antes de gastar una codificación.
Las fuentes. El renderizador dibuja con la fuente que encuentra. Si la fuente que elegiste no está instalada, o no puede dibujar esa escritura (la mayoría de las tipografías pensadas para subtítulos cubren el latino, el cirílico y el griego, y nada más), se usa una sustituta, y el texto en árabe, tailandés, hangul o CJK puede acabar convertido en cuadros vacíos. Comprueba la fuente antes de renderizar doce idiomas, no después.
El tamaño del lienzo. Las posiciones y los tamaños de fuente de ASS son relativos a un lienzo virtual declarado en el archivo, no a las dimensiones en píxeles del vídeo. El mismo tamaño de fuente produce un texto distinto en pantalla en un vídeo de origen en 1080p y en otro de 4K, a menos que el lienzo esté fijado. Sablate fija el lienzo de los subtítulos a un fotograma virtual de 1080 de alto y calcula el ancho a partir de la relación de aspecto real del vídeo de origen, incluidos los metadatos de rotación, así que un tamaño de fuente significa lo mismo sea cual sea la resolución con la que grabaste, y la vista previa del editor se escala exactamente contra el mismo lienzo que usa el renderizador.
Esto también explica por qué la calidad de la incrustación varía tanto entre herramientas. Muchos editores online componen los subtítulos como una simple superposición de texto plana; la incrustación de Sablate la renderiza libass, el mismo motor que usan los reproductores multimedia para los subtítulos ASS, así que los contornos, las sombras, el temporizado de karaoke palabra por palabra y las fuentes correctas para cada escritura salen como tipografía real de subtítulos y no como gráficos aproximados.
Salida vertical y cuadrada
Si el vídeo va a Reels, Shorts o TikTok, convierte la relación de aspecto durante el renderizado, no recortando después. Recortar una incrustación en 16:9 ya terminada a 9:16 corta los lados de los subtítulos junto con la imagen.
Sablate renderiza en 16:9 (1920×1080), 9:16 (1080×1920) o 1:1 (1080×1080), recortando hasta el encuadre de destino o rellenándolo con una copia difuminada del vídeo original, y coloca los subtítulos pensando en el fotograma final. Mantén los subtítulos por encima del tercio inferior de un fotograma vertical: la guía de Meta para Reels mantiene libre el 35 por ciento inferior, porque lo cubren el texto y los botones de la propia plataforma. Dónde poner los subtítulos en Reels, TikTok y Shorts recoge la zona segura de cada plataforma.
En resumen
Usa un editor online solo para clips cortos sin nada confidencial; incrusta en local para todo lo demás, porque no hay subida ni límite de tamaño ni de duración. Incrusta cuando la plataforma no lee ningún archivo de subtítulos, o cuando los subtítulos forman parte del aspecto visual, y entrega un archivo de subtítulos en cualquier otro sitio, porque un texto que puedes editar gana a unos píxeles que no puedes tocar. Renderiza desde tu máster, no desde una copia ya subida a otro sitio. Usa CRF 18 y copia el audio. Prueba el primer minuto de un archivo largo antes de la codificación completa. Y comprueba la fuente y el lienzo antes de gastar esa codificación, porque son las dos cosas que hacen que un archivo de subtítulos perfecto salga mal.
Preguntas frecuentes
¿Qué hace exactamente incrustar subtítulos en un vídeo?
Dibuja el texto directamente en la imagen y recodifica el vídeo, así que los subtítulos pasan a ser píxeles en vez de una pista separada. Nadie puede desactivarlos, ningún reproductor necesita soportar un formato de subtítulos, y las plataformas que ignoran los archivos de subtítulos los muestran igualmente. La contrapartida es que es permanente y cuesta una recodificación.
¿Incrustar los subtítulos reduce la calidad del vídeo?
Recodifica el vídeo, así que cierta pérdida es inevitable, pero se puede hacer invisible. Codifica desde tu máster de mayor calidad y no desde una exportación ya comprimida, usa un ajuste orientado a calidad como CRF 18 con x264, y copia la pista de audio en lugar de recodificarla. Lo que degrada el vídeo de forma visible es incrustar dos veces sobre el mismo archivo.
¿Puedo incrustar subtítulos sin subir mi vídeo a ningún sitio?
Sí. FFmpeg, HandBrake y las aplicaciones de subtítulos de escritorio se ejecutan íntegramente en tu propio equipo, sin subida y sin límite de tamaño de archivo. Las herramientas basadas en el navegador tienen que subir primero el vídeo entero a un servidor, por eso limitan el tamaño y la duración, y por eso una grabación de dos horas suele fallar en ellas.
¿Cuál es el comando de FFmpeg para incrustar subtítulos en un vídeo?
Para un SRT sencillo: ffmpeg -i input.mp4 -vf subtitles=subs.srt -c:a copy output.mp4. Para un archivo ASS con estilo, usa el filtro ass en lugar de subtitles. En Windows, la ruta dentro del filtro necesita escaparse, que es la razón más habitual de que el comando falle con un error de archivo no encontrado.
¿Por qué mis subtítulos incrustados se ven distintos a la vista previa?
Normalmente por las fuentes o por el tamaño del lienzo. El renderizador sustituye la fuente por otra si la que elegiste falta o no puede dibujar esa escritura, y el tamaño de fuente es relativo a un lienzo virtual, así que el mismo número produce tamaños de texto distintos en un vídeo de origen en 1080p y otro en 4K. La vista previa y el renderizado tienen que usar la misma fuente y el mismo lienzo para coincidir.
¿Necesito incrustar los subtítulos para TikTok, Reels y Shorts?
Sí. Ninguna de esas plataformas acepta un archivo de subtítulos junto con la subida, así que ahí los subtítulos o están incrustados en el vídeo o los genera la propia plataforma. Los subtítulos generados por la plataforma son gratis, pero llevan el estilo de la plataforma y suelen fallar con nombres propios y jerga, por eso la mayoría de creadores incrusta los suyos.
¿Cómo incrusto subtítulos en un vídeo largo?
Hazlo en local. Una grabación de dos horas en 1080p ocupa varios gigabytes: más de lo que admiten la mayoría de las herramientas del navegador y cerca de una hora de subida con una conexión normal. FFmpeg, HandBrake o una app de escritorio la recodifican en tu equipo. Renderiza el primer minuto como prueba antes de la codificación completa y copia el audio en lugar de recodificarlo.