簡體   English   中英

ffmpeg根據視頻大小縮放徽標大小

[英]ffmpeg scale logo size according to video size

我有一個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:我從這里找到此命令

ffmpeg -i ori.mp4 -y -i 1.png \
-filter_complex "[1:v][0:v]scale2ref=iw*0.25:-1[logo1][base]; \
[base][logo1]overlay=20:20[v]" -map [v] -map 0:a \
-codec:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -strict -2 out2.mp4 

該命令可以正常工作,以縮放一張圖像。

更新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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM