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

C++ Discussion :

Lecteur vidéo en C++


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 41
    Par défaut Lecteur vidéo en C++
    Bonjour,
    je dois développer un player audio/vidéo en C++. Je voudrais savoir quelles librairies vous me conseilleriez pour gérer le flux audio/video. J'ai commencé à regarder en direction de DirectX avec directshow, mais ca l'air assez compliqué.
    Par ailleurs, utiliseriez vous directX ou autre chose comme Gtk pour créer l'interface graphique, sachant que j'aimerais utiliser la librairie la plus simple.

    Merci d'avance de vos réponses !

  2. #2
    Membre éclairé
    Avatar de warubi
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 399
    Par défaut
    Je te conseille la SDL assez simple. Regarde ici :
    http://loka.developpez.com/tutoriel/sdl/

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 41
    Par défaut
    SDL a l'air pas mal du tout, mais d'après les tutos que j'ai trouvé, elle ne prend pas en charge la lecture de flux vidéos (décomposer un avi en video et en audio). J'ai également trouvé peu de choses sur la création d'une interface (boutons, menus, etc) .
    Sinon j'ai commencé à regarder la librairie wxWidget qui permet de créer une interface graphique très facilement,et aussi assez orientée objet, qu'en pensez vous?

    Ou avez vous d'autres librairies assez simple d'utilisation et qui soient orientées objet si possible à me conseiller?
    Merci!

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    GStreamer est probablement le plus portable, le plus facile à utiliser, et qui permet le plus de choses que tu peux utiliser pour la vidéo.
    Bien que GStreamer soit surtout populaire sous Linux, cela fonctionne aussi sur Windows et Mac OS X.

    D'autres alernatives portables moins faciles à utiliser sont les plugins fournis par VLC ou mplayer.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    C'est une question que je me suis déja beaucoup posé.
    Tout d'abord, l'interface graphique n'a absolument rien à voir avec ça, prends ce que tu veux (sauf éventuellement si tu envisages de jouer la vidéo dans une surface accélérée au niveau matériel-c'est indispensable dans les players dignes de ce nom mais vu la complexité tu peux mettre ça de coté).
    Pour l'api de lecture, ça dépend de la plateforme:
    - sous Windows => DirectShow, fort efficace, permet facilement de bénéficier de cette fameuse surface matérielle (tu es peut-être obligé d'utiliser MFC comme api de fenêtrage), est très facilement extensible (il n'y a qu'à voir le nombre de gens qui ont le codec divx sur leur machine ). Au fait, directshow ne fait plus partie de directx, c'est à part depuis un petit temps.
    - sous Linux => Gstreamer, ce n'est pas la seule mais on en parle de plus en plus et il semblerait que beaucoup de codecs soient disponibles
    - portable: alors la c'est la poisse, il y a bien Gstreamer qui est portable mais je doute qu'il soit beaucoup supporté sur windows (surtout au niveau des codecs qui sont fait par des équipes à part - c'est à dire la quasi totalité), et puis le pequin lambda ne comprendra jamais qu'il doit installer un codec spécifique à ton player au lieu du codec Divx qu'on trouve sur Telecharger.com .
    Il y a bien OpenMax, un standard développé par la même fondation qui maintient OpenGL. C'est sensé être une surcouche par dessus n'importe quelle api de lecture multimédia existante. Malheureusement, il n'y a aux dernières nouvelles pratiquement pas d'implémentation (2 si je me souviens bien ).

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    907
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 907
    Par défaut
    Prend DirectShow, qui se télécharge désormais avec la Platform SDK. Dedans il y a des exemples comme ce que tu veux faire.

    Christophe,

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    il y a bien Gstreamer qui est portable mais je doute qu'il soit beaucoup supporté sur windows
    C'est parfaitement supporté à ma connaissance.

    (surtout au niveau des codecs qui sont fait par des équipes à part - c'est à dire la quasi totalité)
    Si les plugins fonctionnent sous linux a priori ils fontionnent aussi sous Windows...

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    907
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 907
    Par défaut
    Les produits Windows sont de meilleure qualité que les produits Linux. Il faut mieux que tu prenne DirectShow.

    Christophe,

  9. #9
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Très drôle.

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Citation Envoyé par loufoque
    Si les plugins fonctionnent sous linux a priori ils fontionnent aussi sous Windows...
    Tout n'est pas si rose. Tous les projets autour de gtk sont compatibles windows parceque les développeurs font preuve d'un grand professionalisme et ne délaissent pas une autre plateforme à partir du moment où il est possible de faire du code portable.
    Il n'en est pas de même pour tous les développeurs linux
    Combien de fois ne me suis-je pas pointé sur le site d'un programme fait pour linux en me disant que, logiquement, il devrait fonctionner sur windows pour constater dans la faq des remarques telles que:
    - ça fonctionne sous windows mais on ne fait pas de binaires (parfois avec un lien vers un autre site sensé en fournir mais la dernière version date d'il y a deux ans)
    - on avait essayé une fois, ça fonctionnait mais depuis on sait plus
    - rien (sous entendu: ça fonctionne pas et de toutes façons on s'en fout)
    - utilisez cygwin (je me marre )

    Et puis, même si on fournit des binaires, il n'y a quasiment aucune chance qu'on fournisse un installeur (indispensable pour un programme de lecture vidéo, qui est par nature grand public).
    Ce n'est pas pour rien que le seul player que je connaisse qui soit vraiment utilisé sur les deux plateformes soit VLC, qui réinvente un api et fournit d'office ses propres codecs (ce que je déconseillerais pour des questions légales- brevets,ect...).

  11. #11
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Les plugins de gstreamer ne sont a priori que des wrappers vers des bibliothèques genre libmad, bibliothèques qui sont directement utilisées par VLC par exemple.

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    J'ai jamais dit le contraire, ça change quoi?

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    907
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 907
    Par défaut
    Ca mange pas de pain.

  14. #14
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Ça change que comme ces bibliothèques fonctionnent sous Windows (par exemple avec VLC) et que gstreamer fonctionne aussi sous Windows, il ne devrait pas y avoir de problèmes avec les codecs usuels.

  15. #15
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Et l'api qui sert de wrapper ça compte pour du beure? Ce n'est parcequ'elle sera de moindre complexité (et encore, c'est loin d'être simple de faire communiquer deux technos créées séparément) qu'elle sera automatiquement compatible, correctement soutenue et facilement disponible sur les plateformes windows.

  16. #16
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    L'API qui sert de wrapper c'est GStreamer.
    Et GStreamer supporte Windows.

  17. #17
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 41
    Par défaut
    Bon, jai un peu regardé du côté de Gstreamer, et j'ai quasiment rien trouvé en ce qui concerne son utilisation avec windows(j'aimerai que ca soit compatible windows avant de penser a faire multiplateformes).
    De plus sur le site de Gstreamer ;
    Bindings for C++
    The GStreamer API C++ bindings are still under development.The bindings are based upon gtkmm. It's using the same lifecycle mechanism. A modified version of gtkmmproc autogenerates the code. Further work needs to bedone there.

    Ca veut dire que niveau utilisation avec le C++ c'est pas super possible?
    Sur le net j'ai pas réussi a trouver d'exemples d'utilisation de Gstreamer avec C++(me faut quand meme une base d'exemples ou un tuto écrit en C++, vu que je débute). Dommage, ca avait pourtant l'air d'etre une très bonne API :/

  18. #18
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Ca veut dire que niveau utilisation avec le C++ c'est pas super possible?
    Bah tu peux utiliser la version C de base.
    Tu peux peut-être aussi réutiliser l'enveloppage de Glib fait par GTKmm.

    De toutes façons si t'utilises DirectShow, c'est pas vraiment en C++ non plus.

  19. #19
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Gstreamer n'est pas un wrapper, c'est avant tout une norme d'interopérabibilité (mais uniquement pour l'audio/la vidéo dans ce cas). Il faudra toujours une glue entre gstreamer et ffmpeg par exemple.
    Directshow est un composant COM, donc même pas utilisable en C (enfin, je crois qu'il existe quand même des astuces pour s'en servir en C, mais c'est de l'orienté objet à la base).

  20. #20
    Membre averti
    Inscrit en
    Août 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 16
    Par défaut Gstreamer ou MPlayer ?
    bonjour à tous,
    désolé de m'immisser dans ton forum, mais on travaille à peu près sur la même chose. En effet, j'ai la charge de développer un lecteur multimédia pour plateforme ARM mais sur LINUX

    Me conseillez vous de me lancer à l' assault de GStreamer pour réaliser mon propre lecteur ou bien de porter MPlayer sur la plateforme

    quoi qu'il en soit si vous avez de la doc en francais sur GStreamer ça m'intéresse ( il y a quelles que notions en anglais que je ne saisi pas bien)

    merci d'avance

Discussions similaires

  1. réalisation d'un lecteur vidéo en c
    Par argon dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 02/11/2006, 10h57
  2. Utiliser APN en lecteur vidéo, votre avis?
    Par dockurt2k dans le forum Vidéo
    Réponses: 3
    Dernier message: 09/09/2006, 11h21
  3. lecteur vidéo mais zone vidéo au premier plan
    Par Dsphinx dans le forum AWT/Swing
    Réponses: 20
    Dernier message: 12/08/2006, 19h07
  4. Choix du lecteur vidéo
    Par Xhéras dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 07/08/2006, 23h39
  5. format MPEG4 et lecteur vidéo
    Par zoidy dans le forum Vidéo
    Réponses: 4
    Dernier message: 02/06/2006, 10h45

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