ffmpeg überlagerte gedrehte Bilder auf ein Video. Wie wird der Ausgabebereich transparent, der nicht durch das gedrehte Bild abgedeckt ist?

2529
xftzg

Ich verwende, ffmpegum ein Bild in einem Film zu überlagern. Voraussetzung ist, das Bild um einen beliebigen Winkel zu drehen. Mit filter_complexkann ich das gedrehte Bild jetzt überlagern. Der Ausgabebereich des Bildes ist jedoch schwarz und nicht transparent ausgefüllt. Ich habe die Dokumente geprüft, da sie die Füllfarbe angeben können. Dies ist jedoch nicht der Fall. Irgendwelche Ideen?

Ich kopiere meine Befehlszeile hier:

./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 
0
Hast du das probiert? `-vcodec png -pix_fmt bgra overlayavatar.mov` Ĭsααc tիε βöss vor 10 Jahren 0
Entschuldigung, aber ich verwende keine PNGs mit Alphakanal. außerdem möchte ich das bild selbst nicht transparent machen. xftzg vor 10 Jahren 0

1 Antwort auf die Frage

0
Apostol Victor

für transparent versuchen Sie 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