Voici une fonction avisynth Incrustation qui permet d'incruster soit une image, soit une petite vidéo, dans une video originale.
function Incrustation (clip video, clip "video2", string "image", int "opacite", int "x", int "y", int "larg", int "haut", int "depart", int "fin", float "fade", float "fadeIn", float "fadeOut", bool "verbose")
video désigne la video originale ;
video2 / image désigne la vidéo / image à incruster ;
opacite (entier entre 0 et 100) désigne l'opacité de l'incrustation ;
x, y indiquent la position de l'incrustation (coin supérieur gauche de l'objet incrusté) ;
larg, haut indiquent la largeur et la hauteur de l'incrustation ;
depart indique le numéro de l'image de la video originale à partir de laquelle l'incrustation commence ;
fin indique le numéro de l'image de la video originale à laquelle l'incrustation se termine ;
fade indique le nombre de secondes pendant lesquelles il y a fondu de l'incrustation (ouvrant et fermant) ;
fadeIn indique le nombre de secondes pendant lesquelles il y a fondu ouvrant de l'incrustation ;
fadeOut indique le nombre de secondes pendant lesquelles il y a fondu fermant de l'incrustation ;
verbose permet l'affichage des constantes du script.
Par défaut,
opacite = 100 : incrustation "totale" ;
x=0 et y=0 : l'incrustation est positionnée en haut à gauche de la video originale ;
larg et haut sont les dimensions initiales de l'objet incrusté ;
depart = 0 : l'incrustation commence tout de suite ;
fin = depart + longueur de la vidéo incrustée , ou , numéro de l'image de la video originale pour une dernière image incrustée ;
fade=0 , fadeIn=0 , fadeOut=0 : pas de fondu ;
verbose = false : pas d'affichage des constantes du script.
Le script avisynth : fichier Incrustation.zip ici http://leon1789.perso.sfr.fr/avisynth/
Exemple d'une incrustation d'une vidéo qui s'incruste à partir de l'image 100 jusqu'à l'image 400, sur une hauteur de 200 points (la largeur étant calculée automatiquement pour garder le bon aspect de la vidéo incrustée), avec des fondus entrant et sortant de 3.75 secondes :
Code : Tout sélectionner
video = aviSource("01.avi")
video2 = aviSource("Extrait.avi")
video = video.Incrustation(video2=video2, haut=200, depart=100, fin=400, fade=3.75)
Code : Tout sélectionner
video.Incrustation(image="logo")
Code : Tout sélectionner
video.Incrustation(video2=logo.loop) # Bien mettre le ".loop"