[FFmpeg-user] Decklink timestamp_align, what should it do?

Gyan Doshi ffmpeg at gyani.pro
Sun May 2 13:03:31 EEST 2021

On 2021-05-02 15:20, Bouke wrote:
>> On 2 May 2021, at 11:02, Marton Balint <cus at passwd.hu> wrote:
>> On Sun, 2 May 2021, Bouke wrote:
>>>  From the manual:
>>> 'timestamp_align
>>> Capture start time alignment in seconds. If set to nonzero, input frames are dropped till the system timestamp aligns with configured value
>>> Ok, when I put -timestamp_align in my command, it  does wait ‘a bit’ before starting capture.
>>> That’s what I’m after, but i have no clue how long it waits. It’s not a ‘wait X seconds’ for sure.
>> It waits until UTC modulo timestamp_align becomes 0. So for 60 it waits until a full minute boundary is reached.
> Ok, but what is ' UTC modulo’ ?
> If i enter 0, it starts capturing immediately, higher values do give ‘a’ delay, but it’s not predictable at all.
> (It’s off by a random value, up to 30% difference from what I expect…)

The actual check is to take the modulus of the system time with respect 
to timestamp_align.

If this modulus is less than one frame duration (inverse of framerate), 
then it starts capture.

So let's say timestamp_align is 0.5s and framerate is 25, so frame 
duration is 40ms.

If system time is 1000.40s, then modulus is 400ms which is greater than 
40ms, so capture doesn't start.
If it's 1000.53s, then modulus is 30ms, which is less than 40ms so 
capture is initiated.


More information about the ffmpeg-user mailing list