2011-11-07 3 views
7

J'ai la commande ffmpeg suivante qui met une image de superposition sur la vidéo. Une fois l'encodage ffmpeg effectué, l'image superposée apparaît trop grande, plus grande que sa taille réelle. Comment puis-je contrôler les dimensions de largeur et de hauteur pour l'image de superposition.taille de superposition ffmpeg

ffmpeg -i 1.wmv -s 640x360 -f mp4 -b 800k -acodec libfaac -ab 64k -vf "movie=0:png:dollar.png [wm];[in][wm] overlay=0:0:1 [out]" out.mp4 

Répondre

5

Essayez annexant filter paramètres avec scale=width:height clause comme ceci:

ffmpeg -i 1.wmv -s 640x360 -f mp4 -b 800k -acodec libfaac -ab 64k -vf "movie=0:png:dollar.png, scale=120:120 [wm];[in][wm] overlay=0:0:1 [out]" out.mp4 
+0

échelle = 120: 120 ne redimensionne pas le filigrane. Ça ne fait rien. Avez-vous essayé cela. – Pinkie

+1

Je viens d'utiliser la syntaxe d'échelle et cela fonctionne en combinaison avec un film, pour une superposition, par exemple. Comme: -vf 'film = dollar.png, échelle = 120: 120 [logo]; [en] ... ' – isync

2

Essayez cela a fonctionné pour moi: ffmpeg -i basevideo.xxx -vf « film = overlayvid.xxx [en]; [ in] échelle = largeur: hauteur [échelle]; [in] [échelle] incrustation = x: y [sortie] "sortie.xxx

+0

Cela ne fonctionnera pas comme prévu. Vous définissez 'movie' stream comme' [in] ', puis redimensionnez-le. Et puis superposition mise à l'échelle 'overlayvid' sur' overlayvid'. Et si la vidéo mise à l'échelle est plus grande que l'original, ffmpeg ne fera rien et sortira avec une erreur – mente