This needs a slightly elaborate filtergraph to do as described.
-filter_complex
"[0]split[b1][b2];
[b1]crop=iw/2:ih:0:0[b1];
[b2]crop=iw/2:ih:iw/2:0[b2];
[1][b1]overlay=x='0-(W/2)*(t-DUR0)/D':enable=gte(t,DUR0)[ob1];
[ob1][b2]overlay=x='W/2+(W/2)*(t-DUR0)/D':enable=gte(t,DUR0)[fv]
"
where 0
is video '1' and 1
is video '2'. DUR0
should be replaced with duration of video '1' and D
with duration of the effect.
A curtain effect, like what Paul described, can be done like this:
blend=all_expr='if(lte((W/2-abs(X-SW*W/2))/(SW*W/2),(T-S)/D),B,A)'
where S
is start time in seconds. (You may want/need to adjust the timestamps of the top video 'A' beforehand using setpts
) and D
is duration of effect. These two variables should be replaced with the required numeral values.
I can't test either of these for a few days.