4

我正在尝试比较由 H.264、H.265 和 VP9 编码的 3 个视频。它们都是由同一个 YUV 视频制作的。

我想使用 OpenCV 的函数来读取视频的每一帧并做一些比较:

VideoCapture vCap1, vCap2, vCap3;
vCap1.open("h264.mp4");
vCap2.open("h265.mp4");
vCap3.open("vp9.webm");
Mat frame1, frame2, frame3;

while (vCap1.read(frame1) && vCap2.read(frame2) && vCap3.read(frame3))
{
    //do something
}

成功打开,vCap1vCap2不会vCap3打开。我是否遗漏了一些内容以使其发挥作用?

或者 OpenCV 甚至不支持其他 2 种格式?

4

1 回答 1

3

使用谷歌后:-) 我发现 http://answers.opencv.org/question/10741/videocapture-format-supported-by-opencv/

特别是您的系统上安装了所需的编解码器。您也可以访问 http://www.fourcc.org/codecs.php

对于编解码器。

OpenCV 的文档确实不是很有帮助。:-)

如果您在 linux 下运行,我会尝试什么:

strace -xfo 转储

并查看系统调用。也许您可以找到一些关于缺少编解码器文件、使用过的配置文件或其他失败的系统函数调用的提示。如果是这样,你有一个起点。

于 2014-04-26T13:53:56.577 回答