Agregar subtítulos a un video no debería requerir una licenciatura en informática, pero a menudo parece que sí cuando te enfrentas a una terminal de línea de comandos por primera vez. FFmpeg, la herramienta gratuita y de código abierto para el procesamiento de video, ofrece potentes funciones de subtitulado sin costos de licencia de software. Ya sea que necesites grabar subtítulos directamente en tu material de video o incorporar pistas de subtítulos que se puedan activar o desactivar, FFmpeg se encarga de ambas cosas con unos cuantos comandos bien elaborados. Para quienes prefieren evitar por completo la línea de comandos, subtítulos automáticos Las herramientas pueden convertir un flujo de trabajo manual en unos pocos clics, pero conocer bien FFmpeg te brinda un control total sobre la incorporación y el procesamiento de subtítulos.
Principales conclusiones
- FFmpeg admite dos tipos de subtítulos: los subtítulos «soft», que son pistas que se pueden activar o desactivar, y los subtítulos «hard», que están grabados de forma permanente en el video
- Los archivos SRT utilizan un formato sencillo de marcas de tiempo, mientras que los archivos ASS/SSA permiten aplicar estilos avanzados con fuentes, colores, posicionamiento y efectos
- El procesamiento de subtítulos integrados requiere una recodificación del video, lo cual es más lento y consume más recursos de la CPU
- A menudo, los subtítulos integrados se pueden agregar al copiar las secuencias originales de video y audio, lo que evita tener que volver a codificar el video
- FFmpeg 8.0 introdujo un filtro de audio opcional llamado Whisper para la transcripción automática, pero la compatibilidad con avai depende de cómo se haya compilado el binario de FFmpeg y requiere un modelo compatible
- SRT ofrece una amplia compatibilidad con diversas herramientas de subtítulos, reproductores y plataformas
- Los archivos ASS/SSA ofrecen un amplio control sobre el estilo, incluyendo efectos de texto animados y resaltado al estilo karaoke
- Los subtítulos «soft» pueden conservar la calidad original del video cuando se copia el flujo de video sin recodificarlo
Comprender los formatos de subtítulos: SRT, VTT y ASS/SSA
Antes de adentrarte en los comandos de FFmpeg, debes entender con qué estás trabajando. Los archivos de subtítulos vienen en varios formatos, cada uno con fines distintos y que ofrecen distintos niveles de control.
¿Qué es un archivo SRT?
El SRT, o SubRip Text, es uno de los formatos de subtítulos más utilizados debido a su simplicidad. Su estructura sigue un patrón sencillo:
1
00:00:01,000 –> 00:00:03,500
Este es el primer subtítulo.
2
00:00:03,500 –> 00:00:06,000
Este es el segundo subtítulo.
Cada entrada contiene un número secuencial, un rango de marcas de tiempo y el texto que se muestra. Puedes crear y editar archivos SRT en cualquier editor de texto: el Bloc de notas, TextEdit o VS Code, todos funcionan. El formato admite saltos de línea básicos, pero tiene capacidades limitadas de estilo nativo.
Diferencias entre los formatos de subtítulos más comunes
El formato que elijas influye en las posibilidades que ofrecen tus subtítulos:
- SRT (SubRip): Texto Plain con marcas de tiempo, amplia compatibilidad y opciones de estilo limitadas
- VTT (WebVTT): Un formato orientado a la web con ajustes de marcadores y estilos básicos, que se utiliza habitualmente con reproductores de video HTML5
- ASS/SSA (Subestación Avanzada Alfa): Amplio control sobre el diseño, incluyendo fuentes, colores, posicionamiento, sombras y animaciones
Para el contenido de redes sociales que requiera leyendas con la marca, los archivos ASS ofrecen la flexibilidad necesaria para adaptarse a tu identidad visual. Para los flujos de trabajo de accesibilidad y una amplia compatibilidad, el formato SRT suele ser una opción práctica.
Configuración de FFmpeg: instalación y uso básico
FFmpeg se ejecuta desde la línea de comandos, lo que significa que tendrás que escribir comandos en Terminal en macOS o Linux, o en la Línea de comandos o PowerShell en Windows. La instalación varía según el sistema operativo:
Windows: Visita el Página de descarga de FFmpeg y sigue uno de sus enlaces a una versión compatible de Windows. Descomprime los archivos y, a continuación, agrega la versión bin carpeta a tu variable de entorno PATH.
Mac: Abre el Terminal y ejecuta brew install ffmpeg si usas el administrador de paquetes Homebrew.
Linux: Ejecutar sudo apt install ffmpeg en Ubuntu o Debian, o sudo pacman -S ffmpeg en distribuciones basadas en Arch.
Verifica tu instalación escribiendo:
ffmpeg -version
Si la configuración se realiza correctamente, se mostrará información sobre la versión y la configuración de compilación. Para los subtítulos integrados, verifica si la configuración incluye –enable-libass, o bien ejecuta ffmpeg -filtros y confirmar que el subtítulos Se muestra el filtro.
Estructura básica de los comandos de FFmpeg
Todos los comandos de FFmpeg siguen un patrón constante:
ffmpeg -i archivo_de_entrada.mp4 [opciones] archivo_de_salida.mp4
En -i La bandera especifica el archivo de entrada, las opciones modifican el procesamiento y el último argumento indica el nombre del archivo de salida. Comprender esta estructura facilita la lectura incluso de los comandos más complejos.
Subtítulos integrados: Cómo agregar pistas de subtítulos externas a un video
Los subtítulos integrados se almacenan como pistas separadas dentro de un archivo de video, lo que permite a los espectadores activarlos o desactivarlos. Este método permite conservar la calidad original del video, ya que no es necesario recodificar el flujo de video.
Cómo integrar archivos SRT sin volver a codificar el video
Un comando básico para los subtítulos en pantalla en archivos MP4 es:
ffmpeg -i video.mp4 -i subtitles.srt -c copy -c:s mov_text -metadata:s:s:0 language=eng output.mp4
Analicemos esto:
- -i video.mp4: Tu video original
- -i subtítulos.srt: Tu archivo de subtítulos
- -c copiar: Copiar flujos de entrada compatibles sin recodificarlos
- -c:s mov_text: Convierte la pista de subtítulos a un formato compatible con MP4 mov_text formato
- -metadatos:s:s:0 idioma=eng Español de América Latina (es-419): Etiqueta la primera pista de subtítulos como «Inglés»
El procesamiento suele ser mucho más rápido que la generación de subtítulos fijos, ya que FFmpeg puede copiar las secuencias de video y audio mientras convierte únicamente la secuencia de subtítulos. Para los equipos que necesitan crear archivos de subtítulos antes de incorporarlos, Sonix puede generar automáticamente archivos SRT a partir de audio o video.
Manejo de subtítulos en varios idiomas
Para contenidos que requieran opciones en varios idiomas:
ffmpeg -i video.mp4 -i english.srt -i spanish.srt -map 0 -map 1 -map 2 -c copy -c:s mov_text -metadata:s:s:0 language=eng -metadata:s:s:1 language=spa output.mp4
Esto genera un único archivo de video con pistas de subtítulos seleccionables en inglés y español. El -mapa Las opciones incluyen explícitamente los flujos de cada entrada.
Incorporación de subtítulos de forma permanente: Grabación directa de subtítulos en el video
Los subtítulos integrados se convierten en parte permanente de los fotogramas del video y aparecen independientemente de la configuración del reproductor. Esto puede ayudar a garantizar que los subtítulos sean visibles en entornos de distribución que no muestran de manera confiable las pistas de subtítulos separadas.
Cómo usar el filtro de subtítulos para los subtítulos permanentes
El comando básico de quemado es:
ffmpeg -i video.mp4 -vf “subtitles=subtitles.srt” -c:v libx264 -c:a copy output.mp4
En -vf La opción «video-filter» aplica el filtro de subtítulos, lo que permite mostrar el texto directamente en los fotogramas del video. Dado que el filtro opera sobre fotogramas decodificados, es necesario recodificar el video. El -c: una copia Esta opción conserva la secuencia de audio original cuando es compatible con el contenedor de salida.
Personalización de la apariencia de los subtítulos
El texto blanco de Plain no siempre encaja con la estética de los videos profesionales. FFmpeg’s force_style Esta opción te permite anular las propiedades de estilo de ASS:
ffmpeg -i video.mp4 -vf “subtitles=subtitles.srt:force_style=’FontName=Roboto,FontSize=18,BackColour=&H40000000,BorderStyle=3′” -c:v libx264 -c:a copy output.mp4
Esto crea subtítulos con un fondo parcialmente transparente. Las opciones de estilo de Available incluyen:
- Nombre de la fuente: Un nombre de fuente compatible con AVailable
- Tamaño de fuente: Un valor de tamaño de fuente ASS; el tamaño final depende del escalado de los subtítulos y del video
- Color primario: Color del texto en ASS &HAABBGGRR notación
- Color de fondo: Color de fondo o de sombra, incluyendo el alfa
- Estilo de borde: Por lo general 1 para un resumen o 3 para un fondo con marco
- Esquema: Ancho del contorno en unidades de script ASS
- Sombra: Profundidad de la sombra en unidades del script ASS
La disponibilidad de la fuente avail depende del sistema y de la compilación de FFmpeg. Para flujos de trabajo portátiles, es posible que debas especificar un directorio de fuentes a través del filtro fontsdir opción.
Problemas comunes y solución de problemas
Hay varios problemas que suelen causar dificultades a los principiantes en FFmpeg:
“No existe ese filtro: subtítulos”: Es posible que tu versión de FFmpeg no sea compatible con libass. Verifica ffmpeg -filtros, instala una versión que incluya el filtro o compila FFmpeg con –enable-libass.
Caracteres distorsionados: Es posible que el archivo de subtítulos utilice una codificación de caracteres incorrecta. Guárdalo nuevamente en formato UTF-8. Si trabajas con otra codificación, utiliza el filtro de subtítulos charenc opción, cuando sea compatible.
Los subtítulos no están sincronizados: Usar -itsoffset antes de la entrada de subtítulos para desplazar todo el flujo de subtítulos. Los valores positivos retrasan los subtítulos; los valores negativos los adelantan.
Tamaño enorme del archivo de salida: Los subtítulos fijos obligan a recodificar el video. Para la salida en H.264, controla la calidad y el tamaño con un codificador compatible con CRF, como -c:v libx264 -crf 23. Por lo general, los valores más bajos de CRF generan archivos de mayor calidad y mayor tamaño.
Ejemplos de comandos específicos de FFmpeg para situaciones comunes
Cómo agregar subtítulos SRT a un video MP4 (método no técnico)
ffmpeg -i interview.mp4 -i captions.srt -c copy -c:s mov_text output.mp4
Utiliza esta opción para reproductores y flujos de trabajo de distribución que admitan pistas de subtítulos seleccionables dentro de archivos MP4. En el caso de las plataformas que ofrecen una interfaz específica para subir subtítulos, puede ser más confiable subir el archivo SRT por separado.
Convertir un archivo VTT a MKV (Difícil)
ffmpeg -i webinar.mkv -vf “subtitles=captions.vtt” -c:v libx264 -c:a copy output.mkv
En -c: una copia Esta opción conserva el audio original sin recodificarlo cuando el códec es compatible con el contenedor de salida.
Leyendas con estilo para redes sociales
ffmpeg -i clip.mp4 -vf “subtitles=captions.srt:force_style=’FontName=Arial,FontSize=24,PrimaryColour=&H00FFFFFF,BackColour=&H80000000,BorderStyle=3,Alignment=2′” -c:v libx264 -preset veryfast -c:a copy output.mp4
Alineación=2 coloca los subtítulos en la parte inferior central, siguiendo las reglas estándar de alineación ASS. El -ajuste preestablecido «veryfast» La opción acelera libx264 codificación a costa de una menor eficiencia en la compresión.
Técnicas avanzadas de subtitulado con FFmpeg
Ajuste de la sincronización de los subtítulos
Cuando los subtítulos no coinciden perfectamente con el audio:
ffmpeg -i video.mp4 -itsoffset 2.5 -i subtitles.srt -c copy -c:s mov_text output.mp4
Esto retrasa la secuencia de subtítulos en 2,5 segundos. Para adelantarla, usa un valor negativo, como -itsoffset -1,5.
Aprovechamiento de ASS para efectos visuales avanzados
Los archivos ASS ofrecen funciones que los archivos SRT de plain no proporcionan de forma nativa:
- Efectos de texto animados, como fundidos y movimientos
- Resaltado al estilo karaoke
- Varias posiciones de texto simultáneas
- Estilo por carácter o por palabra
Crea archivos ASS con una herramienta de creación de subtítulos y, a continuación, aplícalos con el filtro ASS de FFmpeg:
ffmpeg -i video.mp4 -vf “ass=styled_captions.ass” -c:v libx264 -c:a copy output.mp4
Cómo generar subtítulos con el filtro Whisper de FFmpeg
FFmpeg 8.0 introdujo un filtro de audio opcional llamado «Whisper» que puede generar transcripciones, incluyendo archivos de subtítulos. Sin embargo, no todas las versiones binarias de FFmpeg 8.x lo incluyen.
Primero, verifica si tu compilación incluye el filtro:
ffmpeg -filters | grep whisper
En Windows PowerShell, puedes usar:
ffmpeg -filters | Select-String whisper
También necesitarás un archivo de modelo de Whisper compatible. Una estructura de comandos representativa es la siguiente:
ffmpeg -i input.mp4 -af “whisper=model=/path/to/model.bin:language=auto:destination=output.srt:format=srt” -f null –
Las opciones exactas pueden variar según la versión y la compilación de FFmpeg. Las compilaciones compatibles pueden utilizar backends de GPU admitidos, pero la aceleración depende de la biblioteca Whisper vinculada, el hardware available, los controladores y la configuración de la compilación.
El filtro puede generar un borrador de transcripción, pero la precisión varía según el modelo, el idioma, los acentos, la calidad de la grabación, el ruido de fondo y el vocabulario. Revisa siempre los subtítulos generados automáticamente antes de publicarlos.
FFmpeg y el software de edición de video: acortando distancias
FFmpeg se destaca en el procesamiento por lotes y la automatización, mientras que los editores especializados ofrecen precisión visual. La combinación ideal suele incluir ambas herramientas.
Cuándo usar FFmpeg y cuándo usar editores de video especializados
Elige FFmpeg cuando:
- Procesar decenas o cientos de videos
- Ejecución de trabajos por lotes automatizados
- Cómo agregar subtítulos mediante scripts repetibles
- Trabajar en flujos de trabajo de CI/CD o en entornos de servidores
Elige un programa de edición de video cuando:
- Ajuste visual de la sincronización de cada subtítulo
- Creación de leyendas animadas complejas
- Trabajar en producciones que requieran la colocación específica de fotogramas
- Necesidad de una vista previa visual en tiempo real durante los ajustes de los subtítulos
Cómo exportar subtítulos generados con FFmpeg para editores no lineales
FFmpeg puede extraer o convertir una secuencia de subtítulos de texto incrustados compatible:
ffmpeg -i video.mp4 -map 0:s:0 subtitles.srt
Esto selecciona la primera pista de subtítulos y la convierte a formato SRT cuando el tipo de subtítulos de origen puede representarse como texto. Las pistas de subtítulos basadas en imágenes no pueden convertirse directamente a SRT sin reconocimiento de texto. El archivo resultante puede editarse en otra herramienta de subtítulos o incorporarse a un proyecto más amplio flujo de trabajo de video.
Optimización de los flujos de trabajo de subtitulado con Sonix
Las herramientas de línea de comandos ofrecen potencia y flexibilidad, pero requieren un dominio técnico que no todos tienen ni desean adquirir. Cuando se acercan los plazos y la precisión es clave, la transcripción manual, la sincronización de subtítulos y la administración de archivos pueden convertirse en obstáculos.
Sonix aborda el flujo de trabajo de los subtítulos de manera diferente al utilizar inteligencia artificial y herramientas basadas en navegador para los pasos que se realizan antes de la codificación final:
- Transcripción automática convierte audio y video en texto editable con marcas de tiempo
- Soporte multilingüe ofrece transcripción en español de América Latina (es-419) Más de 54 idiomas
- Edición basada en navegador combina la reproducción sincronizada con controles de texto y de sincronización de subtítulos
- Exportación de subtítulos incluye SRT, VTT, TTML, FCPXML y otros formatos de producción compatibles
- Identificación del orador identifica automáticamente a los distintos hablantes en los flujos de trabajo de transcripción compatibles
Sonix afirma oficialmente que la generación de subtítulos suele tardar unos cinco minutos por cada hora de video, aunque el tiempo real de procesamiento puede variar. Sus herramientas de subtítulos también permiten ajustar la sincronización, personalizar el estilo y generar subtítulos grabados en el video.
Para los equipos que procesan volúmenes habituales de contenido, Sonix ofrece funciones de colaboración ofrece carpetas compartidas, permisos de visualización y edición, notas a nivel de párrafo, historial de versiones y traspasos organizados. Sonix utiliza un modelo de edición enfocado en el que una persona edita mientras que otras pueden ver, escuchar, buscar y dejar notas.
Sonix también es Certificación SOC 2 Tipo II, con datos encriptados durante la transmisión mediante TLS y en reposo mediante AES-256. Las organizaciones que manejan material regulado deben evaluar igualmente el producto específico, el plan, la configuración y los requisitos contractuales que se aplican a su caso de uso.
FFmpeg remains es excelente para la integración final, la conversión y el renderizado. Para las etapas iniciales —transcripción, revisión, traducción y colaboración—, una plataforma basada en navegador puede reducir la cantidad de trabajo manual necesario para preparar los archivos.
Veredicto final: Cómo elegir entre FFmpeg y las plataformas profesionales de transcripción
La decisión entre FFmpeg y una plataforma de transcripción especializada depende de los requisitos de tu flujo de trabajo y de tu nivel de comodidad con la tecnología.
Elige FFmpeg cuando necesites:
- Control de Detai sobre los parámetros de codificación y visualización de subtítulos
- Procesamiento por lotes para flujos de trabajo de video automatizados
- Integración con los flujos de trabajo de línea de comandos existentes
- Una herramienta de código abierto sin cuotas recurrentes de suscripción de software
- Pasos de procesamiento de medios programables y repetibles
Elige una plataforma de transcripción profesional cuando necesites:
- Conversión automática de voz a texto sin necesidad de crear la transcripción manualmente
- Edición basada en navegador con reproducción sincronizada
- Transcripción multilingüe y traducción
- Colaboración en equipo y flujos de trabajo de revisión
- Identificación y etiquetado de los oradores
- Características de seguridad y administrativas documentadas
Para muchos equipos de contenido, un flujo de trabajo práctico combina ambas cosas: usar Sonix para generar y revisar transcripciones con marca de tiempo, etiquetas de hablantes y herramientas de colaboración, y luego usar FFmpeg para incrustar o grabar los subtítulos en los archivos de video finales. Este enfoque combina un flujo de trabajo de transcripción asistida con control técnico sobre el resultado final.
Preguntas frecuentes
¿Cuál es la diferencia entre subtítulos «blandos» y «duros»?
Los subtítulos soft se almacenan como pistas independientes que los espectadores pueden activar o desactivar a través de la configuración de los reproductores multimedia compatibles. Los subtítulos hard se incorporan de manera permanente a los fotogramas del video y aparecen independientemente de si la pista de subtítulos es compatible o no. Los subtítulos soft pueden conservar el flujo de video original cuando se agregan sin necesidad de recodificar, mientras que los subtítulos hard requieren la recodificación del video.
¿FFmpeg puede generar subtítulos automáticamente a partir del audio?
FFmpeg 8.0 introdujo un filtro de audio opcional llamado Whisper para la transcripción de voz a texto, pero esta función solo está disponible en binarios compilados con soporte para Whisper y requiere un archivo de modelo compatible. Algunas compilaciones pueden utilizar backends de GPU compatibles, aunque no se garantiza la aceleración por hardware. La precisión varía según el modelo seleccionado, el idioma, la calidad del audio, los acentos, el ruido y el vocabulario, y la salida del filtro estándar no ofrece el mismo flujo de trabajo de identificación de hablantes que ofrecen los filtros dedicados plataformas de transcripción.
¿Cómo puedo cambiar la fuente o el color de los subtítulos incrustados con FFmpeg?
Usa el force_style opción dentro del filtro de subtítulos. Por ejemplo, -vf “subtitles=captions.srt:force_style=’FontName=Arial,FontSize=20,PrimaryColour=&H0000FFFF'” aplica texto en Arial con un valor de color ASS. Los colores ASS utilizan &HAABBGGRR notación, donde AA representa alfa. También puedes especificar Color de fondo, Estilo de borde, Esquema, Sombra, y las propiedades de alineación.
¿Qué formatos de subtítulos admite FFmpeg?
FFmpeg puede leer, escribir, convertir o procesar muchos formatos de subtítulos, incluyendo SRT, WebVTT, ASS/SSA y varios formatos de subtítulos basados en imágenes. La compatibilidad exacta depende de la versión de FFmpeg, el formato de entrada, el contenedor de salida y el códec de subtítulos seleccionado. Para subtítulos integrados en MP4, -c:s mov_text se utiliza con frecuencia. Los contenedores Matroska pueden almacenar códecs de texto como SRT y ASS de manera más directa, mientras que los flujos de trabajo con subtítulos integrados suelen utilizar el subtítulos o culo filtros para los formatos de texto compatibles.
¿Cómo me aseguro de que mis subtítulos estén perfectamente sincronizados con mi video?
Revisa segmentos cortos antes de procesar el video completo. Si la pista de subtítulos completa aparece sistemáticamente adelantada o atrasada, coloca -itsoffset antes de introducir los subtítulos: los valores positivos retrasan la pista, mientras que los valores negativos la adelantan. Si hay problemas que afectan solo a líneas específicas, edita las marcas de tiempo en el archivo de subtítulos o usa un editor visual de subtítulos con forma de onda y controles de reproducción.
Obtenga transcripciones precisas en cuestión de minutos
Empiece a transcribir de forma más inteligente. Prueba Sonix gratis o explora nuestros precios para encontrar el plan adecuado para ti.