¿Cómo agregar una marca de agua transparente en el centro de un video con ffmpeg?

Resuelto mirza asked hace 12 años • 1 respuestas

Actualmente estoy usando estos comandos:

Top left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv

Top right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv

Bottom left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv

Bottom right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=(main_w-overlay_w-10)/2:(main_h-overlay_h-10)/2 [out]" outputvideo.flv

¿Cómo colocar una marca de agua en el centro del vídeo?

mirza avatar Jun 07 '12 00:06 mirza
Aceptado

Ejemplos para agregar una marca de agua/imagen de logotipo en un video usando el filtro de superposición .

Centrado

ingrese la descripción de la imagen aquí

ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -codec:a copy output.mp4

o con las opciones de superposición abreviadas:

overlay=(W-w)/2:(H-h)/2

Arriba a la izquierda

Esta es la más fácil porque la opción predeterminada, si no proporcionas opciones para superponer, es colocar la imagen en la parte superior izquierda.

Este ejemplo agrega 5 píxeles de relleno para que la imagen no toque los bordes:

overlay=5:5

Parte superior derecha

Con 5 píxeles de relleno:

overlay=main_w-overlay_w-5:5

o con las opciones abreviadas:

overlay=W-w-5:5

Abajo a la derecha

Con 5 píxeles de relleno:

overlay=main_w-overlay_w-5:main_h-overlay_h-5

o con las opciones abreviadas:

overlay=W-w-5:H-h-5

Abajo a la izquierda

Con 5 píxeles de relleno:

overlay=5:main_h-overlay_h

o con las opciones abreviadas:

overlay=5:H-h-5

Transparencia / opacidad / alfa

Ejemplo para hacer que la marca de agua sea 50% transparente usando los filtros de formato y colorchannelmixer :

ffmpeg -i input.mp4 -i watermark.jpg -filter_complex "[1]format=rgba,colorchannelmixer=aa=0.5[logo];[0][logo]overlay=(W-w)/2:(H-h)/2:format=auto,format=yuv420p" -c:a copy output.mp4

Calidad mejorada

Usar la format=autoopción en el filtro de superposición puede hacer que las marcas de agua PNG se vean mejor:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=5:H-h-5:format=auto,format=yuv420p" -c:a copy output.mp4

Tenga en cuenta la adición del filtro de formato (sí, el mismo nombre que la opción, pero un filtro independiente) para restablecerlo a YUV 4:2:0, que es necesario para la salida MP4. Elimínelo ,format=yuv420psi no está generando MP4.

Escalar la marca de agua en relación con el vídeo principal

Utilice el filtro scale2ref :

Ejemplo para hacer un logo del 10% (1/10) del tamaño del video principal:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo][video];[video][logo]overlay=5:H-h-5" -c:a copy output.mp4
llogan avatar Jun 06 '2012 19:06 llogan