[FFmpeg-user] Understanding ffprobe output
Carl Eugen Hoyos
ceffmpeg at gmail.com
Sat Nov 28 02:05:42 EET 2020
Am Fr., 27. Nov. 2020 um 19:50 Uhr schrieb Simon Roberts
<simon at dancingcloudservices.com>:
> I've been making video using the monitor outputs of a pair of Sony A6000
> cameras (bypassing the 30 minute limit while gaining other limitations). I
> take each camera's output through a splitter, one side goes to a monitor,
> and the other to the recording machine.
> One camera feeds to a monitor that's only capable of a 60 Hz vertical. The
> monitor just says "1080 at 60 Hz". The other camera feeds a different type of
> monitor that runs at 30 Hz vertical. (Note, I don't really know what
> "vertical" means, frame? field? can't tell. I also don't know if the higher
> rate one is running interlaced. I have some vague recollection that I had
> noticed hints that it's progressive, but I don't recall what those hints
Just compare the depth of the screen with its diameter;-)
(Only CRT's know about fields.)
> Anway, everything works, and the recordings are fine. But I noticed that
> the file size for the "60 Hz" camera was nearly double that of the other
> camera. Both cameras have identical settings internally, and are actually
> set at 1080p output.
The bit rate shown in ffprobe's output confirm what you write here, I
believe there is an endless number of reasons why the cameras
produce streams with different bitrates.
> But these are the outputs of ffprobe on two files made side by side,
> "mostly" at a static green screen. The first is the one made with the
> higher vertical rate, and the second with the 30 Hz screen. I see the
> bitrate difference that correlates to the file sizes, but to my uneducated
> eyes they both claim to be "30 fps" (whatever that means--fields? frames?
> fairies--I'm certainly doubting my basic knowledge here! :) both say
> "progressive" and I see no other differences.
ffprobe has limitations, including some that are unavoidable.
If you want to know the average framerate of a video, run the following:
$ ffmpeg -i input -f null -
And look at the number of frames and the runtime of the stream.
More information about the ffmpeg-user