我试图比较由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
已成功打开,但vCap2
和vCap3
无法打开。
我是否遗漏了要包含的内容以使其有效?
或者OpenCV甚至不支持其他2种格式?
答案 0 :(得分:2)
使用谷歌后:-)我发现了 http://answers.opencv.org/question/10741/videocapture-format-supported-by-opencv/
特别是您的系统上安装了所需的编解码器。你也可以参观 http://www.fourcc.org/codecs.php
用于编解码器。
OpenCV的文档确实不是很有帮助。 : - )
如果你在linux下运行我会尝试的:
strace -xfo dump
并查看系统调用。也许您可以找到一些缺少编解码器文件,使用配置文件和/或其他失败的系统函数调用的提示。如果是这样,你有一个起点。