[Libav-user] Syncing multiple sources.

Carl Eugen Hoyos ceffmpeg at gmail.com
Wed Jan 30 22:20:47 EET 2019


2019-01-30 16:41 GMT+01:00, Hristo Ivanov <hivanov.ffmailing at gmail.com>:
> Hi.
>
> In my program I have the following filter:
> "
>  [in0]format=pix_fmts=yuv420p,scale=-1:540[s0];
>  [in1]format=pix_fmts=yuv420p,scale=-1:540[s1];
>  [s0][s1]vstack[stacked];
>  [stacked]pad=1920:1080:(ow-iw)/2:0[out0]
> "
>
> My problem comes from the 'vstack' filter. The stack filters assign the
> same synclevel to all of their inputs, libavfilter/vf_stack.c around line
> 290:
>     for (i = 0; i < s->nb_inputs; i++) {
>         AVFilterLink *inlink = ctx->inputs[i];
>
>         in[i].time_base = inlink->time_base;
>         in[i].sync   = 1;  // This line here is the important.
>         in[i].before = EXT_STOP;
>         in[i].after  = s->shortest ? EXT_STOP : EXT_INFINITY;
>     }
>
>     return ff_framesync_configure(&s->fs);
>
> With the same synclevel on all the inputs, the framesync filter activates
> on all the inputs, which has the following undesired effect:
>    Being bought of the inputs(in0, in1) at 30fps, the output(out0) is at
> ~60fps.

How can I reproduce this (major?) issue with ffmpeg (the application)?

Carl Eugen


More information about the Libav-user mailing list