gpt4 book ai didi

ios - 适用于 iOS 的 CvVideoWriter WriteFrame 无法正常工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:15:36 25 4
gpt4 key购买 nike

我使用的是从这里获得的预编译版本的 OpenCV:http://aptogo.co.uk/2011/09/opencv-framework-for-ios/

我正在开发一个 Ogre3D 应用程序,我正在尝试从该应用程序中抓取屏幕以拼接在一起制作视频。我已经使用 OpenCV 的 CvVideoWriter 成功地让它在 Windows 上运行。

不幸的是,我在 iOS 版本上遇到了一些问题。我的代码如下:

IplImage *mCvCaptureImage, *mCvConvertImage;
mCvCaptureImage = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3);
mCvConvertImage = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3);
PixelFormat pf = win->suggestPixelFormat();
PixelBox pb(width, height, 1, pf, mCvCaptureImage->imageData);
win->copyContentsToMemory(pb);
cvConvertImage(mCvCaptureImage, mCvConvertImage, CV_CVTIMG_SWAP_RB);
cvWriteFrame(writer, mCvConvertImage );
cvReleaseImage(&mCvConvertImage);
cvReleaseImage(&mCvCaptureImage);

由于编写器状态检查,cvWriteFrame 调用抛出错误。我检查了源代码,这似乎是问题所在:

// writer status check
if (![mMovieWriterInput isReadyForMoreMediaData] || mMovieWriter.status != AVAssetWriterStatusWriting ) {
NSLog(@"[mMovieWriterInput isReadyForMoreMediaData] Not ready for media data or ...");
NSLog(@"mMovieWriter.status: %d. Error: %@", mMovieWriter.status,[mMovieWriter.error localizedDescription]);
[localpool drain];
return false;
}

有人知道为什么会发生这种情况以及如何解决它吗?

谢谢!

最佳答案

在调用 cvCreateVideoWriter() 之前将文件扩展名更改为 m4v 并删除现有文件

(opencv 根据文件扩展名选择文件类型)

关于ios - 适用于 iOS 的 CvVideoWriter WriteFrame 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15105224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com