Como posso saber se um vídeo tem uma taxa de quadros variável? Não preciso fazer isso programaticamente, só não quero instalar algum programa com centenas de megabytes; por exemplo, se eu pudesse fazer isso com o VLC Media Player, seria perfeito.
Responder1
O FFmpeg possui um filtro vfrdet para essa finalidade.
ffmpeg -i in -vf vfrdet -an -f null -
No log, você verá uma leitura do formulário,
[Parsed_vfrdet_0 @ 0000000003d8fec0] VFR:0.833333 (50/10) min: 23 max: 291)
Um valor diferente de zero para VFR indica um fluxo VFR. O primeiro valor entre colchetes é o número de quadros com duração diferente da duração esperada implícita na taxa de quadros detectada do fluxo. O segundo valor é o número de frames com a duração esperada. O valor VFR é a razão entre o primeiro número e a soma de ambos.
Algumas advertências: um valor muito baixo ou muito alto indica alguns quadros errantes com duração fora do padrão, geralmente o primeiro e/ou último quadro. Estes podem ser considerados CFR para a maioria dos propósitos. Um valor em torno de 0,50 indica que o fluxo tem uma taxa de quadros e/ou base de tempo para a qual a duração do quadro nocional não pode ser expressa exatamente na base de tempo do fluxo, portanto, o aplicativo que gerou o arquivo oscilou a duração, por exemplo, se um fluxo tiver um fps de 6 e uma base de tempo de 1/100, então os carimbos de data e hora ideais seriam 0, 16,667, 33,334, 50,000, 66,667, 83,333, 100,000 para o primeiro segundo de vídeo, mas os carimbos de data e hora são inteiros, então o muxer pode armazenar 0, 16, 34, 50, 67, 83, 100. Isso pode aparecer como um fluxo com valor VFR de 0,5
Responder2
Basta usar ffprobe
ffprobe -v quiet -print_format json -show_streams input
E verifique o avg_frame_rate
parâmetro do stream de vídeo desejado. Se o valor deste parâmetro for uma fração como esta
"avg_frame_rate": "1205285219/50270287"
com um denominador diferente de 1, o arquivo de vídeo terá uma taxa de quadros variável.
Se o valor for assim
"avg_frame_rate": "25/1"
certifique-se de que o stream tenha uma taxa de quadros constante.
Responder3
Pode-se usarInformações de mídia(5 MB, plataforma cruzada, tem versão portátil no Windows, grátis) para saber se um vídeo tem taxa de quadros variável: