私は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バージョンの両方をインストールしました。