Exemples de scripts

From Avisynth wiki
Jump to: navigation, search

Voici quelques exemples de scripts AviSynth, groupés par catégories de complexité croissante.

Contents

[edit] Exemples simples

[edit] 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)

[edit] Exemple 2: Redimensionnement

AVISource("unevideo.avi")

# redimensionne la taille de la vidéo en 320x240
LanczosResize(320, 240)

[edit] 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)

[edit] 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)

[edit] Exemples plus complexes

[edit] 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

[edit] Voir aussi:

  • Voir fonctions partagées (et les plugins externes) écrits et contribués par la communauté AviSynth
Personal tools