reproducir - ¿Cómo agregar una marca de agua transparente en el centro de un video con ffmpeg?
reproducir video con ffmpeg (1)
Ejemplos de imágenes de superposición / marca de agua en video:
Centrado
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 acortadas:
overlay=(W-w)/2:(H-h)/2
Arriba a la izquierda
Este es el más fácil porque el valor predeterminado, si no proporciona opciones para superposición, 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 acortadas:
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 acortadas:
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 acortadas:
overlay=5:H-h-5
Notas
El audio simplemente se copia en secuencia (remixado) en este ejemplo con
-codec:a copy
lugar de volver a codificarse. Es posible que deba volver a codificar según el formato del contenedor de salida.Consulte la documentación en el filtro de video
overlay
para obtener más información y ejemplos.Consulte la Guía de codificación de video H.264 de FFmpeg para obtener más información sobre cómo obtener una salida de buena calidad.
Si su imagen está superpuesta es el espacio de color RGB (como la mayoría de las imágenes PNG), puede ver una mejora visual si agrega
format=rbg
a su superposición. Tenga en cuenta que si hace esto y si está generando H.264, tendrá que agregarformat=yuv420p
(este es otro archivador; es diferente a la opción con el mismo nombre en el filtro de superposición). Por lo tanto, puede verse así:overlay=5:H-h-5:format=rgb,format=yuv420p
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 el centro de filigrana del video?