Video 在视频上覆盖缩放图像

Video 在视频上覆盖缩放图像,video,ffmpeg,Video,Ffmpeg,如何使用ffmpeg缩放图像并将其放置在视频上 使用下面的脚本,我得到一个错误无效的流说明符:wm。 ffmpeg.exe -i img0.png -i vid1.mp4 -i vid2.mp4 -i vid3.mp4 -filter_complex_script fcs.txt -map [outv] -map [outa] out.mp4 fcs.txt: [0:v]scale=-1:128[wm]; [1:v]gblur=sigma=30:steps=5[bg1]; [1:v]

如何使用
ffmpeg
缩放图像并将其放置在视频上

使用下面的脚本,我得到一个错误
无效的流说明符:wm。

ffmpeg.exe -i img0.png -i vid1.mp4 -i vid2.mp4 -i vid3.mp4 -filter_complex_script fcs.txt
    -map [outv] -map [outa] out.mp4
fcs.txt:

[0:v]scale=-1:128[wm];

[1:v]gblur=sigma=30:steps=5[bg1];
[1:v]scale=-1:1080,eq=saturation=1.05[fg1];
[bg1][fg1]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[bf1];
[bf1][wm]overlay=(1920-200):(1080-200)[fv1];

[2:v]gblur=sigma=30:steps=5[bg2];
[2:v]scale=-1:1080,eq=saturation=1.05[fg2];
[bg2][fg2]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[bf2];
[bf2][wm]overlay=(1920-200):(1080-200)[fv2];

[3:v]gblur=sigma=30:steps=5[bg3];
[3:v]scale=-1:1080,eq=saturation=1.05[fg3];
[bg3][fg3]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[bf3];
[bf3][wm]overlay=(1920-200):(1080-200)[fv3];

[fv1][1:a][fv2][2:a][fv3][3:a]concat=n=3:v=1:a=1[outv][outa]
完整错误消息:

[png_pipe @ 0000019fc01f2c00] Invalid stream specifier: wm.
Last message repeated 1 times
Stream specifier 'wm' in filtergraph description [0:v]scale=-1:128[wm];

中间过滤器输出不能重复使用,就像您将
[wm]
馈送给三个重叠过滤器一样。您可以将输出克隆为3个输出并分别馈送这些输出,或者在本例中,在concat之后执行覆盖,因为所有覆盖参数都相同

因此,克隆方法:

[0:v]scale=-1:128,split=3[wm1][wm2][wm3];
...
[bf1][wm1]overlay=(1920-200):(1080-200)[fv1];
...
[bf2][wm2]overlay=(1920-200):(1080-200)[fv2];
....
[bf3][wm3]overlay=(1920-200):(1080-200)[fv3];
或后混凝土覆盖层

...
[fv1][1:a][fv2][2:a][fv3][3:a]concat=n=3:v=1:a=1[outv][outa];
[outv][wm]overlay=(1920-200):(1080-200)[outv]
(删除早期覆盖并更新焊盘标签)