[FFmpeg-user] What the 'fps' video filter does. [was: Re: Matroska (.mkv) time resolution [was: Re: How can I force a 360kHz time base? ] ]

Mark Filipak (ffmpeg) markfilipak at bog.us
Sat Feb 27 21:06:16 EET 2021


On 2021-02-27 11:46, Jim DeLaHunt wrote:
> On 2021-02-27 01:45, Mark Filipak (ffmpeg) wrote:
> 
>> I thought that 'fps' just changes the 'frame_rate_code' metadata.
> 
> Not at all. Read [1] for part of the story of what the `fps` video filter actually does: "Convert 
> the video to specified constant frame rate by duplicating or dropping frames as necessary.…"

Oh, I'm sorry. Of course. I use 'fps' just to get the frame rate stabilized. I'd never do such a 
brutal thing as to actually duplicate or discard whole frames, so I forgot that aspect. Thanks.

> Read [2] for more of the story: "Make a new video from the frames and presentation time stamps 
> (PTSs) of the input. The new video has a specified constant frame rate, and new PTSs. It generally 
> keeps frames from the old video, but might repeat or drop some frames. You can choose the method for 
> rounding from input PTS to output PTS. This affects which frames fps keeps, repeats, or drops.…"
> 
> [1] http://ffmpeg.org/ffmpeg-all.html#fps-1
> 
> [2] http://blog.jdlh.com/en/2020/04/30/ffmpeg-fps-documented/

[2] Jim, that's wonderful. When I think of the work you put into it my head swims. May I contribute 
this small bit?

Re: "If the input frame PTS converts to an output PTS later than the current output PTS, fps repeats 
the previously output frame as the current frame."

"If the next input PTS converts to an output PTS that is later than anticipated, i.e. if there is a 
PTS gap, then 'fps' repeats the previous frame to fill the gap."

I didn't know you have a blog. I've bookmarked it, and I'm going to crawl through it on my hands and 
knees.

-- 
In U.S. History: The House Un-American Activities Committee was a committee of the House of 
Representatives that engaged in un-American activities.


More information about the ffmpeg-user mailing list