FFMPEG-如何在将第二个视频与第一个视频并排合并时设置第二个视频的演示时间戳

FFMPEG-如何在将第二个视频与第一个视频并排合并时设置第二个视频的演示时间戳

我试图将第二个视频以堆叠的方式并排合并到第一个视频中,这是一项自私的工作。关键在于,该视频是视频通话的记录,第二个用户可能比第一个用户加入得晚。视频通话的累积记录必须反映出第二个用户比第一个用户加入得晚。为此,我使用以下代码:

DIFF=$(($start_ts-$BASEts))
DIFFms=`echo "scale=0;$DIFF/1000" | bc`
DIFFs=`echo "scale=4;$DIFF/1000000" | bc`
ffmpeg -i $a.webm -i b.webm -filter_complex \
    "[0]pad=2*iw:1*ih[l];[1]setpts=PTS-STARTPTS+$DIFFs/TB[1v]; [l][1v]overlay=x=W/2[v]; \
    [1]adelay=$DIFFms|$DIFFms[1a]; \
    [0][1a]amix=inputs=2[a]" \
    -map "[v]" -map "[a]" -vcodec libvpx -cpu-used -5 -deadline realtime finalOutput.webm

但是,这里抛出的错误是:

[Parsed_setpts_1 @ 0x55ada9df1dc0] [Eval @ 0x7ffff35acb60] Undefined constant or missing '(' in '/TB'
[Parsed_setpts_1 @ 0x55ada9df1dc0] Error while parsing expression 'PTS-STARTPTS+/TB'
[AVFilterGraph @ 0x55ada9d6c2a0] Error initializing filter 'setpts' with args 'PTS-STARTPTS+/TB'
Error initializing complex filters.
Invalid argument

我认为它根本无法读取 $DIFFs 变量。有人能帮我吗?

相关内容