我有一个视频文件,我想获取其中的视频帧数。我可以ffmpeg用来获取视频的长度和 FPS。但是,对于总帧数,我看不到任何明显的东西。
从理论上讲,应该能够将长度(以秒为单位)乘以 FPS 以获得帧数,但在这种情况下,长度(34.43 秒)和帧速率(29.97 fps)给出了一个非整数,这让我认为我做错了什么。
我需要能够以完全自动化和非图形方式在命令行上执行此操作。我还需要这个非常准确,而不是估计(如果视频文件甚至可能)
我尝试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] …Run Code Online (Sandbox Code Playgroud)