Macos 如何在Mac上使用OpenCV VideoWriter

Macos 如何在Mac上使用OpenCV VideoWriter,macos,opencv,video,avi,Macos,Opencv,Video,Avi,我有以下代码,它将一些帧写入.avi视频文件。这在windows机器上运行得非常好,但当我在Mac上尝试时,它会创建.avi文件,并且不会显示任何错误,但该文件不会播放。到目前为止,我还没有找到一个明确的解决办法。 我目前正在使用Mac OSX 10.9.2 void videoWriter() { CvVideoWriter *writer; writer = cvCreateVideoWriter("test.avi",CV_FOURCC('I','Y','U','V'),1

我有以下代码,它将一些帧写入.avi视频文件。这在windows机器上运行得非常好,但当我在Mac上尝试时,它会创建.avi文件,并且不会显示任何错误,但该文件不会播放。到目前为止,我还没有找到一个明确的解决办法。 我目前正在使用Mac OSX 10.9.2

void videoWriter()
{
    CvVideoWriter *writer;
    writer = cvCreateVideoWriter("test.avi",CV_FOURCC('I','Y','U','V'),1,Size(640,480),1);

    for(int i = 0; i < 9; i++)
    {
        if(imMan.returnSelect(i)) {
            cout << "Frame " << i << endl;
            /****** Original Image *********/
            Mat frame = imMan.returnOrg(i);
            IplImage fr = frame;
            cvWriteFrame(writer,&fr);
        }
    }

    cvReleaseVideoWriter(&writer);
}
框架的尺寸是多少

根据我的经验,即使cvCreateVideoWriter的第4个参数与图像帧的尺寸不匹配,CVWriteName也不会生成错误。它会写一些类似于标题的东西。有414字节


确保它们完全匹配。

您必须使用正确的编解码器和扩展组合

编解码器依赖于平台。这可能就是问题所在

尝试使用以下组合:

writer=cvCreateVideoWritertest.mkv,CV_FOURCC*'X264,1,大小640480,1

这是参考资料