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í.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

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

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *