У меня есть видеофайл, и я хочу получить количество видеокадров в нем. Я могу использовать ffmpeg
чтобы получить длину видео и FPS. Однако я не вижу ничего очевидного для общего количества кадров.
Теоретически можно умножить длину (в секундах) на FPS, чтобы получить количество кадров, но в этом случае длина (34,43 секунды) и частота кадров (29,97 кадров в секунду) дают нецелое число, что делает меня кажется, я делаю что-то не так
Я должен быть в состоянии сделать это в командной строке полностью автоматизированным и неграфическим способом. Мне также нужно, чтобы это было довольно точно, а не оценка (если это возможно даже с видеофайлами)
Я пытался использовать tcprobe
на некоторых файлах. Для некоторых файлов AVI это работает, но для некоторых файлов VOB вывод tcprobe не имеет количества кадров. Я получаю этот вывод:
[tcprobe] MPEG program stream (PS)
[tcprobe] summary for myfile.vob, (*) = not default, 0 = not detected
import frame size: -g 720x480 [720x576] (*)
aspect ratio: 4:3 (*)
frame rate: -f 29.970 [25.000] frc=4 (*)
PTS=2199.3972, frame_time=33ms bitrate=7000 kbps
audio track: -a 0 [0] -e 48000,16,5 [48000,16,2] -n 0x2000 [0x2000] (*)
PTS=2199.2763, bitrate=192 kbps
-D 3 --av_fine_ms 20 (frames & ms) [0] [0]