2017-08-05 10 views
0

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

Répondre

1

Utilisez

ffmpeg -i ori.mp4 -y -i 1.png -i 2.png -filter_complex \ 
"[1:v][0:v]scale2ref=160/100*oh:ih/5[v1][bk1];[bk1][v1]overlay=20:20[bkg]; \ 
[2:v][bkg]scale2ref=341/44*oh:ih/11[v2][bk2];[bk2][v2]overlay=W-w-20:H-h-20" \ 
-c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p \ 
-c:a aac -strict -2 out1.mp4 
+0

travail comme un charme, vous avez sauvé ma vie quelques – Teddybugs