[FFmpeg-user] Is there something about inputting raw frames

pdr0 pdr0 at shaw.ca
Fri Feb 12 17:34:36 EET 2021


Mark Filipak (ffmpeg) wrote
>> Either way, cadence wise that's going to be worse in terms of smoothness
>> then an optical flow retimed 60000/1001 . (Some people would argue it's
>> worse period, you're retiming it and making it look like a soap opera...)
> 
> You know, I think that "soap opera" opinion is entirely bogus. In a movie
> theater, projectors are 
> triple shuttered. That essentially brings the frame rate up to 72fps with
> picture rate of 24pps (or, 
> if you include the times when the shutter is closed, 144fps). When some
> people see on a TV what they 
> would see in a cinema, they say it looks like a soap opera. It's not what
> they're used to seeing on 
> a TV. I think 60fps on a 60Hz TV looks much better, that it looks like
> reality. If you've been 
> following what I've been doing, you'll know that's been my objective all
> along. I'd hoped that 
> minterpolate would do it, but minterpolate makes too many errors. svpflow
> does a much better job and 
> it does it via GPU (so transcoding goes from 4 days to 14 hours). I'm
> pretty confident that going to 
> 48fps (instead of 60fps) and then adding a modulo-4 frame will speed up
> the transcode by about 40% 
> (to 8-1/2 hours -- an overnight job!).

It's ok to "like" one thing vs. another, that's why there are motion flow
TV's that use optical flow/motion interpolation on the fly, and judderless
TV's that have different refresh rates

"72fps" or "144fps" equivalent in a cinema is not the same thing - the
analogy would be the cinema is repeating frames, vs interpolating new
in-between frames on a motion flow TV. Actual film samples in the cinema are
still at 24.  A judderless TV looks like a theatre, because they have the
equivalent of repeating frames at 120Hz, 144Hz, 300Hz, etc... The motion
characteristics are the same for the judderless display and the cinema. 


Optical flow motion interpolation is generating new motion samples. It's
completely different. Soap operas are shot at 59.94fps , not 24fps. New
motion samples and (synthesized or real) high frame rate recording
completely change the look of the material. The other difference is shutter
speed of the acquisition camera. The faster the acquisition speed, usually
the higher the shutter speed and less motion blur. Synthesized interpolation
does not remove the motion blur with 24p acquisition, in fact it adds more
blur. Native 59.94p acquisition is "sharper" with  less motion blur

The live look or soap opera reality TV is ok for sports, reality TV, news,
but it changes the look of a theatrical movie shot at 24p. Motion
interpolated 59.94p looks completely different from the cinema, and that's
the issue many people have with it





>> Are you actually interested in workarounds and getting the job done, or
>> just
>> how to do this in ffmpeg?
> 
> Well, I guess I just want to get the job done. The linchpin is the added
> frame. What I want to do is 
> create a modulo-4, 1/60th second gap in the frames coming out of
> VapourSynth and filling it with a 
> checkerboard blend of the frames on either side of the gap -- essentially
> a blended decombing -- 
> with PTSs set to give 60/1.001fps. I realize that will produce a slight
> judder (1 frame in every 5 
> frames, but based on my experiments with minterplolate, that judder is
> *almost* imperceptible. If 
> shuffleframes proves to be the problem, I'll do a 3322telecine and
> checkerboard blend the combed 
> frame. I'll get where I want to go eventually. All the guesswork &
> discovery regarding how ffmpeg 
> filters work is just awfully tedious.
> 
>> If you just want it done, this is easier in avisynth because of the
>> InterleaveEvery function;
>> http://avisynth.nl/index.php/ApplyEvery#InterleaveEvery
> 
> Oh, my. Avisynth? 'InterleaveEvery', eh? That doesn't sound like what I
> want, but I'll check it out. 
> Thanks.

I  don't know why frames are being dropped with those ffmpeg filters, but
I'd like to figure out why

But in the meantime, if your ulitmate goal was smooth interpolation to
59.94, why not just use Interframe to generate 59.94 ? Earlier, you
mentioned speed - is that the reason ?

The "checkerboard  blend from the gap" -  If the 48000/1001 interpolated
stream is A,B,C,D,E , you want a frame inserted between D and E, that is
comprised of a "checkerboard blend" of D and E, for a resulting 60000/1001 ? 
It seems like a poor tradeoff for a small gain in speed. But InterleaveEvery
is one way of doing it





--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/


More information about the ffmpeg-user mailing list