¿Cómo añadir texto a un vídeo con FFmpeg?

Un sofisticado estudio de edición de audio bañado por una fría iluminación azul
Domine el arte de integrar texto en sus proyectos de vídeo con Ffmpeg

Transkriptor 2023-04-03

¿Qué es FFmpeg?

FFmpeg es un proyecto gratuito que ofrece una colección de programas para manejar datos como audio, vídeo e imágenes. Es una herramienta que sirve para convertir, grabar, transmitir y reproducir archivos.

FFmpeg es compatible con una amplia gama de formatos y códecs y se utiliza para tareas como transcodificar, cambiar el tamaño de los filtros, añadir marcas de agua o subtítulos , obtener audio del vídeo y fusionar varios vídeos o archivos de audio. También es posible crear un GIF con FFmpeg y combinar archivos MP4 con FFMPEG en Windows.

FFmpeg se utiliza ampliamente en la industria multimedia y está disponible en la mayoría de los sistemas operativos, incluidos Windows, macOS, Linux y Unix.

¿Cómo utilizar FFmpeg?

Estos son algunos ejemplos comunes de cómo utilizar FFmpeg:

  1. Convierte un archivo de vídeo de un formato a otro:

Código: ffmpeg -i entrada_video .mp4 salida_video.avi

Este comando convertirá input_video.mp4 a output_video.avi . FFmpeg seleccionará automáticamente los códecs adecuados para el formato de salida.

  1. Cambia el tamaño de un vídeo:

Código: ffmpeg -i input_video .mp4 -vf scale=640:480 output_video .mp4

Este comando redimensionará input_video.mp4 a una resolución de 640×480 píxeles y guardará el resultado en output_video.mp4 .

  1. Extrae audio de un vídeo:

Código: ffmpeg -i input_video .mp4 -vn output_audio .mp3

Este comando extraerá la pista de audio de input_video.mp4 y la guardará en output_audio.mp3 .

  1. Concatenar dos vídeos:

Código: ffmpeg -i input_video1 .mp4 -i input_video2 .mp4 -filter_complex concat output_video .mp4

Este comando concatenará input_video1.mp4 y input_video2.mp4 y guardará el resultado en output_video.mp4 .

  1. Añade una marca de agua a un vídeo:

Código: ffmpeg -i input_video .mp4 -i watermark.png -filter_complex «overlay=10:10» output_video .mp4

Este comando añadirá la imagen watermark.png a la esquina superior izquierda de input_video.mp4 con un desplazamiento de 10 píxeles y guardará el resultado en output_video.mp4 .

Estos son sólo algunos ejemplos de lo que se puede hacer con FFmpeg. También es posible utilizar FFmpeg en Android. Para más información, consulta tutoriales en línea, retransmisiones en vídeo o chatbots de IA como ChatGPT.

Logotipo de ffmpeg

¿Qué comandos de edición de vídeo son útiles en FFmpeg?

  1. Recorta un vídeo:

Código: ffmpeg -i input_video .mp4 -ss 00:00:05 -t 00:00:10 -c copy output_video .mp4

Este comando recortará input_video.mp4 para que comience en la marca de 5 segundos y termine después de 10 segundos, y guardará el resultado en output_video.mp4 .

  1. Añadir una imagen o un vídeo superpuesto a mi vídeo:

Código: ffmpeg -i input_video .mp4 -i overlay_image.png -filter_complex «overlay=10:10» output_video .mp4

Este comando añadirá el archivo overlay_image.png como una superposición a input_video.mp4 en las coordenadas (10, 10), y guardará el resultado en output_video.mp4 .

  1. Cambia la resolución de vídeo:

Código: ffmpeg -i input_video .mp4 -vf scale=1280:720 -c:a copy output_video .mp4

Este comando cambiará la resolución de input_video.mp4 a 1280×720 píxeles y guardará el resultado en output_video.mp4 .

  • Añade las opciones textfile y reload para dibujar texto:

Código: ffmpeg -i input.mp4 -vf «drawtext=fontfile=/path/to/font.ttf:textfile=text.txt:reload=1:fontcolor=white:fontsize=24:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2» -codec:a copy output.mp4

¿Cómo añadir texto a un vídeo con FFmpeg?

Para añadir texto a un vídeo con FFmpeg, utilice el filtro drawtext . El filtro drawtext permite especificar la fuente, el tamaño, el color y la posición del texto, entre otros parámetros.

He aquí un comando básico para añadir texto a un vídeo utilizando el filtro drawtext :

Código: ffmpeg -i input_video .mp4 -vf «drawtext=text=’Hello World’:fontfile=/path/to/font.ttf:fontsize=50:fontcolor=white:x=100:y=100» -codec:a copy output_video .mp4

En este comando:

  • -i input_video.mp4 especifica el archivo de vídeo de entrada.
  • -vf "drawtext=..." especifica el filtro de vídeo a aplicar, que en este caso es el filtro drawtext .
  • text='Hello World' especifica el texto que se añadirá al vídeo.
  • fontfile=/path/to/font.ttf especifica el archivo de fuentes a utilizar.
  • fontsize=50 especifica el tamaño de la fuente en puntos.
  • fontcolor=white especifica el color de la fuente.
  • x=100:y=100 especifica la posición del texto en el vídeo, con la esquina superior izquierda en (100, 100) píxeles.
  • -codec:a copy especifica que se copie el flujo de audio del vídeo de entrada al vídeo de salida sin recodificarlo.
  • output_video.mp4 especifica el archivo de vídeo de salida.

¿Qué es Fontfile?

La opción fontfile de FFmpeg se utiliza para especificar la ruta a un archivo de fuentes que se utilizará para representar texto en un vídeo o imagen.

Cuando utilices el filtro drawtext en FFmpeg para añadir texto a un vídeo, especifica la opción fontfile para elegir una fuente específica para el texto.

¿Cómo incluir fuentes en el comando FFmpeg sin utilizar la opción Fontfile?

Para utilizar una fuente en un comando FFMPEG sin especificar la opción fontfile, utilice una fuente instalada en el sistema.

A continuación se muestra un comando de ejemplo que utiliza una fuente instalada en el sistema:

Código: ffmpeg -i input_video .mp4 -vf «drawtext=text=’Hola Mundo’:fontcolor=white:x=100:y=100:font=Arial» -codec:a copy output_video .mp4

¿Qué es GitHub?

GitHub es una plataforma web que permite a los desarrolladores alojar y gestionar sus proyectos de software, colaborar con otros y seguir y gestionar los cambios en su código. Proporciona herramientas de control de versiones, seguimiento de incidencias, revisión de código y colaboración en equipo.

¿Cómo añadir texto «StackOverflow» con FFmpeg?

Código: ffmpeg -i input_video .mp4 -vf «drawtext=text=’StackOverflow’:fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100» -codec:a copy output_video .mp4

Esto es lo que hacen las distintas opciones de este comando:

  • -i input_video.mp4 especifica el archivo de vídeo de entrada.
  • -vf "drawtext=text='StackOverflow':fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100" configura el filtro de vídeo para dibujar el texto. Este comando dibuja el texto «StackOverflow» en el vídeo en las coordenadas (100, 100), utilizando un archivo de fuente ubicado en /path/to/font.ttf , con un tamaño de fuente de 30 y un color de fuente blanco.
  • -codec:a copy copia el flujo de audio del vídeo de entrada al vídeo de salida sin recodificarlo.
  • output_video.mp4 especifica el nombre del archivo de vídeo de salida.

¿Cómo mostrar códigos de tiempo o marcas de tiempo con el filtro Drawtext de FFmpeg?

Código: ffmpeg -i input_video .mp4 -filter_complex «drawtext=fontfile=/path/to/font.ttf:text=’%{pts/:hms}’:fontsize=24:fontcolor=white:x=10:y=10» -codec:a copy output_video .mp4

Esto es lo que hacen las distintas opciones de este comando:

  • -i input_video.mp4 especifica el archivo de vídeo de entrada.
  • -filter_complex le permite utilizar varios filtros en el mismo comando.
  • drawtext es el nombre del filtro.
  • fontfile=/path/to/font.ttf especifica la ruta del archivo de fuentes que queremos utilizar.
  • text='%{pts/:hms}' establece el texto que se mostrará. %{pts/:hms} es un marcador de posición que será sustituido por el código de tiempo actual en formato horas:minutos:segundos.
  • fontsize=24 establece el tamaño de la fuente en 24.
  • fontcolor=white establece el color de la fuente en blanco.
  • x=10 y y=10 fijan la posición del texto en el vídeo.
  • -codec:a copy copia el flujo de audio del vídeo de entrada al vídeo de salida sin recodificarlo.
  • output_video.mp4 especifica el nombre del archivo de salida.

Compartir publicación

Conversión de voz a texto

img

Transkriptor

Convierte tus archivos de audio y vídeo en texto