Video ffmpeg根据视频大小调整徽标大小

Video ffmpeg根据视频大小调整徽标大小,video,ffmpeg,watermark,Video,Ffmpeg,Watermark,我有一个ffmpeg命令,它可以在视频的左上角和右下角注入2个图像 ffmpeg -i ori.mp4 -y -i 1.png -i 2.png -filter_complex \ "[0:v][1:v]overlay=20:20[bkg]; \ [bkg][2:v]overlay=(main_w-overlay_w)-20:(main_h-overlay_h)-20" \ -codec:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \ -c:a

我有一个ffmpeg命令,它可以在视频的左上角和右下角注入2个图像

ffmpeg -i ori.mp4 -y -i 1.png -i 2.png -filter_complex \
"[0:v][1:v]overlay=20:20[bkg]; \
[bkg][2:v]overlay=(main_w-overlay_w)-20:(main_h-overlay_h)-20" \
-codec:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -strict -2 out1.mp4 
此命令适用于大小较大的视频(如720x480),但当输入视频大小为320x240大小时,它将覆盖视频大小的一半

1.png尺寸为:160x100

2.png尺寸为:341x44

知道如何将scale2ref组合到上述命令中吗

到目前为止,我一直在尝试解决这个问题,但运气不好

更新1:我从

该命令可以很好地使一个图像缩放

更新2:

ffmpeg -i ori.mp4 -y -i 1.png -i 2.png \
-filter_complex "[1:v][0:v]scale2ref=iw*0.25:-1[logo1][base];\
[base][logo1]overlay=20:20[v];[2:v][0:v]scale2ref=iw*0.30:-1[logo2][base2];\
[base2][logo2]overlay=(main_w-overlay_w)-20:(main_h-overlay_h)-20[v]" \
-map [v] -map 0:a -codec:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -strict -2 out4.mp4 
上面试过了,没用。有这样的错误吗

Filter overlay has an unconnected output
任何帮助都会非常有用

ffmpeg -i ori.mp4 -y -i 1.png -i 2.png -filter_complex \
"[1:v][0:v]scale2ref=160/100*oh:ih/5[v1][bk1];[bk1][v1]overlay=20:20[bkg]; \
 [2:v][bkg]scale2ref=341/44*oh:ih/11[v2][bk2];[bk2][v2]overlay=W-w-20:H-h-20" \
-c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -strict -2 out1.mp4 
ffmpeg -i ori.mp4 -y -i 1.png -i 2.png -filter_complex \
"[1:v][0:v]scale2ref=160/100*oh:ih/5[v1][bk1];[bk1][v1]overlay=20:20[bkg]; \
 [2:v][bkg]scale2ref=341/44*oh:ih/11[v2][bk2];[bk2][v2]overlay=W-w-20:H-h-20" \
-c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -strict -2 out1.mp4