So erstellen Sie mit ffmpeg ein Video mit transparentem Hintergrund

  Kürzlich haben wir versucht, die digitale menschliche Erklärungsfunktion auf der Webseite einzublenden, und haben festgestellt, dass der Effekt sehr gering wäre, wenn wir ein rechteckiges digitales menschliches Video direkt auf der Webseite platzieren würden. Erstens würde es einen Großteil des Inhalts blockieren des Bildschirms. Zweitens ist der Bildschirm unabhängig vom Hintergrund der Aufgabe nicht sehr auf die folgenden Webseiten abgestimmt, wie im Bild gezeigt:
Fügen Sie hier eine Bildbeschreibung ein

  Es wäre viel besser, wenn der Hintergrund des Videos entfernt werden könnte und nur die Personen gezeigt würden. Nach einigen Recherchen und Experimenten habe ich schließlich eine Methode entdeckt, mit der transparente Hintergrundvideos automatisch stapelweise erstellt werden können. Der Endeffekt ist wie folgt:
Fügen Sie hier eine Bildbeschreibung ein
  Ich habe Tencent Zhiying verwendet, um Videos für digitale Menschen zu generieren. Um dies zu erreichen B. einen transparenten Hintergrund in einem Greenscreen-Video, gibt es eine sehr wichtige Information, die Sie wissen sollten. Nicht alle Videoformate (Videokodierungen) unterstützen transparente Hintergründe. Erstens unterstützt unser am häufigsten verwendetes MP4 dies nicht (egal ob h264 oder h265). ). Nicht unterstützt. Derzeit unterstützen nur wenige Videokodierungen transparente Hintergründe, wie z. B. das vp9-Format (webm) von Google. Im Bild oben habe ich das mit webm+vp9 kodierte Video verwendet. Der tatsächliche Test dieser Art von Videokompatibilität ist nicht gut. Beispielsweise kann im Safari-Browser von Apple der Hintergrund nicht transparent sein.

  „Ein weiteres Problem besteht darin, dass das WebM-Format nicht beliebt ist. Tencent Zhiying unterstützt beispielsweise nur MP4 für den Export. Professionelle Bearbeitungssoftware wie Cutting oder sogar Final Cut Pro können das WebM-Format mit transparentem Hintergrund nicht bearbeiten und exportieren. Nachdem ich es hier versucht hatte, stellte ich fest, dass die Verwendung von ffmpeg den grünen Bildschirm leicht entfernen und dann das WebM-Videoformat mit transparentem Hintergrund exportieren kann. Der vollständige Befehl lautet wie folgt:

ffmpeg -i green_video.mp4 -filter_complex "[0:v]colorkey=0x299530:0.1:0.1[ckout]" -map "[ckout]" -map 0:a -c:v libvpx-vp9 -b:v 2M -c:a libvorbis output.webm

  Hier müssen wir über die kritischsten Parameter sprechen -filter_complex "[0:v]colorkey=0x299530:0.1:0.1[ckout]" -map "[ckout]" Darunter ist 0x299530 der RGB-Wert des Greenscreens, den ich verwendet habe. Er kann entsprechend dem RGB-Wert Ihres Computers angepasst werden grüner Bildschirm. Andere Parameter sind relativ einfach. Weitere Informationen finden Sie in meiner ffmpeg-Artikelserie.

Guess you like

Origin blog.csdn.net/xindoo/article/details/134096967