Marca de agua con ffmpeg sobre vídeo

Introducción

Hoy veremos cómo podemos agregar, a un vídeo, una marca de agua con ffmpeg. Ffmpeg es una herramienta que funciona para múltiples cosas, como cortar un vídeo, unir 2 vídeos, etcétera.

Lo que explicaré en este post es cómo podemos agregar una imagen a un vídeo MP4 como marca de agua en cualquier posición del vídeo (centro, esquina, etcétera).

Agregar marca de agua con ffmpeg

Lo que hacemos es poner la imagen encima del vídeo.

Suponiendo que nuestra imagen es marca_de_agua.png, el vídeo se llama video.mp4 el comando quedaría así y sacaría un nuevo vídeo llamado video_con_marca.mp4:

ffmpeg -i video.mp4 -i marca_de_agua.png -filter_complex "overlay=1:1" video_con_marca.mp4

Eso fue un comando rápido pero analicemos las opciones más importantes. Como vemos, ponemos overlay=1:1 eso indica la posición de la imagen sobre el vídeo en X y Y.

Así que con 1:1 la imagen estará a un pixel de distancia de la izquierda y a un pixel de distancia de la parte superior; esto es la esquina superior izquierda.

Variables

ffmpeg proporciona algunas variables que podemos usar. Son:

  • main_h: la altura del vídeo
  • main_w: la anchura del vídeo
  • overlay_h: la altura de nuestra imagen
  • overlay_w: la anchura de nuestra imagen

Cómo centrar la marca de agua

Nos ayudamos de las variables. Para centrar horizontalmente restamos main_w menos overlay_w y dividimos entre 2.

Lo mismo para centrar verticalmente. Entonces el comando para centrar una imagen quedaría así:

ffmpeg -i video.mp4 -i marca_de_agua.png -filter_complex "overlay=x=(main_w-overlay_w)/2:y=(main_h-overlay_h)/2" video_con_marca.mp4

Marca de agua en la parte inferior derecha

Igualmente utilizamos las variables, sólo que ahora no dividimos, sólo restamos. El comando quedaría así:

ffmpeg -i video.mp4 -i marca_de_agua.png -filter_complex "overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)" video_con_marca.mp4

Con eso nuestra marca de agua quedaría en la parte inferior derecha.

Notas

La imagen medirá lo que mida, este comando no redimensiona nada

La imagen debe ser transparente, y tal vez con una opacidad baja. Si quieres saber cómo bajar la opacidad a una imagen haz click aquí.

Recuerda visitar el sitio oficial de ffmpeg aquí.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

2 comentarios en “Marca de agua con ffmpeg sobre vídeo”

  1. Hola, ya apliqué las órdenes y todo salió bien pero me surgieron unas dudas.
    1) ¿Como consigo que la marca de agua aparezca en un punto y desaparezca unos segundos después?
    2) Y si deseo que la marca de agua aparezca en un punto durante varios segundos para que luego se desvanezca y posteriormente vuelva a aparecer en otro ponto y vuelva a desvanecerse, ¿ como se le hace?

Dejar un comentario