如何缩放图像并使用将其放置在视频上ffmpeg
?
使用下面的脚本我得到错误Invalid stream specifier: 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];
或concat后叠加
...
[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]
(删除早期的叠加层并更新便签标签)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句