Uso del overlay
filtro de video para agregar un logotipo a un video:
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay" \
-codec:a copy out.mp4
Para comprender este comando, necesita saber qué es un especificador de flujo y leer la Introducción al filtrado FFmpeg será de gran ayuda. [0:v]
se refiere a la transmisión de video de la primera entrada ( video.mp4
), y se [1:v]
refiere a la transmisión de video de la segunda entrada ( logo.mp4
). Así es como puede saber overlay
qué entradas usar. Puede omitir [0:v][1:v]
, y overlay
seguirá funcionando, pero se recomienda que sea explícito y no dependa de valores predeterminados posiblemente desconocidos.
Por defecto, el logotipo se colocará en la esquina superior izquierda.
El uso -codec:a copy
será transmitir copiar el audio. Esto simplemente vuelve a silenciar el audio en lugar de volver a codificarlo. Piense en ello como un "copiar y pegar" del audio.
Moviendo el logo
Este ejemplo moverá el logotipo 10 píxeles hacia la derecha y 10 píxeles hacia abajo:
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=10:10" \
-codec:a copy out.mp4
Este ejemplo moverá el logotipo 10 píxeles desde el lado derecho y 10 píxeles hacia abajo:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=main_w-overlay_w-10:10" -codec:a copy out.mp4
main_w
se refiere al ancho de la entrada "principal" (el fondo o [0:v]
), y se overlay_w
refiere al ancho de la entrada "superpuesta" (el logotipo o [1:v]
). Entonces, en el ejemplo, esto se puede traducir a overlay=320-90-10:10
o overlay=220:10
.
Momento de la superposición
Algunos filtros pueden manejar la edición de la línea de tiempo que le permite usar expresiones aritméticas para determinar cuándo se debe aplicar un filtro. Consulte para ffmpeg -filters
ver qué filtros admiten la edición de la línea de tiempo.
Este ejemplo mostrará el logotipo hasta 30 segundos:
ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=10:10:enable=between(t\,0\,30)" -codec:a copy out.mp4
Si desea desvanecer el logotipo, consulte la respuesta de mark4o .