Votre meilleure option serait un monteur vidéo professionnel tel qu'Adobe Premiere, mais vous avez spécifié gratuit, donc je vous dirige vers l'un de mes favoris: ffmpeg ou avconv. (C'est essentiellement le même programme. Les personnes aimables dans les commentaires pourraient vous aider à clarifier celui qui est disponible pour Windows 7. J'utilise avconv parce que c'est celui de mon référentiel Debian, mais le téléchargement de ffmpeg pour Windows semble plus simple.)
Je ne suis pas sûr si l'interface en ligne de commande entre dans votre définition de "scripting", mais je crois vraiment que c'est la meilleure et la plus facile (et peut-être la plus rapide) façon de réaliser la tâche.
Aussi, ffmpeg/avconv est généralement connu uniquement pour la transcodage, encodage et décodage, mais il peut faire beaucoup plus.
Exemples
ffmpeg peut créer ces mosaïques, placer une vidéo sur une image d'arrière-plan statique, superposer sur une autre vidéo (mais celui-ci semble être en C#) et superposer deux vidéos l'une sur l'autre (en ligne de commande).
Le premier lien sur les mosaïques est un tutoriel de ffmpeg.org, donc il explique beaucoup de ce qui se passe.
Solution spécifique
ffmpeg/avconv est très puissant, mais parfois il peut falloir un certain temps pour comprendre précisément ce que vous voulez faire et comment vous voulez le faire. Je vais maintenant tenter de construire une solution spécifique.
Disons que la vidéo est en format HD standard 1920x1080, ratio 16:9.
Tout d'abord, vous devez déterminer la taille de la vidéo superposée. Vous auriez sans doute voulu voir cela visuellement, mais vous pouvez essayer ce processus plusieurs fois jusqu'à ce que vous soyez satisfait. Si les deux vidéos sont de la même taille, vous pouvez peut-être faire de la vidéo superposée un quart de la taille horizontale de l'arrière-plan. La superposition serait alors de 480 pixels de large (1920/4) et 270 pixels de haut (1920/4)*(9/16) aux coordonnées (de haut à gauche) x=1920-480=1440 et y=1080-270=810.
C'est juste un peu de mathématiques car je voulais faire la vidéo précisément un quart de la taille horizontale. Vous pouvez simplement spécifier la taille et la position de la superposition.
En utilisant filter_complex (documentation), définissez la position de la superposition:
-filter_complex overlay=1440:810
Et en ajoutant le filtre scale pour la superposition:
-filter_complex "[1] scale=480:270 [over]; [0][over] overlay=1440:810"
(Les numéros entre crochets spécifient sur quelles entrées agir.) (Le filtre scale doit être placé avant le filtre overlay, sinon la vidéo en superposition débordera de l'arrière-plan/sortie et provoquera une erreur.)
La construction de la commande complète serait alors la suivante:
ffmpeg -i background.movie -i overlay.movie -filter_complex "[1] scale=480:270 [over]; [0][over] overlay=1440:810" output.movie
("-i" désigne les entrées; la sortie est la seule autre option sans le "-" indicateur d'option.)
Méthode
- Installer ffmpeg/avconv
- Copier et coller la commande dans votre interface en ligne de commande
- Changer les fichiers d'entrée et de sortie. (Vous pourriez d'abord naviguer vers le dossier spécifique puis simplement exécuter avec les noms de fichiers, ou vous pouvez spécifier le chemin complet dans la commande.) (ffmpeg/avconv sélectionne automatiquement le format à partir de l'extension du nom de fichier de sortie, donc il suffit de le changer par exemple en ".mp4".)
- Changer les résolutions/tailles.
- Exécuter la commande.
Test
J'ai testé cela avec avconv avec précisément la même syntaxe (avec d'autres résolutions en rapport 4:3, juste parce que c'était le paramètre par défaut) et ai pu transformer ceci
et ceci
en cela
(Ce sont des captures d'écran de VLC.)
Remerciements et Bibliographie
- Comme vous l'avez sûrement remarqué, je me suis inspiré largement de l'utilisateur blahdiblah (dans le deuxième lien d'exemple) qui en sait plus que moi sur ces sujets - merci !
- J'ai également consulté la documentation sur ffmpeg.org.