¿Cómo puedo saber si un vídeo tiene una velocidad de fotogramas variable?

¿Cómo puedo saber si un vídeo tiene una velocidad de fotogramas variable?

¿Cómo puedo saber si un vídeo tiene una velocidad de fotogramas variable? No necesito poder hacerlo mediante programación, simplemente no quiero tener que instalar algún programa de cientos de megabytes; por ejemplo, si pudiera hacerlo con VLC Media Player, sería perfecto.

Respuesta1

FFmpeg tiene un filtro vfrdet para este propósito.

ffmpeg -i in -vf vfrdet -an -f null -

En el registro, verá una lectura del formulario,

[Parsed_vfrdet_0 @ 0000000003d8fec0] VFR:0.833333 (50/10) min: 23 max: 291)

Un valor distinto de cero para VFR indica una secuencia vfr. El primer valor entre paréntesis es el número de fotogramas con una duración diferente a la duración esperada implícita en la velocidad de fotogramas detectada de la transmisión. El segundo valor es el número de fotogramas que tienen la duración esperada. El valor VFR es la relación entre el primer número y la suma de ambos.

Un par de advertencias: un valor muy bajo o muy alto indica algunos fotogramas erróneos con una duración no estándar, normalmente el primer y/o último fotograma. Estos pueden considerarse CFR para la mayoría de los propósitos. Un valor alrededor de 0,50 indica que la transmisión tiene una velocidad de fotogramas y/o una base de tiempo para la cual la duración hipotética del fotograma no se puede expresar exactamente en la base de tiempo de la transmisión, por lo que la aplicación que generó el archivo osciló la duración, por ejemplo, si una transmisión tiene una velocidad de 6 fps. y una base de tiempo de 1/100, entonces las marcas de tiempo ideales serían 0, 16.667, 33.334, 50.000, 66.667, 83.333, 100.000 para el primer segundo del video, pero las marcas de tiempo son números enteros, por lo que el muxer puede almacenar 0, 16, 34, 50, 67, 83, 100. Esto podría aparecer como una secuencia con un valor VFR de 0,5.

Respuesta2

Solo usa ffprobe

ffprobe -v quiet -print_format json -show_streams input

Y verifique el avg_frame_rateparámetro de la transmisión de video deseada. Si el valor de este parámetro es una fracción como esta

"avg_frame_rate": "1205285219/50270287"

con un denominador que no es 1, entonces el archivo de vídeo tiene una velocidad de fotogramas variable.

Si el valor es así

"avg_frame_rate": "25/1"

asegúrese de que la transmisión tenga una velocidad de fotogramas constante.

Respuesta3

uno puede usarInformación de los medios(5 MB, multiplataforma, tiene una versión portátil en Windows, gratuita) para saber si un vídeo tiene una velocidad de fotogramas variable:

ingrese la descripción de la imagen aquí

información relacionada