¿Cómo agregar mi logo durante los primeros 30 segundos en un video con ffmpeg?

¿Cómo agregar mi logo durante los primeros 30 segundos en un video con ffmpeg?

Estoy intentando agregar mi logo durante los primeros 30 segundos en un video con ffmpeg. Tengo un video llamado d1.mp4y un logo llamado logo.png.

Cuando comienza el video, la marca de agua debe estar en la esquina superior izquierda o derecha del video y desaparecer después de 30 segundos.

¿Puedes mostrarme cómo agregarlo?

Respuesta1

ffmpeg -i in.mp4 -framerate 30000/1001 -loop 1 -i logo.png -filter_complex
  "[1:v] fade=out:st=30:d=1:alpha=1 [ov]; [0:v][ov] overlay=10:10 [v]" -map "[v]"
  -map 0:a -c:v libx264 -c:a copy -shortest out.mp4

Esto supone que el logotipo es una única imagen fija con un canal alfa y desea superponerlo sobre un vídeo con una velocidad de fotogramas de 30000/1001 (velocidad NTSC). Cambie el -frameratepara que coincida con su video de entrada si es diferente. Si su logotipo es un video, omítalo -framerate 30000/1001 -loop 1. Si el logotipo no tiene un canal alfa, agregue uno insertándolo, por ejemplo, format=yuva420p,inmediatamente antes fade.

Esto mostrará el logotipo en la posición x,y 10,10 durante 30 segundos seguido de un desvanecimiento de 1 segundo.

Respuesta2

Usandooverlayfiltro de vídeopara agregar un logotipo a un video:

ingrese la descripción de la imagen aquí

ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay" \
-codec:a copy out.mp4

Para entender este comando necesitas saber quéespecificador de flujoes y leyendo elIntroducción al filtrado FFmpegayudará. [0:v]se refiere a la(s) secuencia(s) de video de la primera entrada ( video.mp4) y [1:v]se refiere a la secuencia de video de la segunda entrada ( logo.mp4). Así es como puede saber overlayqué entradas utilizar. Puede omitirlo [0:v][1:v]y overlayseguirá funcionando, pero se recomienda ser explícito y no confiar en valores predeterminados posiblemente desconocidos.

Por defecto el logo se colocará en la parte superior izquierda.

usando -codec:a copyvoluntadcopia de flujoel audio. Esto simplemente vuelve a mezclar el audio en lugar de volver a codificarlo. Piense en ello como "copiar y pegar" del audio.

moviendo el logotipo

Este ejemplo moverá el logotipo 10 píxeles hacia la derecha y 10 píxeles hacia abajo: ingrese la descripción de la imagen aquí

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:

ingrese la descripción de la imagen aquí

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_wse refiere al ancho de la entrada "principal" (el fondo o [0:v]) y overlay_wse 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:10o overlay=220:10.

Cronometrar la superposición

Algunos filtros pueden manejaredición de línea de tiempoque le permite utilizarexpresiones aritméticaspara determinar cuándo se debe aplicar un filtro. Consulte ffmpeg -filterspara ver qué filtros admiten la edición de la línea de tiempo.

Este ejemplo mostrará el logo 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, consulteLa respuesta de mark4o.

información relacionada