¿Cómo puedo generar un video con un solo color sólido que cambia a intervalos con FFMPEG?

¿Cómo puedo generar un video con un solo color sólido que cambia a intervalos con FFMPEG?

Para fines de prueba, quiero generar un video que cambie entre un color negro sólido y un color blanco sólido en cada cuadro a 10 fps. ¿Cómo puedo hacer esto usando FFMPEG?

Respuesta1

La respuesta simplista es "dedicar 3 horas a estudiar cómo funcionan los filtros ffmpeg": lo que hice hoy por diversión, así que utilicé esta pregunta como un desafío.

Parece que hay varias formas de obtener el resultado, pero esta es la que funcionó para mí:

  1. Genere una imagen en negro y una imagen en blanco, nombrándolas img-001.pngy img-002.png.

  2. Utilice ffmpegla -loopfunción, de la que aprendíesta respuesta es solo para trabajos de imagen a video

Generando imágenes:

ffmpeg -f lavfi -i color=black:1920x1080:d=3,format=rgb24 -frames:v 1 -y img-001.png

ffmpeg -f lavfi -i color=white:1920x1080:d=3,format=rgb24 -frames:v 1 -y img-002.png

Repita esas imágenes durante 30 segundos a 10 fps:

ffmpeg -loop 1 -i 'img-%03d.png' -r 10 -t 30 -vf format=yuv420p -y out.mp4

ffprobeinforma estos metadatos:

(edited for clarity)
Duration: 00:00:30.00, start: 0.000000, 
Video: h264 (High) yuv420p
1920x1080 [SAR 1:1 DAR 16:9], 20 kb/s, 10 fps

Esta esencia tiene otro enfoque.que usa filter_complex. Aunque no hace exactamente lo mismo, podría adaptarse para esta tarea.

información relacionada