[FFmpeg-devel] [PATCH v2 2/2] ffmpeg: add option -isync

Gyan Doshi ffmpeg at gyani.pro
Sat Jul 2 12:51:53 EEST 2022



On 2022-07-02 02:12 pm, Anton Khirnov wrote:
> Quoting Gyan Doshi (2022-07-01 13:03:04)
>>
>> On 2022-07-01 03:33 pm, Anton Khirnov wrote:
>>> Quoting Gyan Doshi (2022-06-25 10:29:51)
>>>> This is a per-file input option that adjusts an input's timestamps
>>>> with reference to another input, so that emitted packet timestamps
>>>> account for the difference between the start times of the two inputs.
>>>>
>>>> Typical use case is to sync two or more live inputs such as from capture
>>>> devices. Both the target and reference input source timestamps should be
>>>> based on the same clock source.
>>> If both streams are using the same clock, then why is any extra
>>> synchronization needed?
>> Because ffmpeg.c normalizes timestamps by default. We can keep
>> timestamps using -copyts, but these inputs are usually preprocessed
>> using single-input filters which won't have access to the reference
>> inputs,
> No idea what you mean by "reference inputs" here.

The reference input is the one the target is being synced against. e.g. 
in a karaoke session -  the music track from a DAW would be ref and the 
user's voice via mic is the target.

>> or the merge filters like e.g. amix don't sync by timestamp.
> amix does seem to look at timestamps.

amix does not *sync* by timestamp. If one input starts at 4 and the 
other at 7, the 2nd isn't aligned by timestamp.

Regards,
Gyan



More information about the ffmpeg-devel mailing list