Mandriva Linux 2009.1 で openCV を使用してビデオ ファイルを保存しようとしています。残念ながら、cvCreateVideoWriter は常に null を返しますが、両方のファイルと mpeg ファイルを表示して変更できます。つまり、cvCaptureFromCam、cvCaptureFromAvi、cvRetrieveFrame は機能しています。
このチュートリアルとこのコーデックページから可能なすべてのコーデックを試しました。また、圧縮されていない avi に対して 0 を、fourcc パラメーターの選択ボックスに対して -1 を試しましたが、選択肢が表示されず、何も起こりませんでした。isColor も 0 に変更しました。
また、作業ディレクトリへの書き込み権限も持っています。
関連するコード スニペットは次のとおりです。
CvVideoWriter *writer = 0;
int isColor = 1;
int fps = 25;
int frameW = 640;
int frameH = 480;
if( argc == 1 || (argc == 2 && strlen(argv[1]) == 1 && isdigit(argv[1][0])))
capture = cvCaptureFromCAM( argc == 2 ? argv[1][0] - '0' : 0 );
else if( argc == 2 ) {
printf("argc == 2 :%s:\n", argv[1] );
capture = cvCaptureFromFile( argv[1] );
}
cvInitSystem(argc,argv);
writer = cvCreateVideoWriter("out.avi",CV_FOURCC('I','Y','U','V'),fps,cvSize(frameW,frameH),isColor);
何が問題なのですか?