tutorial - FFMPEG: ¿Puedes superponer parte de un video con un par de imágenes?
ffmpeg ubuntu (4)
Necesito agregar un video de superposición y me preguntaba si hay una manera fácil de hacerlo con FFMPEG.
Tengo una serie de imágenes (un banner y un retrato) que me gustaría superponer en la parte inferior de mi video durante una parte del video. Por ejemplo, después de unos 5 segundos me gustaría que aparezca la superposición, y luego unos 5 segundos antes del final del video Me gustaría que la superposición desaparezca.
¿Es esto posible usar las opciones de línea de comando de FFMPEG?
Con FFMpeg superponiendo imágenes usando la línea de comandos, la forma más poderosa y elegante de hacer esto es con una herramienta llamada AVISynth .
Aquí hay algunos ejemplos simples, uno de los cuales superpone un video sobre otro (superponer una imagen es un subconjunto de esto):
http://avisynth.org/mediawiki/Script_examples
Te preguntarás, ¿qué diablos es esta herramienta? Así es como funciona conceptualmente:
Primero, crea un documento de texto simple con comandos especiales, llamado script. Estos comandos hacen referencia a uno o más videos y los filtros que desea ejecutar en ellos. Luego, ejecuta una aplicación de video, como FFMPeg, y pasa el archivo de script en la línea de comando. Esto es cuando AviSynth toma acción. Abre los videos a los que hizo referencia en el script, ejecuta los filtros especificados y alimenta la salida a la aplicación de video. La aplicación, sin embargo, no sabe que AviSynth está trabajando en segundo plano. En cambio, la aplicación cree que está abriendo directamente un archivo AVI filtrado que reside en su disco duro.
Lo que está buscando es muy simple con AVISynth, pero puede escalar para hacer videos como este sitio, donde muchas fotos, texto y efectos se colocan en videos. Todos los videos en este sitio de tarjetas electrónicas se crean con FFMpeg y AVISynth: http://www.hdgreetings.com
Puede parecer un poco diferente, pero una vez que obtienes un script simple funcionando, inmediatamente reconoces que esta es una de las mejores herramientas de video jamás creada. Y es gratis, por supuesto.
Dependiendo de la plataforma que esté utilizando, tal vez solo pueda reproducir el video y luego crear una ventana X con la imagen sobre el video. Mientras reproduce el video, puede usar ffmpeg para grabar la ventana X con el video reproduciéndose en segundo plano y la imagen en primer plano.
Es un completo truco, pero lo estoy tirando por ahí.
FFMPEG puede superponer imágenes a través de un video en cualquier momento del video.
ffmpeg -i video -i image1 -i image2 -i image3
-filter_complex
"[0][1]overlay=x=X:y=Y:enable=''between(t,23,27)''[v1];
[v1][2]overlay=x=X:y=Y:enable=''between(t,44,61)''[v2];
[v2][3]overlay=x=X:y=Y:enable=''gt(t,112)''[v3]"
-map "[v3]" -map 0:a out.mp4
Consulte esta publicación para obtener más información: FFMPEG : ¿es posible superponer varias imágenes en un video a intervalos específicos?
ffmpeg no permite ese tipo de manipulación de imágenes. Sin embargo, tal vez tengas suerte.
Ya que tendrá que descomprimir el video de todos modos, puede usar ffmpeg para crear imágenes RAW en el disco, superponer imágenes con alguna utilidad (la aplicación simple c # haría el truco), y usar ffmpeg para crear otro video con el deseado (o lo mismo que fuente ) parámetros.
Para hacer superposiciones, probablemente pueda usar GIMP: http://www.gimp.org/tutorials/Basic_Batch/, ya que es una herramienta multiplataforma que se puede usar en un modo por lotes (línea de comando).