私はOpenCVを初めて使用し、ffmpegを使用して単純なビデオを録画しようとしていますが、サイズは毎回0kbです... Cinepakコーデックで成功しましたが、ビデオは高速に録画されるか、fpsを4に設定してcwWaitKey(20)を設定します。私が試しているコードです。
    cvNamedWindow("Webcam", CV_WINDOW_AUTOSIZE);
    CvCapture *cap; cap = cvCreateCameraCapture(0);
    IplImage *img; img = cvQueryFrame(cap);
    CvVideoWriter *writer;
    double fps = cvGetCaptureProperty(cap, CV_CAP_PROP_FPS);
    int camWidth = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAME_WIDTH);
    int camHeight = (int)cvGetCaptureProperty(cap, CV_CAP_PROP_FRAME_HEIGHT);
    CvSize size = cvSize(camWidth, camHeight);
    writer = cvCreateVideoWriter("record.avi", CV_FOURCC('M','J','P','G'), fps, size);
    while(cvQueryFrame(cap))
    {
        img = cvRetrieveFrame(cap);
        cvWriteFrame(writer, img);
        cvShowImage("Webcam", img);
        cvWaitKey(20);
    }
//ここでリリースします。
誰かが私が間違っていることを教えてもらえますか?ありがとうございました。
PS私は他のFOURCCも試しましたが、それでも同じ結果です。ファイルは0キロバイトで、何も書き込まれていません。ヘルプ:( FOURCCが試しました:XVID、MP4V、FVFW、MPEG、MPG1 / 2、WM1/2。
PPS Windows 7 x64を使用して、ffmpegx86バージョンとx64バージョンの両方をインストールしました。