Hi, 
  I can generate avi files using avifile, but they come out without
an index. The -idx to mplayer works ok for making them, but I'd like
to write them into the stream when I create it.

>From videoencoder.h

 *   Create encoder object. Optionally
 * set quality and key-frame frequency. Call Start().
 * Call QueryOutputSize() to identify maximum possible
 * size of compressed frame. Allocate buffer of this size.
 * Pass it as 'dest' in calls to EncodeFrame(). At the end
 * call Stop(). Do not forget to delete the object.

My code looks something like this:

   IAviVideoWriteStream* OVideoStream;
   CImage*               OImage;
   IAviWriteFile*        OFile;

   OFile = CreateIAviWriteFile(OutputAVIFilename.c_str());
   OVideoStream = OFile->AddVideoStream(
          OutputCodecID, &OBitmapInfo,
          (int) (1000000 / IVideoFrameRate));
   OVideoStream->SetQuality( 5000 );
   OVideoStream->SetKeyFrame(1);
   OVideoStream->Start();

   while [frames]
   OVideoStream->AddFrame( OImage );

   VideoStream->Stop();
   delete OVideoStream;
   delete OFile;

But I dont get any index? Any clues as to how to get
avifile to brew off the index? This would be very nice
in a 'copy' like tool that could take an existing avi
and make an indexed avi from it. which I might add to
a tool of mine.

Thanks.


_______________________________________________
Avifile mailing list
[EMAIL PROTECTED]
http://prak.org/mailman/listinfo/avifile

Reply via email to