Sharemanga: Vidéo : Utilisation de GraphEdit - Sharemanga

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Vidéo : Utilisation de GraphEdit

Posté lundi 15 août 2005 à 14:14 (#1) L'utilisateur est hors-ligne   pøllux 

  • Grenouille Jedi
  • PipPipPipPipPipPipPip
  • Groupe : Membres
  • Messages : 944
  • Inscrit(e) : 06/06/2004

Quand il n'y a plus aucun espoir d'y arriver avec VirtualDub... :lol:

Introdution

On en a déjà parlé dans quelques sujets (notamment dans le tuto pour supprimer les saccades XviD sur les platines DivX) alors voici un petit tuto sur GraphEdit. A la base, il est fourni gratuitement par Microsoft dans le Software Development Kit de DirectX pour aider les développeurs à créer et tester leurs propres filtres DirectShow. Il sert en fait à visualiser le fonctionnement d'une application DirectShow à travers la construction et l'exécution d'un graph. Ce graph contient des briques qui représentent les filtres mis en jeu et qui sont reliées entre elles par des flèches au niveau d'un point d'attache appelé "pin".

  • Filtres : Il s'agit de composants qui permettent d'effectuer une opération élémentaire sur un fichier média, un flux, etc... Dans DirectShow, le filtre est un concept assez général pour inclure le composant qui ouvre le fichier média comme celui qui décompresse un flux ou celui qui affiche la vidéo à l'écran. Il est assimilable à un plugin.
  • Pins : Il s'agit des points d'attache des briques (filtres). Il y a deux types de pins : les pins d'entrée placés à gauche de la brique et généralement notés "In" ou "Input" et les pins de sortie placés à droite de la brique et généralement notés "Out" ou "Output". Beaucoup de filtres ont 1 pin d'entrée et 1 pin de sortie mais ça n'est pas une généralité : Certains filtres peuvent avoir plusieurs pins d'entrée ou de sortie, tandis que d'autres n'ont pas de pins d'entrée ou de sorties. Enfin, il existe même des filtres qui n'ont pas de pins du tout !
  • Flêches : Il s'agit de transporter le résultat du traitement effectué par un filtre vers un autre filtre. Elles sont donc toujours dirigées dans le même sens : du pin de sortie d'un filtre vers le pin d'entrée d'un autre filtre.
Installation

Plutôt que de télécharger le SDK de DirectX en entier, GraphEdit existe en version repackagée fourni avec quelques filtres :

  • DUMP.AX : Couplé au filtre "File writer", ce filtre a le même effet que l'option "Demux" de VirtualDub (extraire les données brutes d'un flux).
  • lame_dshow.ax : Le filtre d'encodage MP3 de LAME.
  • Mpeg2Parser.ax : Le splitter MPEG-2 de Ligos. Couplé à l'"I-Media Multiple MPEG2 Source", il permet de séparer les différents flux d'un rip DVD.
  • Multiple_MPEG2_Source.ax : Un filtre qui permet d'ouvrir une série de fichiers VOB issus d'un rip DVD.
  • WAVDEST.AX : Couplé au filtre "File writer", ce filtre a le même effet que l'option "Save WAV" de VirtualDub (encapsuler un flux audio dans un conteneur WAV).
GraphEdit ne nécessite pas d'installation, il suffit de décompresser l'archive dans un répertoire. Par contre, il faut enregistrer les filtres fournis pour pouvoir les utiliser. Pour celà, GraphEdit est souvent livré avec un fichier BAT à lancer. Sinon, il faut exécuter à la main et pour chaque filtre, la commande REGSVR32 en spécifiant le nom du filtre et son chemin complet (exemple: regsvr32.exe C:\Graphedit\lame_dshow.ax). Un message avertit du bon déroulement de l'opération.

A noter :

  • Le fichier BAT utilise le commutateur /S pour supprimer le message d'information final.
  • Il est possible de désinstaller un filtre en utilisant le commutateur /U.
  • Si le répertoire de GraphEdit est renommé, supprimé ou déplacé, les filtres ne seront plus utilisables puisque leur chemin complet est utilisé lors de l'enregistrement.
  • L'utilitaire SysEnum fourni dans le package est utilisé pour lister les filtres installés. Il permet également de savoir le nom et le chemin complet du fichier AX ou DLL associé à un filtre.
Lancement de GraphEdit

Il suffit d'exécuter graphedt.exe :

Image IPB
L'interface de GraphEdit.

(1) Respectivement boutons de création, d'ouverture et d'enregistrement d'un graph.
(2) Bouton d'impression.
(3) Respectivement boutons pour couper et coller la sélection et bouton pour insérer ce qui est enregistré dans le presse-papier.
(4) Respectivement boutons de lecture, de pause et d'arrêt du graph.
(5) Respectivement bouton d'insertion d'un filtre et bouton de suppression des flèches.
(6) Bouton de connexion à une autre application en cours.
(7) Bouton de rafraîchissement du graph.
(8) Bouton d'affichage de la boîte "A propos...".
(9) Bouton de sélection de la frame suivante.
(10) Barre de progression et de navigation à travers les frames.


Affichage du graph de rendu

C'est le fonctionnement par défaut de GraphEdit. Afficher le graph de rendu d'un fichier media, c'est visualiser tous les filtres qui sont mis en jeu par un player DirectShow et le mécanisme de lecture. Plusieurs façon pour y arriver :

  • L'option "Render Media File..." du menu "File" ou l'option "Render URL..." si le fichier est disponible sur Internet.
  • Le drag & drop du fichier média dans GraphEdit.
  • La construction du graph à la main si on sait à l'avance quels filtres sont utilisés...
Image IPB
Un AVI avec 1 piste vidéo XviD et 2 pistes audio MP3 : Le fichier "Exemple1.avi" est ouvert par "File Source Async." puis envoyé à l'"AVI Splitter". Le flux vidéo ("Stream 00") est envoyé au décodeur "XviD MPEG-4 Video Decoder" pour être affiché à l'écran via "Video Renderer" tandis que les 2 pistes audio ("Stream 01" et "Stream 02") sont décompressées par le "MPEG Layer-3 Decoder" puis envoyées à la carte son via "Default DirectSound Device".

L'exécution du graph par le bouton "Play" provoque la lecture du fichier média dans une fenêtre ActiveMovie et la barre de progression se tranforme en barre de nagivation. Pour peu que l'option "Use Clock" du menu "Graph" soit activée, on a là un player DirectShow des plus basiques avec un bouton "Stop" et un bouton "Pause".

Image IPB
La lecture dans une fenêtre ActiveMovie.

A noter :

  • Les filtres changent de couleur selon qu'ils soient connectés à d'autres filtres ou pas.
  • Si l'option "Use Clock" est activée, l'horloge du filtre "Default DirectSound Device" devient jaune.
  • Pour afficher le graph de rendu, il est nécessaire de disposer de tous les filtres mis en jeu, y compris ceux dont on n'a pas besoin ou qui sont natifs à un player "évolué".
  • Un graph de rendu est plus ou moins différent d'une machine à une autre selon les codecs et filtres qui sont installés (exemple : le "ffdshow MPEG-4 Video Decoder" peut très bien être utilisé à la place du "XviD MPEG-4 Video Decoder").
Modification du graph de rendu

On peut se contenter d'afficher un graph mais on peut également le modifier :

  • Pour supprimer une flêche : Sélectionner la flêche puis appuyer sur la touche "SUPPR" ou utiliser l'option "Delete" du menu "File".
  • Pour supprimer un filtre : Sélectionner la brique puis appuyer sur la touche "SUPPR" ou utiliser l'option "Delete" du menu "File".
  • Pour insérer un filtre : Cliquer sur le bouton d'insertion ou utiliser l'option "Insert Filters..." du menu "Graph", sélectionner le filtre puis cliquer sur le bouton "Insert Filter".
  • Pour connecter un filtre à un autre : Cliquer sur le pin de sortie d'un filtre, diriger la souris vers le pin d'entrée d'un autre filtre puis relacher le bouton de la souris.
Image IPB
La fenêtre d'insertion des filtres.

Exemple : Sélection d'une piste audio lors de la lecture d'un BivX

Un BivX est un fichier média qui contient 1 piste vidéo et 2 pistes audio. La plupart des players possèdent un filtre intégré (de type Morgan Stream Switcher) pour pouvoir lire la piste audio souhaitée (VO ou VF en général). Dans le cas d'un player simple comme Windows Media Player, ce filtre n'existe pas et la lecture du fichier média entrainera la lecture des 2 pistes audio en même temps. La solution : (installer Morgan Stream Switcher bien sûr ou) créer un graph qui va supprimer la piste audio non utilisée.

  • Afficher le graph de rendu du BivX.
    Image IPB
    Un AVI avec 1 piste vidéo XviD et 2 pistes audio MP3.
  • Supprimer tous les filtres qui sont utilisés pour la piste audio non souhaitée et qui sont situés après le pin de sortie du splitter.
    Image IPB
    Le graph ne laisse plus apparaître qu'une des 2 pistes audio.
  • Exécuter le graph pour lire le résultat dans GraphEdit via le bouton "Play"
    ou
    Enregistrer le fichier GRF par l'option "Save Graph" du menu "File" et ouvrir ce fichier GRF dans un player : on vient ici de créer un lanceur comme il en existait au tout début de l'utilisation des BivX (cette solution ne fonctionne plus qu'avec un nombre restreint de players).

A noter :

  • Si un filtre n'est pas utilisé mais qu'il est toujours présent dans le graph, l'exécution du graph ne fonctionnera pas.
  • La suppression d'un filtre supprime également les flêches de connexion de ce filtre.
  • La plupart des filtres à insérer se trouvent dans la section "DirectShow Filters".
  • L'option "Intelligent Connect" permet de détecter les incohérences lors de la connexion d'un filtre à un autre et d'ajouter automatiquement le filtre qui va bien.
  • Sauf dans les cas où c'est clairement indiqué, il n'est pas nécessaire d'enregistrer le fichier GRF quand on quitte GraphEdit.
Création de graphs

Exemple 1 : Extraction d'un flux audio

  • Lancer GraphEdit.
  • A partir du graph de rendu, supprimer tous les filtres autres que le "File Source Async." (celui qui porte le nom du fichier media "Exemple1.avi") et l'"AVI Splitter"
    ou
    Insérer le filtre "File Source Async." en sélectionnant le fichier media à ouvrir ("Exemple1.avi") puis insérer le filtre "AVI Splitter".
    Image IPB
    Un AVI (XviD/MP3) dont on veut extraire la piste son.
  • Insérer le filtre "Dump" et entrer le nom du fichier de sortie, ici "Exemple1.mp3".
  • Connecter les filtres entre-eux de la façon suivante :
    Image IPB
    Le flux audio "Stream 01" est extrait vers "Exemple1.mp3".
  • Cliquer sur le bouton "Play" et attendre la fin de la lecture.

Exemple 2 : Conversion OGM -> AVI

  • Lancer GraphEdit.
  • A partir du graph de rendu, supprimer tous les filtres autres que le "File Source Async." (celui qui porte le nom du fichier media "Exemple2.ogm"), l'"Ogg Splitter" et le "Vorbis Decoder"
    ou
    Insérer le filtre "File Source Async." en sélectionnant le fichier media à ouvrir ("Exemple2.ogm") puis insérer les filtres "Ogg Splitter" et "Vorbis Decoder".
    Image IPB
    L'OGM dont la piste audio sera convertie en MP3 pour être multiplexée dans un AVI.
  • Insérer les filtres "AVI Mux", "MPEG Layer-3" et "File Writer" en spécifiant le nom d'un fichier de sortie, ici "Exemple2.avi".
  • Connecter les filtres entre-eux de la façon suivante :
    Image IPB
    On récupère la vidéo telle quelle à la sortie de l'"Ogg Splitter" alors que le son est décodé via le "Vorbis Decoder" puis réencodé via "MPEG Layer-3". Le tout est ensuite muxé dans un AVI.
  • Cliquer sur le bouton "Play" et attendre la fin de la lecture.

A noter :

  • Il est impossible d'utiliser directement l'encodeur MP3 de LAME autrement que pour produire un fichier MP3, d'où l'utilisation du banal encodeur de Microsoft.
  • Il peut être nécessaire de paramétrer certains filtres (comme les encodeurs ou les muxers) avant d'exécuter le graph via l'option "Filter Properties" du clic-droit.


Posté lundi 15 août 2005 à 22:20 (#2) L'utilisateur est hors-ligne   Lag 

  • Squatteur
  • PipPipPipPip
  • Groupe : Membres
  • Messages : 202
  • Inscrit(e) : 29/04/2003

Magnifique tutorial , merci pøllux :)

Attention à l'utilisation de graphedit pour les opérations de suppressions.
Quand on supprimes des filtres mis dans la fenêtre de graphedit aucun soucis ils ne sont pas physiquement supprimés, par contre le fichier avi lui peut être physiquement supprimé sans préavis (et sans rattrapage dans la corbeille)!!
Histoire vécue sur un enregistrement original (si vous dire si j'etais un peu vert sur ce coup là :angry: ).

ps: je ne sais pas si c'etait une version buggé ou si c'est commun à toutes les versions mais donc prudence dans les manip ou travailler sur des doubles.
Sinon c'est un outil complexe mais extrement puissant une fois maitrisé (ce qui n'est pas une mince affaire) que ce soit pour une simple lecture ou un encodage/muxage rebel.

Posté mardi 16 août 2005 à 02:59 (#3) L'utilisateur est hors-ligne   pøllux 

  • Grenouille Jedi
  • PipPipPipPipPipPipPip
  • Groupe : Membres
  • Messages : 944
  • Inscrit(e) : 06/06/2004

Lag, le 15/08/2005 à 23:20, dit :

Magnifique tutorial , merci pøllux  :angry:

Merci Lag :)

Lag, le 15/08/2005 à 23:20, dit :

Attention à l'utilisation de graphedit pour les opérations de suppressions.
Quand on supprimes des filtres mis dans la fenêtre de graphedit aucun soucis ils ne sont pas physiquement supprimés, par contre le fichier avi lui peut être physiquement supprimé sans préavis (et sans rattrapage dans la corbeille)!!
Histoire vécue sur un enregistrement original (si vous dire si j'etais un peu vert sur ce coup là :(  ).

ps: je ne sais pas si c'etait une version buggé ou si c'est commun à toutes les versions mais donc prudence dans les manip ou travailler sur des doubles.

Bizarre le fichier qui se supprime :)
Je n'ai jamais eu ce problème et puis les fichiers sont ouverts en lecture seule... Mais bon, bosser sur des copies est le plus sage je pense :lol:

Lag, le 15/08/2005 à 23:20, dit :

Sinon c'est un outil complexe mais extrement puissant une fois maitrisé (ce qui n'est pas une mince affaire) que ce soit pour une simple lecture ou un encodage/muxage rebel.

Tout à fait d'accord. Encore aujourd'hui, il m'arrive de m'arracher les cheveux quand 2 filtres refusent de se connecter l'un à l'autre :blink:

Posté lundi 23 novembre 2009 à 15:25 (#4) L'utilisateur est hors-ligne   Lyrha 

  • Leecheur
  • Pip
  • Groupe : Membres
  • Messages : 1
  • Inscrit(e) : 23/11/2009

Bonjour,

Vu la date du post, vous risquez de ne pas répondre, mais bon je préfère essayer.

J'ai entendu parler du logiciel GraphEdit comme pouvant associer deux musiques, mais je ne sais pas comment faire. Vous pourriez m'aider et également me dire a quoi ça sert qu'il y ait tant de filtre ? (quand j'ouvre un fichier audio graphEdit me le décompose en 4 rectangles, (le premier porte le nom du fichier, le second MPEG-I Stream splitter, l'autre MP3 decoder DMO et le dernier Default directSound device) sont-ils tous vraiment utiles ?

Merci d'avance :ermm:

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet


1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

Thème et langage