FFMPEG: Hinzufügen eines Bildes mit fester Größe zu einem Video, unabhängig von der Videobreite und -höhe (Auflösung)
Dies ist mein Code, der Videos ein Bild hinzufügt und über PHP ausgeführt wird:
exec('ffmpeg -i input.mp4 -i logo.png -filter_complex
"[0:v][1:v] overlay=10:10" -pix_fmt yuv420p -c:a copy output.mp4');
Es funktioniert gut, aber das Problem ist, dass das Bild in Bezug auf die Videoauflösung verkleinert oder vergrößert wird. In den folgenden Bildern ist beispielsweise die Logo-Breite50px
aber die Auflösung der Videos ist anders:
und das hie
Wie kann ich verhindern, dass das Bild verkleinert / vergrößert wird?
AktualisiereDank an Mulvya, schlug er diese Codes
ffmpeg -i input.mp4 -i logo.png -filter_complex
"[1:v][0:v]scale2ref=(W/H)*ih/8:ih/8[wm][base];[base][wm]overlay=10:10"
-pix_fmt yuv420p -c:a copy output.mp4
un
ffmpeg -i input.mp4 -i logo.png -filter_complex
"[1:v][0:v]scale2ref=(W/H)*ih/8:ih/8[wm][base];[wm]setsar=1[wmsar];
[base][wmsar]overlay=10:10"
-pix_fmt yuv420p -c:a copy output.mp4
das funktioniert sehr gut, behält aber nicht das Logo-Seitenverhältnis bei. Ich habe diesen Code an zwei Videos mit unterschiedlicher Auflösung ausprobiert und dies ist das Ergebnis
und das hie
Ist es möglich, diese Lösung zu verbessern?