Uso FFmpeg para extraer un fotograma clave en el 3er minuto. Esto significa que es el marco 3 * 60 * 25 (suponiendo 25 FPS). Ahora, a menudo este marco no es un fotograma clave.
Quiero extraer un cuadro más cercano al cuadro anterior pero asegurarme de que sea un fotograma clave. Esto significa que el cuadro puede ocurrir unos segundos antes o después del tercer minuto del video.
¡He buscado por todas partes sin suerte! Estoy haciendo esto en Linux, así que si estás usando un FFmpeg con algo especialmente instalado o incluido, ¡házmelo saber!

PICT_TYPE_IaI), y funcionó ahora como se esperaba, +1 de todos modos (Si supone que el cuadro I más cercano a 00:03:00 aparece antes de esa marca de tiempo, tendrá que adivinar, ya que la longitud del GOP (el número de cuadros entre cada cuadro I) no es la misma para cada video Si conoce la longitud de su GOP, por ejemplo, 125 cuadros, comience 5 segundos antes de eso, a las 00:02:55, por ejemplo.
Tenga en cuenta que esto no tiene que ser una longitud fija. Los buenos codificadores colocarán un cuadro I en los cortes de escena en lugar de puntos fijos para lograr una mejor compresión y confiabilidad.
Entonces, cambiemos la entrada por la cantidad de tiempo que calculamos antes, usando
-itsoffset.Especificamos el
selectfiltro para obtener solo fotogramas I y-vframespara recibir solo un fotograma. Finalmente, escribe eso en un.jpgarchivo.Probé esto con un video que originalmente tenía un cuadro P a las 00:03:00, y recibí el cuadro 13 después de eso, que es el comienzo de una nueva escena: un cuadro I.
fuente