EzPlayer

EzPlayer est un lecteur audio/vidéo en C++ basé sur DirectX, uniquement destiné à des fins "éducatives" pour les programmeurs fous souhaitant découvrir l'API DirectShow (et plus particulièrement les interfaces IGraphBuilder, IMediaControl, IBasicAudio, IMediaSeeking, IMediaEvent, IVMRWindowlessControl9 et IBaseFilter).

Formats supportés : Audio-Video Interleaved (*.avi) Motion Picture Experts Group (*.mpg, *.mpeg, *.vob) Windows Media Video (*.wmv, *.asf) Apple Quicktime (*.mov) Real Media (*.rmvb) MPEG Audio Layer-3 (*.mp3) Windows Media Audio (*.wma) MIDI (*.mid). Dans les grandes lignes, on peut considérer qu'un fichier audio n'est constitué que d'un seul élément, devant être décodé par un filtre. Une vidéo peut être constituée de plusieurs flux audio et vidéo. Ainsi, pour décoder une vidéo dont le container est l'AVI et dont les codecs sont le Mpeg-1 Layer III (pour l'audio) et le Mpeg-4 (pour la vidéo) il est nécessaire d'obtenir un graphe de décodage.


EzPlayer est donc une démonstration de l'utilisation de DirectX9 pour lire des vidéos et des sons avec l'implémentation bonus d'un module RTSP (mais qui ne lit pas les vidéos distantes, faute de filtre approprié à placer dans le graphe et faute de temps). Le protocole RTSP permet de contrôler la distribution de flux multimédias (streaming) sur un réseau IP. C'est un protocole de niveau applicatif prévu pour fonctionner sur des protocoles tels que RTP/RTCP et RSVP. Les flux peuvent provenir soit de clips stockés, soit d'une source temps réel. Il a été testé avec le serveur Darwin, développé par Apple.
Le lecteur possède également quelques fonctions de base permettant d'utiliser des skins (celui fourni par défaut étant inspiré de WinampModern, shame on me). Pour le compiler, il est nécessaire de disposer du SDK DirectX 9, et Borland C++ Builder. A l'origine conçu pour fonctionner avec MS Visual Studio, j'ai du faire quelques hacks du SDK pour que Borland puisse l'apprivoiser. Ces modifications sont contenues dans les sources.
Il restera en version beta et n'est pas recommandé en l'état pour une utilisation courante (préférez Media Player Classic, BSPlayer, ZoomPlayer...). Sous licence GNU/GPL, vous pouvez en faire ce que vous voulez, il n'y aura probablement pas de support ni de modification future de ma part.
8 juillet 2005 à 00:57
Impressionant, je vais tester ça :D
8 juillet 2005 à 01:10
Beau boulot :)
Mplayer (le dieu des players) utilise (sous windows) directX pour l’image et le son. Par contre, je ne sais pas si il utilise les dernières fonctionnalités de directX 9. Peut-être pourrais-tu jeter un oeil à leur code ?
8 juillet 2005 à 13:40
hum, il vient d’où ce clip ? …
8 juillet 2005 à 13:41
J’ai une réponse en 3 lettres.
8 juillet 2005 à 16:16
Mais…mais…, tu dors jamais ?
9 juillet 2005 à 14:14
Dormir ? Quel intérêt ?
10 juillet 2005 à 00:55
Chapeau pour ce joli Player!
Pourquoi préfères-tu Borland C++ Builder à VS ?
25 août 2005 à 16:09
Super ! J’ai toujours voulu créer mon propre lecteur multimedia :) (je le ferais un jour ! Je le voudrais minimaliste). Félicitation en tout cas. Quand je me serais mis véritablement au C++, j’étudierais ton lecteur.
23 juin 2006 à 11:29
slt moi je sui en stage pour un laboratoir de recherche j aimerai commprendre comment tu réalise la gestion de la vidéo en c++ mon bute lors de se stage etan de réalisé un lecteur capable de lire des film image par image stp pourai tu m aider??? merci d avance