Este es un error en VLC (que todavía existe en la versión 3.0.6). Después de algunos experimentos, me di cuenta de que VLC se bloquea para videos con FPS de menos de 10 . Entonces, todos los videos con 10 FPS o más no deberían ser un problema. Por lo tanto, actualmente no hay una forma limpia de obtener un video con 1 FPS que se pueda reproducir en VLC ( no te rindas, sigue leyendo ).
Una solución alternativa es, como se muestra en la respuesta anterior, simular el efecto de 1 FPS duplicando las imágenes (cuando en realidad tenemos un FPS igual a 10 o más, lo cual está bien para VLC).
Ejemplo: si tiene una carpeta con 12 imágenes y desea generar un video con 1 FPS (que se puede reproducir en VLC), debe duplicar cada imagen varias veces (digamos 10 veces) y luego decirle a FFMPEG para generar un video de 10 FPS. De esta forma, obtendremos un video con un total de cuadros de 120, donde cada imagen se reproducirá durante 1 segundo (ya que se duplica 10 veces), lo cual es simplemente falso para 1 FPS.
Prefiero usar el fps
parámetro en lugar de-r
(que se muestra en otra respuesta), que en algunos casos puede ser problemático (de acuerdo con la documentación oficial ).
ffmpeg -framerate 1 -i "img (%d).jpg" -c:v libvpx-vp9 -vf "fps=10,format=yuv420p" out.mkv
Como la entrada -framerate
es más baja que la salida fps
, FFMPEG duplicará fotogramas para alcanzar la velocidad de fotogramas de salida deseada (que es 10 según el comando anterior).
También es importante notar que el orden de -framerate
y -vf fps
es importante , ya que esta configuración se aplicará al siguiente video (entrada o salida) mencionado. Eso es de acuerdo con los documentos oficiales :
Las opciones se aplican al siguiente archivo especificado. Por lo tanto, el orden es importante ...
ffmpeg
es lo suficientemente inteligente como para saber el códec de vídeo sólo de la extensión del archivo de formato contenedor,.mp4
. Intente agregar-vcodec libx264 -vpre hq
a la línea de comando, para indicarle el códec y los parámetros de codificación.