【发布时间】:2023-04-24 04:25:01
【问题描述】:
我正在尝试在 Windows 中使用 OpenCV 编写视频,并且在选择编解码器时遇到了各种问题。我不确定它是否在我的代码中,或者我没有必要的编解码器。代码是:
int main(int argc, char ** argv){
VideoCapture inputVideo("LFW.mp4");
Mat inputFrame, outputFrame;
VideoWriter outputVideo;
if (!inputVideo.isOpened()){
std::cout << "!!! Input video could not be opened" << std::endl;
return 1;
}
int ex = static_cast<int>(inputVideo.get(CV_CAP_PROP_FOURCC));
const string name = "Output.mp4";
Size size = Size((int) inputVideo.get(CV_CAP_PROP_FRAME_WIDTH), (int) inputVideo.get(CV_CAP_PROP_FRAME_HEIGHT));
outputVideo.open(name, CV_FOURCC('M','P','4','2'), inputVideo.get(CV_CAP_PROP_FPS), size, true);
if (!outputVideo.isOpened()){
std::cout << "!!! Output video could not be opened" << std::endl;
return 2;
}
return 0;
}
代码一直以代码 2 退出,因此 videoWriter 对象对其配置不满意。
【问题讨论】:
-
我认为openCV只能写.avi文件。我一直在尝试用 python 编写 .mp4 文件,但没有成功