Comment écrire un fichier vidéo avec OpenCV?

Je suis en train d'écrire un programme pour analyser les expressions émotionnelles comme des larmes. Dans le cadre de mon tracker je suis à l'aide d'OpenCV pour enregistrer des exemples de vidéos. En particulier, je ne suis pas certain de comment bien choisir un FPS (10FPS semble que ça devrait marcher). Je suis également pas sûr de la
Codec que je devrais utiliser sous OS X, j'ai essayé tout ce qui était possible CV_FOURCC de ici, mais a renvoyé l'erreur suivante:

Stream #0.0: Video: rawvideo, yuv420p, 640x480, q=2-31, 19660 kb/s, 90k tbn, 10 tbc
Assertion failed: (image->imageSize == avpicture_get_size( (PixelFormat)input_pix_fmt, image->width, image->height )), function writeFrame, file /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_graphics_opencv/work/OpenCV-2.2.0/modules/highgui/src/cap_ffmpeg.cpp, line 1085.

Avez-vous tous avoir un code qui fonctionne avec cvWriteFrame? Merci de prendre le temps de regarder mon problème!

Pour ceux qui s'intéressent à l'ensemble du programme est:

#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

int main (int argc, const char * argv[]) 
{
    CvCapture *capture;
    IplImage  *img;
    int       key = 0;
    CvVideoWriter *writer;

    //initialize camera
    capture = cvCaptureFromCAM( 0 );
    //capture = cvCaptureFromAVI("AVIFile");

    //always check
    assert( capture );

    //create a window
    cvNamedWindow( "video", 1 );

    int color = 1; //0 for black and white

    //get the frame size
    CvSize size = cvSize((int)cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH),(int)cvGetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT));

    writer = cvCreateVideoWriter(argv[1], -1 , 10 , size, color);

    while( key != 'q' ) {
        //get a frame
        img = cvQueryFrame( capture );

        //always check
        if( !img ) break;

        cvWriteFrame( writer, img );        
        cvShowImage("video", img );

        //quit if user press 'q'
        key = cvWaitKey( 5 );
    }

    //free memory
    cvReleaseVideoWriter( &writer );
    cvReleaseCapture( &capture );
    cvDestroyWindow( "video" );

    return 0;   
}

source d'informationauteur CCS