Kombinieren Sie Audio und GIF zu einem Video, während die Transparenz mit ffmpeg erhalten bleibt

Kombinieren Sie Audio und GIF zu einem Video, während die Transparenz mit ffmpeg erhalten bleibt

Ich versuche eineAudiodateiund eingifin einVideound ich stoße auf einige Probleme, obwohl ich einige Lösungen über Stack Overflow ausprobiert habe.

Ich möchte, dass die kombinierte Dateidauer der Audiodauer entspricht und gleichzeitig die Transparenz des GIF erhalten bleibt.

  • Die Dauer der Audiodatei beträgt00:00:17.53
  • Die Dauer der Gif-Datei beträgt00:00:00.40, es ist transparent.

Ich habe es geschafft, sie zu kombinieren, aber die Dauer, die ich erhalte, ist völlig falsch und die Transparenz geht mit dem folgenden Befehl verloren:

ffmpeg -i input.mp3 -ignore_loop 0 \
-i input.gif -movflags +faststart \
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" \
-shortest -strict -2 \
-c:v libx264 -c:a aac -b:a 192k -b:v 2M -pix_fmt yuv420p output.mp4

Die Dauer des resultierenden Videos beträgt00:00:24.21

  1. Gibt es eine Möglichkeit, die Ausgabedauer richtig einzustellen, ohne -t 00:00:17.53eine Option verwenden zu müssen?
  2. Ich habe versucht, mit anderen Codecs wie libvpx-vp9 zu konvertieren, habe aber die Transparenz nicht richtig hinbekommen. Gibt es einen anderen Codec, den ich verwenden muss?

Bearbeiten: Es ist mir gelungen, mit dem folgenden Befehl ein transparentes Video (WebM-Format) zu generieren:

ffmpeg -i source.mp3 -ignore_loop 0 -i source.gif -c:v libvpx -pix_fmt yuva420p -auto-alt-ref 0 -t 00:00:17.53

Meine erste Frage, dass die Dauer nicht automatisch stimmt, bleibt jedoch bestehen.

verwandte Informationen