Récits d'un GeekTrotter Carnet de bord binaire

17oct./090

Windows 7 x64 et l’encodage vidéo de scripts AviSynth

Avec l’arrivée du nouvel OS Windows 7 et la généralisation des processeurs 64 bits, on peut se poser la question si un passage à un Windows 7 x64 est une bonne idée ou pas.

Nous donnerons dans ce dossier notre retour d’expérience quant à l’encodage de scripts AviSynth sous Windows 7 x64 Pro.

AviSynth est un le langage de script vidéo le plus utilisé. Sa simplicité et sa puissance en sont ses points forts.

But à atteindre

Charger des scripts AviSynth dans les logiciels d’encodage tels que meGUI ou VirtualDub sous Windows 7 x64.

Problème

Si tout marchait sans problème, il n’y aurait bien évidemment aucun intérêt à ce dossier.

Le problème est donc que AviSynth n’est disponible qu’en version 32 bits, et que donc, si vous voulez faire appel à des scripts AviSynth, les programmes faisant ces appels doivent être aussi en 32 bits.

Quitte à avoir un OS 64 bits, on serait tenté d’installer par exemple VirtualDub 1.9.6 x64, ou MPC-HC x64 ou encore ffdshow rev3096 x64.

Mais le problème est qu’aucun de ces logiciels ne sera alors capable de lire des scripts AviSynth…

Solution

L’astuce est donc d’installer les versions 32 bits de tous les logiciels faisant appel à AviSynth.

Un classique qui marche très bien, sans avoir besoin de passer par divers “tweaks” est d’installer Haali Media Splitter et ffdshow, en version 32 bits donc, en plus d’AviSynth version 2.5.8 ou supérieur (version 2.6.0 Alpha 2 testée avec succès).

À installer :

Encodeurs : (au choix)

Optionel :

Inconvénient

Les OS 64 bits ont encore du chemin à faire en encodage...

L’inconvénient principal de cette méthode est qu’on perd totalement l’intérêt du 64 bits. En effet, l’émulation de programmes 32 bits sur un OS 64 bits est moins performante que l’exécution native de programmes 32 bits sur un OS 32 bits…

Cela dit, c’est actuellement à ma connaissance la seule méthode pour encoder les scripts AviSynth sur Windows 7 x64.

Être obliger d'avoir tous les encodeursen 32 bits est tout de même un comble quand un des avantages du 64 bits est le multimédia...

Problèmes et solutions

Nouveau DirectShow de Windows 7

Windows 7 inclus un problématique nouveau système de gestion de filtres DirectShow. En bon vilain qui impose sa loi, de base, il ne permet d’utiliser que les filtres DirectShow de Microsoft.

Si vous avez des problèmes pour forcer la lecture via des filtres DirectShow autres (ffdshow, Haali, …), vous pouvez utiliser des “tweakers” :

  • Media Center Decoder Utility (MCDU) : développé à l’origine pour Windows Vista, mais fonctionnant aussi sous Windows 7, cet utilitaire vous permet de définir quel filtre DirectShow sera chargé pour lire les vidéos, et quel filtre sera chargé pour lire l’audio.
  • Codec Tweak Tool : cet utilitaire spécialement développé pour Windows 7 vous permettra de choisir spécifiquement quel filtre DirectShow pour tel ou tel codec sera utilisé. Permet aussi de différencier les filtres entre les versions 32 et 64 bits.

Plugins incompatibles

Une erreur a été mise en évidence sur les forums de Doom9 venant du dossier de plugins d’AviSynth. En effet, certains plugins peuvent ne pas être compatible avec Seven x64.

Dans ce cas, supprimez les plugins (ou copiez-les ailleurs) et tentez d’identifier le plugins problématique en les ré-activant un à un (en remettant dans le dossier de plugins).

N’ayant pas eu ce problème, je ne peux guère vous aider plus pour cela.

DirectShowSource: Timeout waiting for graph to start

Si vous avez cette erreur lors du chargement d’un script AVS, il se peut que ce soit car la lecture s’opère avec le mauvais filtre DirectShow.

D’après le même forum de Doom9, la solution consisterait à forcer la lecture du codec de la vidéo avec le bon filtre DirectShow via le Codec Tweak Tool dont je parle ci-dessus.

Conclusion

L’encodage de scripts AviSynth sous Windows 7 x64 est tout à fait possible, mais ne tire aucunement parti des avantages du 64 bits du fait de la limitation au mode “émulation 32 bits”.

De ce point-là, il n’y a donc absolument aucun avantage à Windows 7 x64 par rapport à sa version 32 bits.

Cependant, si votre problème était de savoir si c’était possible, même s’il n’y a aucun avantage, il est possible, moyennant quelques précautions d’encoder les scripts AviSynth avec VirtualDub, meGUI ou autre dans Windows 7 x64.

Pour ce qui est des performances, il ne nous reste plus qu’à attendre une version 64 bits d’AviSynth…

Source : http://www.erogaki.com/tutoriaux-audiovideo/encodage-virtualdubmeguiavisynth-et-windows-7-x64/