IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

Editeur de movie


Sujet :

DirectX

  1. #1
    LEK
    LEK est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Points : 470
    Points
    470
    Par défaut Editeur de movie
    Bonjour,
    je suis en train d'essayer d'écrire un petit éditeur de film pour mes besoins personnels et pour apprendre le c/c++ (et + si affinités ;-))
    Grâce à ce forum j'ai déjà pu me construire un petit lecteur vidéo : j'ai ajouté une barre représentant la timeline en dessous avec laquelle j'espère pouvoir placer un début et une fin de morceau à retirer du film avant de le réenregistrer.
    En entrée je n'utilise que du mpeg(-2) et en sortie je voudrais sauvegarder en mpg/avi ou mp3 (je ne garderais dans ce cas là que la bande son).
    Je voudrais savoir si DirectShow peut me permettre de réaliser mon projet (ou si cela est impossible autant que je le sache de suite) ?
    Si oui, existe-t-içl un projet ou tuto de ce type que je puisse suivre pour arriver rapidement à un résultat ?

    Merci par avance,
    Lek.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 112
    Points
    112
    Par défaut
    tu as des exemples dans le SDK DirectShow

    February_2005_DirectX_SDK

  3. #3
    LEK
    LEK est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Points : 470
    Points
    470
    Par défaut
    Merci de ta réponse.
    Je vais voir pour les exemples : j'ai un téléchargement en cours pour le SDK (2009) => mais j'ai toujours les mêmes questions en attendant :
    => est ce que ce que je veux faire sera possible (notamment sur la gestion des type de formats que je vise : mpeg-2,mp3,avi) ?
    => si il y a plusieurs exemples y en a til un qui se rapproche plus précisément de ce que je cherche ou dois-je tous les lire ?

    D'avance merci,
    Lek.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Points : 112
    Points
    112
    Par défaut
    => est ce que ce que je veux faire sera possible (notamment sur la gestion des type de formats que je vise : mpeg-2,mp3,avi) ?
    oui,
    directshow fonctionne avec les types cités, et si je me trompe fonctionne avec tous les codecs présents dans la machine

    l'exemple "jukebox" du SDK correspond à ce que tu veux

  5. #5
    LEK
    LEK est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Points : 470
    Points
    470
    Par défaut
    Merci bien korsakoff69 : j'ai fini de télécharger le SDK. Une fois lancé le sample jukebox montre comment lire les différents fichiers d'un répertoire :
    mais malheureusement il ne sample pas avoir de possibilité d'édition :
    => en gros je veux couper des parties du film pour le raccourcir...

    Les autres sample ne semblent a première vue pas non plus démontrer ce type de possibilité ... Mais je ne suis pas sûr de moi : y en a t il qui démontre comment couper une partie de la vidéo ?

    Bon en tous cas, je me plonge un peu plus dans les specs pour voir comment ça fonctionne...
    Merci pour toute aide sur le sujet,
    Lek.

  6. #6
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 386
    Points
    20 386
    Par défaut
    Citation Envoyé par LEK Voir le message
    Les autres sample ne semblent a première vue pas non plus démontrer ce type de possibilité ... Mais je ne suis pas sûr de moi : y en a t il qui démontre comment couper une partie de la vidéo ?

    Merci pour toute aide sur le sujet,
    Lek.
    Tu vas devoir mettre les mains "dans le cambouis" c.a.d. faire un filtre DirectShow éventuellement.
    DirectShow est une technologie complexe basée sur des interfaces COM.
    Si tu apprends le C++ tu risques d'aborder frontalement une certaine complexité.
    DirectShow c'est comme des boites qu'on relie les unes aux autres avec le GraphBuilder: une boite qui prend un flux en entrée,une autre pour le décodage MPEG.
    Donc basiquement tu n'as rien pour découper et éditer un flux...
    il faut que tu travailles directement sur le flux.
    Sinon tu as les sources de Virtual Dub www.virtualdub.org qui te permet d'éditer des vidéos qui lui n'utilise pas DirectShow.

    Ce que tu veux faire comme projet c'est assez pointu il faut connaitre la compression/décompression vidéo

  7. #7
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Bonjour.

    Citation Envoyé par LEK Voir le message
    Merci bien korsakoff69 : j'ai fini de télécharger le SDK. Une fois lancé le sample jukebox montre comment lire les différents fichiers d'un répertoire :
    mais malheureusement il ne sample pas avoir de possibilité d'édition :
    => en gros je veux couper des parties du film pour le raccourcir...
    Extraire l'audio "complet" (.mp3) du fichier de base (mpeg2) est facile. Je peux t'indiquer comment ça marche si cela te semble complexe. L'exemple du SDK, c'est "wavdest" (enfin ça dépends peut-être des versions...).

    Si tu souhaites vraiment réaliser des coupures de fichiers vidéos par programmation (sous windows), il faut alors que tu abordes la notion de filtres DirectShow, comme Mat. M le précise. Quelles sont tes bases par rapport à cela ?

  8. #8
    LEK
    LEK est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Points : 470
    Points
    470
    Par défaut
    Merci pour ton aide. Les filtres : je ne connaissais pas avant hier, mais j'ai jeter un coup d'oeil à plusieurs des samples et commence à percevoir le mode fonctionnement : il s'agirait d'un objet COM implémentant une interface particulière réprésenter par une boîte dans le gaphEdit :
    en bref (n'hésite pas à me contredire si je dis une bétise ) j'ai cru comprendre que je dois créer une classe avec des entrées sorties nommées pin : un flux est reçu en entrée on peut alors le modifier avant de la passer au flux suivant....
    Donc pour la partie sauvegarde en fichier mp3 de la bande son, j'imagine que :
    -> je dois créer un objet graph
    -> lui ajouter un filtre mpeg2 demuliplexer
    -> à la sortie de ce dernier je n'ajoute que la partie son : filtre "mpeg-1/DD Audio decoder"
    -> ici je dois plugguer mon propre filtre qui transforme le son en mp3 (??)
    (là je devrais m'inspirer du "wavedest")
    -> ensuite je dois ajouter le filtre "file renderer" ou quelquechose comme cela pour le sauvegarder sur disque..

    Maintenant que j'ai contruit ce graph et ajouter l'ensemble des filtres, je devrais appeler la methode renderfile du graph en lui fournissant mon fichier mpeg en entrée...

    Merci de ton aide,
    -> dis moi si ce que j'ai dis est juste....
    -> Existe-il nativement un filtre qui encode en mp3 pour m'aider à construire mon propre filtre ?
    -> Possède-tu un exemple pour cette partie ?

    Lek.

  9. #9
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Re bonjour.

    Regardes ce tuto, il n'est pas officiel parce que je ne l'ai pas terminé. Mais il t'aidera, je pense : http://moldavi.developpez.com/tutorial/diretcshow2/

    Pour récupérer l'audio d'une vidéo (mpeg2), l'idée est plutôt simple. Tu dois décoder le tout de cette façon :

    Source(mpeg2)->Démultiplexer->mp3decoder(audio)->mp3encoder->wavdest->filewriter

    Tu peux tester vite fait avec graphedit. Sinon par programmation, il faudra apprendre à construire un graphe et à relier les filtres entre-eux.

  10. #10
    LEK
    LEK est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Points : 470
    Points
    470
    Par défaut
    Merci Moldavi,
    après avoir charché une bonne partie de la journée j'étais tombé sur le filtre AcsFilter avec lequel j'ai pu sauvegarder la bande son de mpeg en mp3 (il me restera bien sur à trouver comment la splitter car je veux pouvoir en retirer certain passage)...
    (Au cas où cela pourrait aider quelqu'un j'ai ajouté un aperçu de mon graphe.)
    Là où je bute maintenant c'est comment encoder mon mpeg en avi.
    Pour la partie son je n'ai pas de problème, mais je ne sais pas comment faire pour l'image...
    Je joins aussi le graphe incomplet que je possède si tu as une idée...


    Merci,
    Lek.
    Images attachées Images attachées   

  11. #11
    LEK
    LEK est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Points : 470
    Points
    470
    Par défaut
    Moldavi,
    je viens de finir ton tuto sur GraphEdit :merci. J'y ai appris quelques points et pour le reste j'en avais découvert pas mal au travers du net comme tu as pu le voir dans mon poste précédent...
    En tous cas merci pour ton aide.

  12. #12
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Bonjour.

    Tu as bien avancé.

    Pour splitter le fichier audio (mp3 résultant), il faut alors écrire le programme qui correspond à la création du graphe dans GraphEdit.

    Ensuite, tu dois utiliser l'interface IMediaSeeking. Cette interface avec la fonction "SetPositions(...)", te permet de préciser le début et la fin du fichier à encoder.

    Ensuite un simple IMediaControl->Play, et le graphe va encoder le son compris dans l'intervalle précisée par IMediaSeeking.

    Bien sûr, suivant les décodeurs, il peut y avoir des surprises...

    PS : IMediaSeeking possède "GetTimeFormat", à regarder de près pour positionner le début et la fin de fichier suivant le format (TIME_FORMAT_MEDIA_TIME, TIME_FORMAT_SAMPLE, etc...).

  13. #13
    LEK
    LEK est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Points : 470
    Points
    470
    Par défaut
    Salut,
    je vais essayer de mon côté cela dès ce soir. Hier soir j'ai déjà réussi à implémenter le début du programme : création du graphe seule pour l'instant.
    J'envoie le code en ligne dès que j'ai quelque chose fonctionnel.

    Merci encore pour les indications,
    Lek.

  14. #14
    LEK
    LEK est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Points : 470
    Points
    470
    Par défaut
    Bonsoir,
    je suis rentrer des cours plus tôt pour m'y remettre, mais avant tout je voulais être sur de la dernière opération qui consiste à passer du mpeg-2 à l'avi...
    J'ai essayé plusieurs variations sous graphEdit mais sans résultat...
    Quelqu'un aurait-il une idée ?
    Peut être faut-il passer par un format intermédiaire ?
    J'ai pu le faire avec un logiciel (shareware) que j'ai téléchargé, cela doit donc être réalisable!!

    Merci

  15. #15
    LEK
    LEK est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    715
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 715
    Points : 470
    Points
    470
    Par défaut
    Bonjour,
    j'ai aussi réussi à encoder le mpeg-2 en avi en précisant avec FFMPEG un codec vidéo wmv1... Je n'arrive toujours pas à faire de même avec graphEdit : est ce que quelqu'un aurait une idée?

    Merci pour toute aide,
    Lek.

  16. #16
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Bonjour.

    Le format AVI est un conteneur. "A priori", il peut contenir n'importe quel type de format audio et video. Il faut donc savoir dans quel format tu souhaites encoder l'audio et la video (visiblement wmv pour la video), puis encapsuler ces données dans un conteneur AVI.

    Le format AVI étant "Microsoft propriétaire", tu disposes d'API pour la manipulation. Un exemple ici : http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx

    Cet exemple semble uniquement orienté video, il faut combiner avec les exemples audio, et essayer de se dépatouiller. Malheureusement, cette API n'est pas "DirectShow oriented", donc dur de simuler sous GraphEdit. Il faudrait trouver le Muxer qui va encapsuler les données audio/video compressées. Je ne sais pas s'il existe...

    Un exemple de muxer ici :

    http://blog.monogram.sk/janos/images.../enc-graph.png

    Le blog :

    http://blog.monogram.sk/janos/2008/1...filter-part-2/

    C'est pour du flv à partir d'un AVI... Mais l'idée sous GraphEdit est la même.

Discussions similaires

  1. Éditeur utilisé pour faire du HTML
    Par mio dans le forum Balisage (X)HTML et validation W3C
    Réponses: 295
    Dernier message: 22/12/2008, 15h21
  2. Editeur de fichiers *.rc;*.res
    Par srvremi dans le forum Outils
    Réponses: 11
    Dernier message: 20/08/2007, 08h09
  3. Compilateur - editeur C++ pour Linux
    Par Torpedox dans le forum Choisir un environnement de développement
    Réponses: 5
    Dernier message: 15/09/2002, 02h16
  4. Editeur de MAP en delphi pour jeux directX
    Par PetitScorpion dans le forum DirectX
    Réponses: 5
    Dernier message: 09/07/2002, 18h47
  5. Editeur en mode console
    Par logramme dans le forum C
    Réponses: 5
    Dernier message: 11/06/2002, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo