我用來ffmpeg
在電影上疊加圖片。需求是將圖片旋轉任一角度。使用filter_complex
,我現在可以覆蓋旋轉的圖片。然而,圖片的輸出區域被填充為黑色且不透明。我檢查了文件,它說可以指定填充顏色,根據這,但我沒有這樣做。有任何想法嗎?
我在這裡複製我的命令列:
./ffmpeg -i mersyvideo.mp4 -i avatar.jpg -filter_complex "[1:v] rotate=-30*PI/180:c=black@'0x00':ow=rotw(iw):oh=roth(ih) [rotate];[0:v][rotate] overlay=40:10" -codec:a copy output/overlayavatar.mp4
答案1
若要用透明填滿未覆蓋的區域,請使用以下選項c=none
:
ffmpeg \
-i mersyvideo.mp4 \
-i avatar.jpg \
-filter_complex "
[1:v]rotate=-30*PI/180:c=none:ow=rotw(iw):oh=roth(ih)[rotate];
[0:v][rotate]overlay=40:10
" \
-codec:a copy \
output/overlayavatar.mp4
請參閱rotate
過濾器幫助:
fillcolor
,c
設定用於填滿旋轉影像未覆蓋的輸出區域的顏色。有關此選項的一般語法,請檢查 ffmpeg-utils 手冊中的 (ffmpeg-utils)「顏色」部分。如果選擇特殊值“none”,則不列印背景(例如,如果從不顯示背景,則很有用)。
預設值為“黑色”。