OpenCV2编解码器支持

时间:2014-02-19 11:23:22

标签: c++ opencv codec

我正在使用openCV阅读视频文件,我使用以下简单代码来执行此操作。

std::string arg = argv[1];
    VideoCapture capture(arg); //try to open string, this will attempt to open it as a video file
    if (!capture.isOpened()) {
        cerr << "Failed to open video file!\n" << endl;
        help(argv);
        system("Pause");
        return 1;
    }

我可以加载和操作多个视频,但我遇到其他问题。我想这归结于编解码器问题。我可以使用旧式win媒体播放器播放视频,因此编解码器在系统上,但我想在opencv中没有?

有谁知道opencv上肯定会播放哪些编解码器和视频格式?将视频转换为这些格式有什么好的选择?

非常感谢

1 个答案:

答案 0 :(得分:1)

实际上,支持的OpenCV编解码器取决于您的平台和可用的编解码器。

本教程Creating a video with OpenCV清楚地解释了OpenCV的视频编解码器。虽然它用于编写视频,但我认为基本原理与阅读视频相同。

函数C++: double VideoCapture::get(int propId)可以通过设置propId = CV_CAP_PROP_FOURCC来检索已加载视频的编解码器属性。 FOURCC的解释可以在site找到。如果您在阅读.avi视频时遇到问题,很可能是您的平台中未安装代码。