Legen Sie die Hintergrundfarbe für die Konvertierung von GIF in MP4 mit ffmpeg fest

2148
okor

Ich habe eine animierte GIF mit Transparenz. Ich möchte es in eine MP4 umwandeln. Wenn ich dies tue, werden die transparenten Bereiche mit vollständig deckendem Weiß gefüllt. Ich möchte die Farbe angeben, mit der diese transparenten Pixel ersetzt werden. Wie würde ich das machen?

  • Bitte nicht empfehlen, mit convertder gifsicleder erfordert, einen separaten Betrieb. Geschwindigkeit ist eine Priorität. Die Lösung muss nur verwendet werden ffmpeg. Vielen Dank.
2

1 Antwort auf die Frage

2
Gyan

Benutzen

ffmpeg -f lavfi -i color=RRGGBB -i in.gif -filter_complex "[0][1]scale2ref[bg][gif];[bg]setsar=1[bg];[bg][gif]overlay=shortest=1" out.mp4 

Es wird eine Leinwand erstellt, die schwarz ist, wenn keine Farbe (in Hex) angegeben ist. Im Filterkomplex. Die Größe wird auf die gleiche Größe wie die GIF geändert, und anschließend wird die GIF darüber gelegt. In den transparenten Bereichen der GIF. Der Hintergrund zeigt sich durch.