Comment créer un AVI avec interleave et preload ?

Comment créer un AVI avec interleave et preload ? - C++ - Programmation

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
Reply

Marsh Posté le 06-11-2002 à 18:38:11   

Reply

Marsh Posté le 07-11-2002 à 08:50:22    

Personne pour m'aider ?


---------------
FeedBack HFR
Reply

Marsh Posté le 07-11-2002 à 15:46:05    

Un ch'ti up ...


---------------
FeedBack HFR
Reply

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???


---------------
In tartiflette, we trust!
Reply

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 )


---------------
FeedBack HFR
Reply

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 ) ;
 
...


Message édité par WhyMe le 08-11-2002 à 15:35:31

---------------
FeedBack HFR
Reply

Marsh Posté le 08-11-2002 à 17:13:33    

tu peux avant de te lancer dans les graphes directshow, regarder le code de VirtualDub.

Reply

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 !


---------------
FeedBack HFR
Reply

Marsh Posté le 19-11-2002 à 15:09:53    

Tjs personne pour m'aider ?


---------------
FeedBack HFR
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed