Am 28.08.2020 um 11:25 schrieb Edward Park:
Hello,

I am not confident about this info but I've always thought the timebase is usually the 
reciprocal of the framerate *or smaller*. As in, the duration of a frame can be 
represented accurately enough as the difference between the timestamps, which aren't 
counted using seconds, but "ticks" in whatever timebase. So smaller fractions 
could be used as the timebase as long as the system is capable, and on the other hand, 
when you create low-fps video like 4fps, obviously the timebase isn't going to be 1/4, 
it'll probably have the same timebase as any other export. (I think of it as an analog 
wall clock, except it doesn't go tick-tock every second, it goes tick-tock every 1/90000 
seconds.)

Actually, I think for the codec timebase, it is more common for it to be 1/2 
the reciprocal of the frame rate; if that's codec-specific, I don't know why 
that is. Maybe you've also seen some setpts examples where you divide/multiply 
something by 2 for some arcane reason? Hopefully someone can explain further..

When you delay some frames by whatever amount, it necessarily effects a change 
in the frame rate (but not the timebase). I'm not sure where the FR value for 
setpts comes from, maybe it wouldn't matter if it stays the same as the nominal 
framerate if indicated by the media, but if it is something that can change, 
maybe the effective rate at the end of the chain, obviously it wouldn't work as 
expected.

Just for the sake of curiosity, what has you looking to delay frames using 
setpts? I feel there are easier methods.

Let's assume the framerate is constant. For example, I want to delay a video by 5 frames and then hstack the original video and the delayed version:

ffmpeg -i test.mp4 -vf "split[a][b];[b]setpts=PTS+5/(FR*TB)[c];[a][c]hstack" -y out.mp4

Are there other / better / easier methods to do the same thing?

Michael

_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to