[VirtualDub] le filtre Deshaker

Fermé
M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 - 16 févr. 2006 à 18:58
christrofort Messages postés 3 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 14 décembre 2008 - 14 déc. 2008 à 06:58
C'est mon jour de verve, je vais vous parler d'un filtre génialissime disponible sous VirtualDub et VirtualDubMod (en français sur http://www.trad-fr.com/Fiches/VDM.htm) il s'agit de Deshaker

Le but de ce filtre est d'analyser une scène prise caméra au poing qui bouge tout le temps et de tenter de stabiliser l'image pour ne plus avoir le tournis. Sur les petites caméras DV on trouve un stabilisateur d'image basé sur ce principe mais trop souvent on oublie de l'enclencher. Deshaker va donc essayer de sauver les meubles après coup.

Deshaker est un logiciel extérieur, un plug-in qu'on place dans le sous-répertoire .\VirtualDubMod\plugins et qu'on va sélectionner manuellement dans les menus de Virtual dub mod à la section filtres Vidéo.
Ce filtre est disponible sur http://www.guthspot.se/video/deshaker.htm
_ç_§:
(.)#(.)

20 réponses

M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 667
16 févr. 2006 à 20:38
J'en avais déjà parlé sur http://www.commentcamarche.net/forum/affich-1305294-perte-qualite-image-transfert-cam-video-pc#4
http://www.commentcamarche.com/forum/affich-172729-pb-compression-divx-virtualdub#3
http://www.commentcamarche.net/forum/affich-356184-merci-a-m-amp-m-et-aux-autres#1


John Meyer a publié un tutoriel sur Deshaker :
http://www.sundancemediagroup.com/articles/deshaker_guide.htm
http://www.dvformat.com/articles/viewarticle.jsp?id=28849

Mais plus encore, ce filtre peut être installé et utilisé sous Pinnacle Studio et Liquid Edition http://www.dvforever.com/breve.php3?id_breve=225 comme on peut le lire sur http://www.hlinke.de/Home_e/RTFX_Plugin__E_/Examples-_LEdition/Deshaker/deshaker.html

Deshaker travaille en deux passes: durant la première, deshaker surveille la cohérence des images successives et en déduit le mouvement relatif de la caméra et va lisser le déplacement du plan de l'image pour conserver un mouvement fluide. Bien évidemment ce n'est pas simple surtout pour des images sans reliefs, sans points distinguables, ou avec un sujet principal qui bouge lui aussi dans le décor. La denière version a introduit un mode d'analyse plus poussée pour les cas difficiles. Les coordonnées sont collectées dans un fichier renommable par défaut c:\deshaker.log. Si deshaker ne trouve vriament pas de cohérence, il indique des zéros à la place de l'offset calculé pour chaque image.

A la seconde passe, les images sont déplacées horizontalement ou verticalement pour compenser le zigzag du cameraman, mais aussi en rotation, faisant alors apparaître des bandes noires aux quatre coins de l'écran, mais avec le sujet principal qui est bien centré. Pour éviter ces trous noirs, deshaker propose de zoomer pour évacuer ces bandes en dehors de l'écran ou de profiter des images précédentes ou suivantes pour combler les trous, ou faire un mix des deux. Le zoom entraîne un resampling qui dégrade le piqué d'image, et est parfois très dérangeant à l'oeil, selon les goûts. Je préfère encore avoir un petit bord noir ou une partie d'image tirée du film une seconde plus tôt même si elles se juxtaposent pas tout à fait.
_ç_§:
(.)#(.)
8
christrofort Messages postés 3 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 14 décembre 2008 4
14 déc. 2008 à 06:58
concretement , je n'arrive pas a utiiser deshaker sous virtual dub
mon seul objectif est de stabiliser des images de sport ,
quel est le raccourci le plus simple ???
aloha
4
M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 667
16 févr. 2006 à 21:29
Si la source contient un logo, il faut absolument le faire disparaître avant le traitement sinon vous le verriez danser au gré du cameraman. Il s'agit alors de placer un autre filtre Logoaway v4.01disponible sur http://republika.pl/voidon/virtualdub/index.html dont je parlais sur http://www.commentcamarche.net/forum/affich-2097238-masquer-le-logo#1


Au contraire, il est amusant d'observer le travail du deshaker en superposant une croix au centre de l'image avant deshaker et un cercle après traitement pour voir sautiller la mire dans un cercle au gré de l'ivresse du cameramen. Comme sur http://www.enersoft.com/deshaker.html . Je propose cette croix bleue : http://www.upload2.net/download2/PVxfw3D0SAEmyp9/Croix+bleue.jpg.html
que vous devrez d'abord convertir en bipmap BMP et incruster grâce à un autre filtre :
Logo 1.7b2 disponible sur http://neuron2.net/logo/logo.html vous configurez le filtre pour définir le mode Transparent color. Le bleu de la croix sera transparent et le blanc sera blanc. (il faut que votre photo BMP ait bien la même dimension que le film).

Et après le filtre deshaker vous pouvez superposer un cercle http://www.upload2.net/download2/GSSRI6j8gi0z61W/Cercle.jpg.html pour faire apparaîre une mire comme au biathlon: même technique, vous chargez une autre copie du filtre Logo en fin de liste et vous lui faites surimprimer l'image du cercle mais là encore convertie en BMP.


Et vous verrez danser la croix dans le cercle, cela ne sert à rien me direz-vous mais c'est impressionnant. Surtout si en plus, vous avez choisi dans deshaker de ne pas combler les espaces laissés noirs lors des ajustements générés par Deshaker. Ainsi, la prochaine fois, vous achèterez un pied pour la caméra...
_ç_§:
(.)#(.)
1
M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 667
16 févr. 2006 à 20:51
Si la source à traiter vient d'une caméra, les images sont probalement entrelacées, faisant apparaître des stries horizontales sur les arêtes verticales de corps en mouvement, cela s'explique: il y a deux images prises à 40 msec d'intervalle, et les éléments en mouvement latéral se seront déplacés alors que deudx demi images successives seront superposées. Il existe plusieurs filtres pour virtualdub qui gèrent cela, celui qui est fournit en standard et qui est interne n'est pas très adapté.
Je lui préfère Smart deinterlacer disponible sur http://neuron2.net/smart/smart.html et qui doit être placé en tête de liste de traitement par filtres, et qui donnera souvent le meilleur résultat en mode Blend. C'est ce mode qui est disponible dans le codec Divx 5.21 sous la dénomination "Interlacing / De-interlace source". Son application est plus rapide si elle est couplée au codec plutôt que sous la forme d'un filtre virtualdub puisque le codec doit lui aussi examiner chaque image. Mais dans notre cas, c'est au contraire dans Virtualdub qu'il faut le faire, avant deshaker sinon les sties subiraient des rotations et des dilatations qui empêcheraient de les gommer au codage divx.


Le filtre smart.vdf doit simplement être copié dans le répertoire c:\program files\virtualdubmod\plugins puis il sera disponible dans le menu des filtres vidéo au prochain démarrage de VirtualDubMod.
_ç_§:
(.)#(.)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 667
16 févr. 2006 à 22:22
Venons-en à ma technique, je suppose que vous avez tous lu les conseils de John Meyer cité en 1. Les passionnés liront aussi http://web.utanet.at/grundlau/Deshaken%20von%20interlaced%20Video.pdf
http://www.codecpage.com/Deshake.html
http://www.dvd-svcd-forum.de/forum/viewtopic.php?t=17653
ou bien vous recherchez le mot deshaker sur le site de Gleitz (http://www.dvd-svcd-forum.de/forum/viewtopic.php?t=17653 )
On y parle beaucoup du traitement des images entrelacées avec des filtrages plus précis utilisant Avisynth, moi je m'en suis tenu au mode blend qui n'ets pas très bon j'en conviens.

Alors voici d'autres conseils :

Téléchargez Deshaker 1.8.1 sur http://www.guthspot.se/video/deshaker.htm
Installez-le dans .\Virtualdubmod\plugins et voilà.

Deshaker offre plein d'options de réglages autant dans la passe 1 que 2, mais obligatoire: complétez le tableau de la passe 2 complètement avant de remplir les paramètres de la passe1 et d'exécuter cette première passe, sinon le fichier deshaker.log ne sera pas optimal.

Des valeurs sont données par défaut pour les trois volets de la page de configuration, vous laisserez les valeurs standards sauf celles-ci:

En passe 2: Motion smoothness: quatre fois le facteur 200. Max correction limits : Trois fois 50 mais mettre correction zoom à 2 qui va nous aider à conserver le piqué d'image, edge compensation= none (large borders), use previous and future frames = 30+15 (c'est suffisant pour les vibrations rapides cela couvre près de 2 secondes, d'autres auteurs prescrivent 50+50 couvrant 4 secondes, mais on perdra les deux première secondes du film, je trouve que c'est trop pénalisant tandis qu'avec 15 frames on ne perd que 0,6 secondes).

En passe 1 oui après avoir rempli la page de la passe 2): Block size=20, Use pixels every 9th, Initial search range 60%, Use deep analysis if >70%.

Ensuite vous pouvez faire tourner le première passe pour obtenir ce fichier c:\deshaker.log reprennant coordonnées des vibrations. Pour gagner beaucoup d etemps, je conseille de ne pas provoquer le codage du film en cliquant sur sauver AVI mais au contraire, de cliquer dans Virtual dub sur les icônes Rewind puis Output Play pour faire défiler le film à l'écran. on verra l'original à gauche et la fenêtre avec les vecteurs de déplacement à droite pendant qu'il crée le fichier deshaker.log.
Laissez couler jusqu'à la fin du film et cette première passe sera terminée. Rouvrez le filtre, cliquez sur seconde passe. Sortez, désignez le codec souhaité.

Si c'est le codec Divx 5.2.1 on peut y définir une réduction de dimension en 640 ou 480x320 en mode Bicubic-Sharp, puisqu'on va tout de même perdre en piqué d'image à cause du Deinterlacer, et des effets de loupe, et un mode Strong source pre-processing pour alfiiner le résultat.

Il faut aussi aller dans Virtualdubmod à la page Flux /liste de flux /Source Avi file / Traitement complet / Entrelacement / Retarder la piste audio de 600msec. Ceci va servir à compenser les 15 images de prétraitement vidéo demandées à la passe 2 de Deshaker.

Et cette fois vous faites: "Sauver l'AVI" dans le menu de VirtualdubMod. Cette seconde passe de Deshaker peut être lancée à deux reprises si vous souhaitez effectuer le codage divx en deux passes pour une meilleure qualité de compression.

En fin de traitement le fichier AVI résultant contiendra au début 600msec d'images noires à couper, ce qui peut se faire facilement avec le virtualdubmod en mode copie de flux directe puisqu'il y a un key frame exactement à la 15ème image. J'ai expliqué il y a très longtemps comment faire sur http://www.commentcamarche.com/forum/affich-188932-virtuadub#4
mais en plus, au lieu d'avancer image par image il faut cliquer sur l'icône keyframe (une petite clé jaune à pour arriver tout de suite au meilleur endroit coup couper)
_ç_§:
(.)#(.)
0
M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 667
21 nov. 2006 à 23:34
Deshaker v2.0 est sorti, voir sur http://www.guthspot.se/video/deshaker.htm
Ce programme est l'équivalent du mode stabilisateur de prise de vue de votre camescope mais a posteriori.
La version 2.0 introduit un mouveau mode Soft Borders permettant d'adoucir les transitions entre l'image stabilisée et les bords recomposés, extraits des images précédentes et suivantes. C'est utile dans le mode Edge compensation=none que je préfère au mode Adaptative zoom.
Il y a aussi une nouvelle option Extrapolate colour in border.

J'ai constaté que l'analyse en passe 1 en mode Grey scale au lieu de RGB est souvent plus précis, (mon petit programme Awk donné ci-dessus donne un meilleur score à l'analyse du rapport c:\deshaker.log).

Le mode Edge compensation 'none large border' avec Motion smoothness =400 donne de fortes vibrations quand c'est saccadé, et que deshaker tente de stabiliser alors que si on redescend le smoothness à 100, le fond bougera plus, genre caméra à l'épaule mais le résultat sera plus net.

Je n'ai pas de solution miracle, j'ai voulu débrouissailler le terrain car je vois bien qu'il y a trop de paramètres à explorer pour le commun des mortels, mais ce petit programme est très amusant à expérimenter.
0
Bonjour,

Comment éviter que VirtualDubMod augmente de presque 10 fois un vidéo qui avait au départ seulement 7 MO puis, après avoir effectué les deux passes de Desaker v1.8 , se retrouve avec un dossier final de presque 85 MO?

Votre expérience sur ce logiciel serait bien apprécié; c'est d'ailleurs par votre intermédiare que j'ai découvert ce logiciel en recherchant des instructions sur la rotation de vidéo...

Merci pour vos trucs et, bonne journée..
0
Utilisateur anonyme
28 févr. 2007 à 18:20
Salut
Tout simplement tu as oublié la compression (DivX en général) avant d'enregistrer ton fichier !!
0
Bonjour je n'ai pas divx dans la liste des compressions possibles.
Dois-je rejouter un plug-in ? Et si oui ou le trouver ?

Merci d'avance
0
Utilisateur anonyme
3 juin 2007 à 10:32
SAlut
C'est pas un plugin c'est un CODEC !
Il faut installer les codec DivX soit à partir d'un pack soit seul si tu as pas besoin d'autres
0
Bonjour !
Je suis en train de réaliser un clip en stop motion avec des petits personnages, et le fait d'appuyer sur le déclencheur bouge très légèrement l'appareil à chaque fois. Jai fait quelques tests et il me smble que ce filtre résoud bien mon problème ! Il me reste à tatonner un peu pour trouver les réglages optimaux...

J'ai une question subsidiaire, l'éclairage varie très légerement suivant le moment de la journée où est prise la photo, ce qui donne un petit clignotement assez désagréable. Connaissez vous un filtre qui homogénéise la luminosité pour virtualdub ?

En vous remerciant d'avance, et pour votre articke
Manu
0
cyril64 Messages postés 1 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 14 mars 2008
14 mars 2008 à 00:07
Bonsoir,
Merci a M&M pour tout ces conseils
@+
0
Bonjour j'ai voulu télécharger le filtre deshaker pour l'utiliser avec virtualdubmod leprobleme et que sur mon ordi portable le filtre marche très mais sur un autre ordinateur il ne marche pas pourtant jai suivi toutes vous demarche a la lettre.Alos si quelqun pouvais me dire se que je pe faire.Merci d'avance
0
M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 667
16 juin 2008 à 10:56
Pas de chance, je ne sais pas pourquoi, moi je n'ai eu aucun problème, ni avec virtualdub, ni virtualdubmod, ni virtualdub-mpeg2. Bon, il faut avoir ajouté un minimum de codecs pour pouvoir décoder et recoder les divx par exemple, mais ils ne sont pas livrés avec la série Virtualdub, voir sur https://www.free-codecs.com/
_ç_§:
(.)#(.)
0
Bonsoir,
Comment se fait-il que je retrouve lors de la visualisation après compression des traits rouge et blancs?
Merci
Cyril
0
christrofort Messages postés 3 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 14 décembre 2008 4
6 déc. 2008 à 13:08
bonjour m&m ,
voila ma question , j'ai téléchargé virtual dubmod, avec le lien que tu as laissé,
puis deshaker avec l'autre lien,
placé deshaker dans plugins de virtual mod ( faut il decompressé deshaker , car c'est ce que j'ai fait ! )
et quand je vais dans virtual dub/ video/ filltres / ajouter
je ne trouve pas deshaker !!!!

peu tu m'aider ?
merci beaucoup
0
Utilisateur anonyme
6 déc. 2008 à 16:23
ca peut être normal, sur le lien il est parqué juste en dessous de la ligne de download:
Important: If VirtualDub reports an error or if it can't load Deshaker correctly, you're most likely missing some required files. In that case, simply install the Microsoft Visual C++ 2005 SP1 Redistributable Package.
http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647
0
christrofort Messages postés 3 Date d'inscription samedi 6 décembre 2008 Statut Membre Dernière intervention 14 décembre 2008 4
6 déc. 2008 à 19:07
mais visual c+ peut me permettre la stabilisation d'images ???
0
Utilisateur anonyme
6 déc. 2008 à 19:10
si on en croie ce qui est marqué =>oui
Mais j'ai pas essayé !
0
M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 667
12 déc. 2008 à 15:43
Bonjour Christropfort, bonjour à tous,

Virtualdub continue son bonhomme de chemin actuellement v 1.8.6, les autres versions (Virtualdubmod et Virtualdub-Mpeg2 sont laissées à l'abandon du fait de l'existence de nouveau filtres d'entrées à placer dans un nouveau sous-répertoire .\virtualdub\plugins32 et qui vous permettront dorénavant d'ouvrir d'autre fichiers que AVI. comme annoncé sur http://www.unite-video.com/phpbb/viewtopic.php?p=87342
C'est ainsi que vous pourrez ouvrir les fichiers de type

WMV et MPEG-2 sur http://fcchandler.home.comcast.net
MOV et MP4 sur http://www.tateu.net/software/
FLV sur http://www.moitah.net/

Deshaker, tout comme MPEG-2.vdplugin v3.0 et WMV.vdplugin ont été compilés avec Visual C++ 2005 , il faut donc installer le runtime de Microsoft si nécessaire (vous trouverez le lien sur la page de http://www.guthspot.se/video/deshaker.htm . Et le filtre FLVInputDriver.vdplugin nécessite Microsoft .net v.2.
Je vous conseille de bien lire les fichiers readme.txt qui les accompagnent, car pour que cela fonctionne, il faut aussi configurer le filtre Fddshow pour que le décodage VFW des formats FLV1 et VP6F soient bien configurés sur libavcodec et WMV par WMV9. Quant au format quicktime, il faut aussi lire le fichier readme qui vous indique de placer leur fichier quicktime.ini dans le même répertoire de virtualdub.exe

Plus facile encore, on trouve aussi une compilation de tout cela sur le site francophone http://www.virtualdub-fr.org/2008/plugins-254-pack-de-plugins-pour-virtualdub.html sous forme d'un input-filterpack bien pratique mais pas forcément aussi à jour que sur les sites des auteurs respectifs cités juste avant. Disponible sur http://www.virtualdub-fr.org/telechargement


Enfin je salue le travail de Gunnar Thalin, l'auteur de ce formidable filtre Deshaker dont la version v2.4 est disponible sur http://www.guthspot.se/video/deshaker.htm
 _ç_§: 
(.)#(.)
0
M&M Messages postés 5038 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 3 décembre 2009 667
16 févr. 2006 à 22:34
Le fichier deshaker.log contient les corrections que deshaker va faire. Si l'analyse n'a pas réussi, vous pourriez améliorer les chose en forçant la recherche au centre de l'écran ou au contraire en masquant ce centre ou une combinaison des deux dans la passe 1. Restera alors à comparer deux fichier deshaker.log pour savoir quelle stratégie est la meilleure.

J'ai écrit un petit script Awk (http://www.simtel.net/pub/pd/51371.html ) qui en tire des statistiques pour les comparer rapidement. Il fonctionne bien avec comme seule limitation que c'est un vieux programme DOS qui ne reconnait pas les noms longs dans le filesystem.

Voici le programme à sauver dans un fichier deshake.awk à appeler dans une fenêtre de commande.
# -------------------------------------------------------
#   Syntaxe :  awk -f deshake.awk nom8+3.log
#   Date    :  16 jan 2006
# -------------------------------------------------------
BEGIN {
  print "Comptage des lignes Deshaker avec des 0.00 "
  print "-------------------------------------------\n"
  n=0;  l=0;  num=0;  zones=0
}


/ 0.00	   0.00	  0.000	1.00000/  {
   n=n+1;num++;
   if (l==0)  {l=$1;zones++}
   next
   }
// {if (l>0) 
     #print "   " l "  "num; 
     num=0; l=0
    }


END {printf ("Nombre total de lignes avec zeros   = %6d sur %4d (%4.1f\% )",n, NR,100*n/NR);
   printf ("\nNombre de zones nulles non traitees = %6d\n",zones)
}
_ç_§:
(.)#(.)
-1