【问题标题】:OpenCV2 codec supportOpenCV2 编解码器支持
【发布时间】:2014-02-19 11:23:21
【问题描述】:

我正在使用 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 上播放,以及将视频转换为这些格式的好选择是什么?

非常感谢

【问题讨论】:

  • 您的意思是,opencv 可以播放哪些格式的视频?如果是,请尝试使用 .avi 格式,它们会起作用。
  • 嗨,感谢您的回复,我有 .avi 格式,这就是无法加载的内容,所以我想这是一个编解码器问题

标签: c++ opencv codec


【解决方案1】:

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

本教程Creating a video with OpenCV清晰地解释了OpenCV的视频编解码器。虽然它是用来写视频的,但我认为阅读视频的基本原理是一样的。

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

【讨论】:

    猜你喜欢
    • 2019-05-21
    • 1970-01-01
    • 2011-04-10
    • 2017-03-30
    • 2013-03-31
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 2017-12-30
    相关资源
    最近更新 更多