Puede hacer una superposición de imágenes simple utilizando la siguiente sintaxis:
ffmpeg -i input.mp4 -i image.png \
-filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,20)'" \
-pix_fmt yuv420p -c:a copy \
output.mp4
overlay=25:25
significa que queremos colocar la imagen 25px a la derecha y 25px hacia abajo, originando desde la esquina superior izquierda (0: 0).
enable='between(t,0,20)'
significa que queremos que la imagen se muestre entre los segundos 0 y 20.
[0:v][1:v]
significa que queremos que el primer archivo de video con el que importamos -i
, en nuestro caso input.mp4 o cómo ffmpeg lo ve el archivo de entrada de video número 0, esté debajo del archivo de entrada de video 1, en nuestro caso image.png. :v
solo significa que queremos el video 0 y el video 1. [0:a]
significaría que queremos la primera pista de audio importada. Que también vendría de input.mp4 pero apuntaría a la pista de audio en lugar de la pista de video en el archivo mp4.
Si desea una determinada calidad / configuración de imagen y no la configuración que ffmpeg elige, agregue la imagen y / o las opciones de codificación de audio que desea utilizar. El codificador de video predeterminado será x264. Consulte la guía de codificación H.264 para ver las posibles configuraciones.
El -acodec copy
/ -c:a copy
que tiene en su comando fe simplemente reutilizaría el audio del archivo fuente. Aunque no puede hacer eso con el video, por supuesto (en este caso), eso tiene que ser transcodificado porque estamos creando una nueva fuente de video.
Si desea transcodificar audio, elimine la -c:a copy
parte. Puede que tenga que especificar explícitamente un codificador, por ejemplo -c:a aac -strict experimental
. Consulte la guía de codificación AAC para obtener más información.