Comment créer un AVI avec interleave et preload ? - C++ - Programmation
Marsh Posté le 07-11-2002 à 16:28:15
Il y a des exemples dans MSDN, t'as pas vu? Bon ok, ils ne couvrent pas tout, mais ça peut pas t'aider???
Marsh Posté le 07-11-2002 à 16:59:19
YungMakko a écrit a écrit : Il y a des exemples dans MSDN, t'as pas vu? Bon ok, ils ne couvrent pas tout, mais ça peut pas t'aider??? |
Je pense pas qu'il y est des trucs précis ( c'est rare de trouver ce qu'on veut ds MSDN ), mais je vais réinstaller MSDN pour regarder ( je travaille sous Borland )
Marsh Posté le 08-11-2002 à 15:34:42
Bon, j'ai réinstallé MSDN et VisualStudio, et apparemment il faut utilisé DirectShow pour gérer les AVI, y'a tout ce qu'il faut ! En fait l'API Windows propose des fcts + ou - basiques.
Donc je me lance ds l'aventure DirectShow, mais ... c'est un peu compliqué ...
Je connais pas trop le COM, et forcément c'est utilisé partout ...
En fouillant ds le MSDN, j'ai un peu avancé, j'arrive à 'copier' un fichier AVI à partir d'un autre fichier AVI, mais tjs pas d'interleave ni preload.
Quelle ID j'ai eu de me lancer là-dedans
...
CoInitialize(NULL);
// Create the capture graph builder.
CoCreateInstance(CLSID_CaptureGraphBuilder2, NULL, CLSCTX_INPROC, IID_ICaptureGraphBuilder2, (void **)&pBuild);
// Make the rendering section of the graph.
pBuild->SetOutputFileName ( &MEDIASUBTYPE_Avi, L"E:\\Output.avi", &pMux, NULL ) ;
// Interleave
pMux->QueryInterface ( IID_IConfigInterleaving, ( void ** ) &pInterleaving ) ;
pInterleaving->get_Interleaving ( &Interleave, &PreRoll ) ;
pInterleaving->get_Mode ( &Mode ) ;
Interleave = 400000 ;
PreRoll = 5000000 ;
Mode = INTERLEAVE_FULL ;
pInterleaving->put_Interleaving ( &Interleave, &PreRoll ) ;
pInterleaving->put_Mode ( Mode ) ;
...
Marsh Posté le 08-11-2002 à 17:13:33
tu peux avant de te lancer dans les graphes directshow, regarder le code de VirtualDub.
Marsh Posté le 08-11-2002 à 17:17:40
wpk a écrit a écrit : tu peux avant de te lancer dans les graphes directshow, regarder le code de VirtualDub. |
Déjà fait, j'y ai pas trouvé mon bonheur non plus !
Marsh Posté le 06-11-2002 à 18:38:11
Je ne trouve pas d'info sur la façon d'écrire un fichier AVI en utilisant l'interleave et le preload ; en fait je ne sais pas dans quel ordre écrire les blocs vidéo et audio ; de +, les blocs audio sont bcp + nombreux que les blocs vidéo ...
J'utilise les fcts de l'API AVIFileOpen, AVIFileCreateStream, AVIStreamWrite, ...
Des infos ???
Rien trouvé de concret sur Google ni sur le forum ...
---------------
FeedBack HFR