FAQ utiliser des plugins virtualdub

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
(New page: === <div id="import_filt">Où puis-je télécharger la dernière version des scripts qui importent les filtres de VirtualDub?</div> === Les scripts AviSynth sont sur la page des [[Shared_...)
 
m (5 revisions)
 
(4 intermediate revisions by 2 users not shown)
Line 6: Line 6:
 
=== <div id="import_filt2">Quels filtres peuvent être importés?</div> ===
 
=== <div id="import_filt2">Quels filtres peuvent être importés?</div> ===
  
La plupart des filtres. Lisez la documentation correspondante.
+
La plupart des filtres. Consultez la documentation correspondante.
 
+
  
 
=== <div id="scripts_col">Est-ce que ces scripts fonctionnent dans un espace de couleurs RGB ou YUV?</div> ===
 
=== <div id="scripts_col">Est-ce que ces scripts fonctionnent dans un espace de couleurs RGB ou YUV?</div> ===
Line 16: Line 15:
 
=== <div id="scripts_create>Comment créer un tel script?</div> ===
 
=== <div id="scripts_create>Comment créer un tel script?</div> ===
  
Jetez un coup d'oeil au script d'exemple suivant (ce filtre VirtualDub peut être téléchargé à partir de [http://neuron2.net/bob.html Donalds homepage]):
+
Jetez un coup d'oeil à l'exemple de script suivant (ce filtre VirtualDub peut être téléchargé à partir de [http://neuron2.net/bob.html Donalds homepage]):
  
 
Smart Bob par Donald Graft:
 
Smart Bob par Donald Graft:
Line 29: Line 28:
 
Le plugin VirtualDub est importé avec la commande "[[LoadVirtualdubPlugin]]". Le premier argument donne le chemin d'accès au plugin, le second argument le nom du plugin qui sera utilisé dans le script et le troisième argument est appelé le preroll.
 
Le plugin VirtualDub est importé avec la commande "[[LoadVirtualdubPlugin]]". Le premier argument donne le chemin d'accès au plugin, le second argument le nom du plugin qui sera utilisé dans le script et le troisième argument est appelé le preroll.
  
Le preroll doit être fixé au minimum au nombre de trames dont le filtre a besoin de pré-calculer pour remplir ses tampons et/ou mettre à jour ses variables internes. Ce dernier argument est utilisé dans certains filtres comme: SmartBob, SmartDeinterlace, TemporalCleaner et d'autres. La raison est qu'à cause de l'architecture de filtrage de VirtualDub les trames futures ne peuvent pas être accédées par un filtre. Dividee l'explique ainsi: "Dans la boîte de dialogue "Add filter" de VirtualDub, certains filtres ont une valeur "Lag:" dans leur description. Je pense que c'est la valeur qui doit être utilisée comme preroll. Malheureusement, cette indication n'est pas toujours présente. Dans certains cas vous devrez deviner." Vous pouvez bien sûr demander à l'auteur du filtre.
+
Le preroll doit être fixé au minimum au nombre de trames dont le filtre a besoin de pré-calculer pour remplir ses tampons et/ou mettre à jour ses variables internes. Ce dernier argument est utilisé dans certains filtres comme: SmartBob, SmartDeinterlace, TemporalCleaner et d'autres. La raison est qu'à cause de l'architecture de filtrage de VirtualDub les trames futures ne peuvent pas être atteintes par un filtre. Dividee l'explique ainsi: "Dans la boîte de dialogue "Add filter" de VirtualDub, certains filtres ont une valeur "Lag:" dans leur description. Je pense que c'est la valeur qui doit être utilisée comme preroll. Malheureusement, cette indication n'est pas toujours présente. Dans certains cas vous devrez deviner." Vous pouvez bien sûr demander à l'auteur du filtre.
  
The first step is to find out the sequence of the arguments in the last line where the clip is returned. Configure the script in VirtualDub and select "Save processing Settings" in the File Menu or press Ctrl+S. Open the created .vcf file with a text editor and you should see lines like this:
+
La première étape c'est de trouver la séquence d'arguments dans la dernière ligne où on retourne le clip. Configurez le script dans VirtualDub et sélectionnez "Save processing Settings" dans le menu File ou tapez Ctrl+S. Ouvrez le fichier .vcf crée avec un éditeur de texte et vous devriez voir des lignes ressemblant à ceci:
  
 
  VirtualDub.video.filters.Add("smart bob (1.1 beta 2)");
 
  VirtualDub.video.filters.Add("smart bob (1.1 beta 2)");
 
  VirtualDub.video.filters.instance[0].Config(1, 0, 10, 1);
 
  VirtualDub.video.filters.instance[0].Config(1, 0, 10, 1);
  
The order of the arguments is the one that has to be used in AviSynth. To find the role of the arguments, play with them in VirtualDub and examine the resulting lines.
+
L'ordre des arguments est l'ordre qui doit être utilisé dans AviSynth. Pour comprendre le rôle de chaque argument, manipulez-les dans VirtualDub et examinez les lignes résultantes.
  
The second step is to test the filter and to compare it with the VirtualDub filter itself. For the programming itself you can learn a lot by looking at the script which are already contained in vdub_filters.avs.
+
La deuxième étape est de tester le filtre et de le comparer avec le filtre original de VirtualDub. Pour la programmation, vous pouvez apprendre beaucoup en regardant les scripts qui sont présents dans vdub_filters.avs.
  
Example script which uses the function VD_SmartBob:
+
Exemple de script qui utilise la function VD_SmartBob:
  
 
  Import("d:\vdub_filters.avs")
 
  Import("d:\vdub_filters.avs")
 
  AviSource("d:\filename.avi")
 
  AviSource("d:\filename.avi")
  ConvertToRGB32()  # only when necessary (but doesn't hurt)
+
  ConvertToRGB32()  # seulement quand nécessaire (mais n'est pas gênant)
 
  VD_SmartBob(false, 10, true)
 
  VD_SmartBob(false, 10, true)
  ConvertBackToYUY2()  # only when necessary
+
  ConvertBackToYUY2()  # seulement quand nécessaire
  
The package vdub_filtersv15.zip is a bit outdated since many new VirtualDub filter are not in it. If that's the case for your VirtualDub filter and you don't want to create a function yourself (such as VD_SmartBob), could also use the following script:
+
Le package vdub_filtersv15.zip est un peu obsolète car beaucoup des nouveaux filtres VirtualDub n'y sont pas présents. Si c'est le cas pour votre filtre VirtualDub et que vous ne voulez pas créer une fonction vous-même (comme VD_SmartBob), vous pouvez aussi utiliser le script suivant:
  
 
  LoadVirtualdubplugin("d:\bob.vdf", "VD_SmartBob", 1)
 
  LoadVirtualdubplugin("d:\bob.vdf", "VD_SmartBob", 1)
  VD_SmartBob(1, 0, 10, 1) # parameters taken from the .vcf file
+
  VD_SmartBob(1, 0, 10, 1) # paramètres provenant du fichier .vcf
 +
 
 +
[[Category:French pages]]

Latest revision as of 21:48, 18 July 2013

Contents

[edit]
Où puis-je télécharger la dernière version des scripts qui importent les filtres de VirtualDub?

Les scripts AviSynth sont sur la page des fonctions partagées, ou vous pouvez télécharger un package appelé vdub_filtersv15.zip depuis [1].


[edit]
Quels filtres peuvent être importés?

La plupart des filtres. Consultez la documentation correspondante.

[edit]
Est-ce que ces scripts fonctionnent dans un espace de couleurs RGB ou YUV?

Vous devez convertir votre clip au format RGB32 avant d'utiliser ces scripts.


[edit]
Comment créer un tel script?

Jetez un coup d'oeil à l'exemple de script suivant (ce filtre VirtualDub peut être téléchargé à partir de Donalds homepage):

Smart Bob par Donald Graft:

function VD_SmartBob(clip clip, bool show_motion, int threshold, bool motion_map_denoising)
  LoadVirtualdubPlugin("d:\bob.vdf", "_VD_SmartBob", 1)
  return clip.SeparateFields._VD_SmartBob(clip.GetParity?1:0,
    \  default(show_motion,false)?1:0, default(threshold,10),
    \  default(motion_map_denoising,true)?1:0)
}

Le plugin VirtualDub est importé avec la commande "LoadVirtualdubPlugin". Le premier argument donne le chemin d'accès au plugin, le second argument le nom du plugin qui sera utilisé dans le script et le troisième argument est appelé le preroll.

Le preroll doit être fixé au minimum au nombre de trames dont le filtre a besoin de pré-calculer pour remplir ses tampons et/ou mettre à jour ses variables internes. Ce dernier argument est utilisé dans certains filtres comme: SmartBob, SmartDeinterlace, TemporalCleaner et d'autres. La raison est qu'à cause de l'architecture de filtrage de VirtualDub les trames futures ne peuvent pas être atteintes par un filtre. Dividee l'explique ainsi: "Dans la boîte de dialogue "Add filter" de VirtualDub, certains filtres ont une valeur "Lag:" dans leur description. Je pense que c'est la valeur qui doit être utilisée comme preroll. Malheureusement, cette indication n'est pas toujours présente. Dans certains cas vous devrez deviner." Vous pouvez bien sûr demander à l'auteur du filtre.

La première étape c'est de trouver la séquence d'arguments dans la dernière ligne où on retourne le clip. Configurez le script dans VirtualDub et sélectionnez "Save processing Settings" dans le menu File ou tapez Ctrl+S. Ouvrez le fichier .vcf crée avec un éditeur de texte et vous devriez voir des lignes ressemblant à ceci:

VirtualDub.video.filters.Add("smart bob (1.1 beta 2)");
VirtualDub.video.filters.instance[0].Config(1, 0, 10, 1);

L'ordre des arguments est l'ordre qui doit être utilisé dans AviSynth. Pour comprendre le rôle de chaque argument, manipulez-les dans VirtualDub et examinez les lignes résultantes.

La deuxième étape est de tester le filtre et de le comparer avec le filtre original de VirtualDub. Pour la programmation, vous pouvez apprendre beaucoup en regardant les scripts qui sont présents dans vdub_filters.avs.

Exemple de script qui utilise la function VD_SmartBob:

Import("d:\vdub_filters.avs")
AviSource("d:\filename.avi")
ConvertToRGB32()  # seulement quand nécessaire (mais n'est pas gênant)
VD_SmartBob(false, 10, true)
ConvertBackToYUY2()  # seulement quand nécessaire

Le package vdub_filtersv15.zip est un peu obsolète car beaucoup des nouveaux filtres VirtualDub n'y sont pas présents. Si c'est le cas pour votre filtre VirtualDub et que vous ne voulez pas créer une fonction vous-même (comme VD_SmartBob), vous pouvez aussi utiliser le script suivant:

LoadVirtualdubplugin("d:\bob.vdf", "VD_SmartBob", 1)
VD_SmartBob(1, 0, 10, 1) # paramètres provenant du fichier .vcf
Personal tools