J'ai une commande ffmpeg qui fonctionne bien pour injecter 2 images en haut à gauche et en bas à droite de la vidéo.Taille du logo de l'échelle ffmpeg en fonction de la taille de la vidéo
ffmpeg -i ori.mp4 -y -i 1.png -i 2.png -filter_complex \
"[0:v][1:v]overlay=20:20[bkg]; \
[bkg][2:v]overlay=(main_w-overlay_w)-20:(main_h-overlay_h)-20" \
-codec:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -strict -2 out1.mp4
cette commande fonctionne bien avec la vidéo qui a de grande taille comme 720x480, mais lorsque la taille de la vidéo d'entrée est 320x240 taille, il recouvrira la moitié de la taille de la vidéo.
taille de 1.png est: 160x100
taille de 2.png est: 341x44
une idée de combiner les scale2ref en commande ci-dessus?
essayé la solution à partir de ce link jusqu'ici pas de chance.
mise à jour 1: i trouvé cette commande à partir here
ffmpeg -i ori.mp4 -y -i 1.png \
-filter_complex "[1:v][0:v]scale2ref=iw*0.25:-1[logo1][base]; \
[base][logo1]overlay=20:20[v]" -map [v] -map 0:a \
-codec:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -strict -2 out2.mp4
qui commande le travail bien pour obtenir une image à l'échelle.
mise à jour 2:
ffmpeg -i ori.mp4 -y -i 1.png -i 2.png \
-filter_complex "[1:v][0:v]scale2ref=iw*0.25:-1[logo1][base];\
[base][logo1]overlay=20:20[v];[2:v][0:v]scale2ref=iw*0.30:-1[logo2][base2];\
[base2][logo2]overlay=(main_w-overlay_w)-20:(main_h-overlay_h)-20[v]" \
-map [v] -map 0:a -codec:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \
-c:a aac -strict -2 out4.mp4
essayé ci-dessus, le travail rien. eu erreur comme ce
Filter overlay has an unconnected output
toute aide serait grande
travail comme un charme, vous avez sauvé ma vie quelques – Teddybugs