Tengo un video mpeg4 a 25 fps. Este video contiene solo un marco estático. Estoy tratando de reducir la velocidad de cuadros a 1 fps y convertir el video a x246 (mp4).
Ejecuté el siguiente comando ffmpeg:
ffmpeg -i vid.avi -acodec aac -ar 32000 -ab 64k -ac 2 \
-vcodec libx264 -strict -2 -y -r 1 -force_key_frames 0 vid.mp4
FFmpeg luego suelta muchos cuadros hasta que inserta el primer fotograma clave. A veces la imagen aparece solo después de 16 o 20 segundos.
Supongo que ffmpeg no inserta un fotograma clave al principio.
¿Alguien sabe cómo podría tomar el primer fotograma de vid.avi y usarlo como fotograma clave para vid.mp4?
sí, lo intenté sin -force_key_frames 0 y con -force_key_frames 1, pero eso no ayudó. Estoy bastante atascado.
—
bodacydo
¿se requiere exactamente de esta manera? Voy a adivinar y asumir lo siguiente: el audio es el foco del video. La imagen no es una gran preocupación. Entonces, ¿no podría extraer un mp3 del video (calidad sin pérdidas, por supuesto) y luego, adquirir la imagen, tal vez incluso una captura de pantalla si está tan desesperado, luego crear un nuevo video en ffmpeg usando el mp3 extraído y la imagen con el fps establecido en 1?
—
Travis Crum
La sintaxis force_key_frames para usar el número de fotograma es
—
robado el
-force_key_frames "expr:eq(n,0)"
Estoy bastante seguro de que el problema raíz aquí era otra cosa. Los codificadores siempre comienzan con un fotograma clave.
—
Gyan
-force_key_frames 0
? También podría intentar cambiar el 0 a 1 para que comience en el primer fotograma-force_key_frames 1