[FFmpeg-user] Replacing stream input when using segment time option

Moritz Barsnick barsnick at gmx.net
Fri Oct 16 12:16:08 EEST 2020

Hi James,

On Fri, Oct 16, 2020 at 03:11:36 -0500, jamesfowkes wrote:
> Further to this, I've managed to get a still frame to record into timestamped
> segments using:
> ffmpeg -loop 1 -i frame.png -reset_timestamps 1 -vcodec libx264 -f segment
> -segment_time 60 -strftime 1 +%Y-%m-%d_%H-%M-%S.mp4
> But while the segments are 60 seconds of wallclock time long, they are
> record much faster than that, taking (on my laptop) about 30 seconds to
> actually record, meaning I have ~120 seconds of video every 60 seconds of
> elapsed wallclock time.

That means you want your segments to not be finished too early? Is that
really a requirement?

> If I add the "-re" and "-vsync  0" options:

Why did you add the vsync option? What did it change (without "-re")?

> The speed is just slightly lower than 1x (around 0.98x), resulting in very
> slightly truncated files. This is no so much of an issue, but again would be
> good to solve.

I don't see why this should not hit 1.0x, except for slight variations.
You could try the "realtime" filter instead of "-re". It defaults to
1.0x and might hit more precisely. If not, you can manipulate it with
its "speed" parameter, e.g. "-vf realtime=speed=1.01".


More information about the ffmpeg-user mailing list