读H.265和VP9帧?

时间:2014-04-26 13:33:21

标签: c++ opencv h.264 webm h.265

我试图比较由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
}

vCap1已成功打开,但vCap2vCap3无法打开。 我是否遗漏了要包含的内容以使其有效?

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

1 个答案:

答案 0 :(得分:2)

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

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

用于编解码器。

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

如果你在linux下运行我会尝试的:

strace -xfo dump

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