FFMPEG versucht, einen farbigen Hintergrund für ein transparentes MOV zu verarbeiten und in ein HTML5-MP4 umzuwandeln

FFMPEG versucht, einen farbigen Hintergrund für ein transparentes MOV zu verarbeiten und in ein HTML5-MP4 umzuwandeln

Ich versuche seit einer Stunde, ein MOV mit Transparenz mit einem farbigen Hintergrund zu kombinieren. Das geht mit diesem Befehl hier:

ffmpeg -i input.mov -filter_complex "color=#f5a3a3,format=rgb24[c];[c][0]scale2ref[c][i];[c][i]overlay=format=auto:shortest=1,setsar=1" output.mp4

Das Problem ist, dass die MP4-Datei nicht abspielbar ist, da sie in formatiert wird yuv444. Ich habe versucht, die resultierende MP4-Datei mit yuv420peinfachen Filtern neu zu kodieren, aber es scheint nicht zu funktionieren.

Vielen Dank für alle Ratschläge hierzu.

Problemumgehung: Ich konnte das Problem umgehen, indem ich von MOV zu WEBM wechselte (was ich sowieso brauchte) und den komplexen Filter einschloss. Dann wechselte ich von WEBM zu MP4 und alles war gut. Ich bin aber immer noch neugierig auf die ursprüngliche Frage.

Antwort1

Fügen Sie den Formatfilter nach dem Overlay ein, um es zu konvertieren.

ffmpeg -i input.mov -filter_complex "color=#f5a3a3,format=rgb24[c];[c][0]scale2ref[c][i];[c][i]overlay=format=auto:shortest=1,format=yuv420p,setsar=1" output.mp4

verwandte Informationen