[FFmpeg-user] Why are PTS values different from what's expected?

Mark Filipak (ffmpeg) markfilipak at bog.us
Thu Apr 1 22:18:14 EEST 2021

On 2021-04-01 13:40, pdr0 wrote:
> Mark Filipak (ffmpeg) wrote
>> What I'm trying to do is make a 120000/1001fps cfr in which each frame is
>> a proportionally weighted
>> pixel mix of the 24 picture-per-second original:
>> I'm sure it would be way better than standard telecine -- zero judder --
>> and I'm pretty sure it
>> would be so close to motion vector interpolation that any difference would
>> be imperceptible. I'm
>> also sure that it would be a much faster process than mvinterpolate. The
>> only question would be
>> resulting file size (though I think they would be very close).
> Is this 120000/1001 CFR intended for a 60Hz display? Do you decimate by 2 to
> make it 60000/1001 after ?
> "proportionally weighted pixel mix" it sounds like a standard frame blended
> conversion . eg. You drop a 23.976p asset on a 120000/1001fps timeline in a
> NLE and enable frame blending. Or in avisynth it would be
> ConvertFPS(120000,1001)
> This zip file example has the original 24000/1001, weighted frame blending
> to 120000/1001, and decimation to 60000/1001 - is this something close to
> what you had in mind ?
> https://www.mediafire.com/file/qj819m3vctx4o4q/blends_example.zip/file

Thanks for that (...I wish I knew how you are making those...).
convertfps_119.88(blends).mp4 actually looks to be the better choice for my 60Hz TV -- the TV is 
interpolating well -- but I think the weighting could be tweaked (which is something I planned to do 
once my filter complex was working properly).

> The "textbook" fps conversion categories are 1) duplicates 2) blends 3)
> optical flow (such as minterpolate) . Each has various pros/cons

Well, the biggest con is 3+ days to convert a 2 hour movie. Otherwise, InterFrame running in 
VapourSynth can't be beat I guess.

The rest of your reply (below) is the subject of my reply to your previous post, so I'll copy the 
below to my reply (which was in preparation as 'this' came into my email client).

Thanks, pdr0. I'm glad you're here.

> For what you are considering (blends), the frames will be "evenly spaced" in
> time - technically less judder -  but there will be "strobing" and blurry
> loss of quality (frame blending). Every 5th frame is an "original" frame,
> original quality that "snaps" into view. What some people do to reduce that
> is offset the timing (resample all frames, instead of keeping every 5th
> original), to reduce that jarring effect; same with optical flow - resample
> all frames instead of keeping T=0.0 (shift to T=0.1)
> The "best" is to get a 120Hz/300Hz judder free display :) And if you're in
> that group that likes motion interpolation,  a motion interpolation display

More information about the ffmpeg-user mailing list