Exemples de scripts
From Avisynth wiki
Voici quelques exemples de scripts AviSynth, groupés par catégories de complexité croissante.
Contents[hide] |
Exemples simples
Exemple 1: Supprimer des publicités
# Ceci est un commentaire. Toutes les lignes qui commencent par le
# symbole '#' sont des commentaires et sont ignorées par AviSynth.
# chargement du fichier "mavideo.avi" depuis le même répertoire que le script
AVISource("mavideo.avi")
# Trim indique les trames à GARDER. La ligne suivante garde les trames
# [0, 12000], [20000, 32000], [44000, fin] et les réunit
# ensemble, ce qui revient à supprimer les trames [12001, 19999] et
# [32001, 43999]
#
# NOTE: la notation de l'intervalle [a, b] signifie toutes les trames entre a et b,
# inclues.
#
Trim(0, 12000) ++ Trim(20000, 32000) ++ Trim(44000, 0)
Exemple 2: Redimensionnement
AVISource("unevideo.avi")
# redimensionne la taille de la vidéo en 320x240
LanczosResize(320, 240)
Exemple 3: Charger l'audio
video = AVISource("unevideo.avi")
# nous pouvons aussi charger des fichiers WAV
audio = WAVSource("musique.wav")
# multiplexage des pistes vidéo et audio ensemble
AudioDub(video, audio)
Exemple 4: Ajustement de la brillance, suppression du bruit, fondu
AVISource("unevideo.avi")
# TemporalSoften est un des multiples filtres de réduction de bruit
TemporalSoften(4, 4, 8, scenechange=15, mode=2)
# augmentation du gamma (brillance relative) de la vidéo
Levels(0, 1.2, 255, 0, 255)
# fondu des 15 premières trames depuis le noir
FadeIn(15)
# fondu des 15 dernières trames vers le noir
FadeOut(15)
Exemples plus complexes
Exemple 5: exemple des poptones Layer
LoadPlugin("MPEG2DEC.dll")
clip1 = Mpeg2Source("combine.d2v").Crop(16, 0, 688, 576).ConvertToRGB32
bruit = AviSource("bruit.avs").ConvertToRGB32
clip1 = clip1.Layer(bruit, "add", 8, 0, 0, use_chroma=true)
clip2 = clip1.Trim(125766, 0)
clip = clip1.Layer(clip2, "add", 128, 0, 0, use_chroma=true).Trim(9180, \
86780).AssumeFrameBased.ComplementParity.Bob
# construction du masque de de-logo
logosrc = AviSource("sanslogo.avi").Weave.ConvertToRGB32.BilinearResize(59, 13)
masklogo = AviSource("logoblanc.avi").ConvertToRGB32
logo = logosrc.Mask(masklogo).BilinearResize(60, 27)
# recouvrons maintenant cet horrible logo blanc...
clip = clip.Layer(logo, "add", 255, 582, 36, use_chroma=true)
blur = clip.GeneralConvolution(0,
"10 10 10 10 10
10 10 10 10 10
10 10 16 10 10
10 10 10 10 10
10 10 10 10 10")
# détection de bord sobel... le pouvoir de la matrice!
hor = clip.GeneralConvolution(0,
"-1 0 1
-2 0 2
-1 0 1")
vert = clip.GeneralConvolution(0,
"-1 -2 -1
0 0 0
1 2 1")
edgemask = hor.Layer(vert,"lighten",255,0,0,1)
# maintenant rehaussons just les bords de l'image rendue floue...
clip = clip.Mask(edgemask)
clip = blur.Layer(clip, "add", 128, 0, 0)
return clip
Voir aussi:
- Voir fonctions partagées (et les plugins externes) écrits et contribués par la communauté AviSynth