[FFmpeg-user] repeat a frame

Mark Filipak (ffmpeg) markfilipak at bog.us
Tue Mar 2 21:47:55 EET 2021


On 2021-03-02 13:31, Carl Eugen Hoyos wrote:
> Am Di., 2. März 2021 um 17:50 Uhr schrieb Mark Filipak (ffmpeg)
> <markfilipak at bog.us>:
>>
>> I've searched the docs one-by-one. I seek a simpler way to repeat a frame.
> 
> Increase the frame rate, either with the fps filter or the ffmpeg option "-r".
> They differ in their greediness and verbosity on the status line.

Thank you, Carl Eugen, I have noted that reality.

Since I've assumed that AVFrame *is* the format of the frames in the filter pipeline (and therefore 
int64_t), and based on an assumption that TB is also 64 bits, I've adopted TB = 1/(720000 ticks/s)...

...so, for a 24fps CFR INPUT to a 24fps CFR OUTPUT for example,

ffmpeg -i INPUT -vf settb=expr=1/720000,setpts=N*30000...setpts=N/24/TB,fps=24 OUTPUT

sets a high resolution TB in the pipeline. With 'settb=expr=1/720000,setpts=N*30000' to prep the 
pipeline, and 'setpts=N/24/TB,fps=24' to terminate the pipeline, I've been doing temporally-perfect 
manipulations of frames and fields that don't produce VFR in the encoder.


More information about the ffmpeg-user mailing list