读取H.265和VP9帧
Read H.265 and VP9 frame?
我正在尝试比较由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种格式?
使用谷歌后:-)我发现http://answers.opencv.org/question/10741/videocapture-format-supported-by-opencv/
尤其是您的系统上安装了所需的编解码器。您也可以访问http://www.fourcc.org/codecs.php
用于编解码器。
OpenCV的文档确实没有太大帮助。:-)
如果你在linux下运行,我会尝试什么:
strace-xfo转储
并查看系统调用。也许您可以找到一些丢失的编解码器文件、使用的配置文件或其他失败的系统函数调用的提示。如果是这样,你就有了起点。
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- 使用新行和不使用新行读取文件
- 读取文件并输入到矢量中
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 无法找到/读取配置文件.conf-FileIOException
- 如何使用Luacneneneba API正确读取字符串和表参数
- C++将文本文件中的数据读取到结构数组中
- 正在将csv文件读取为双精度矢量
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 为什么在读取文件大小时文件IO速度会发生变化
- 正在读取二进制文件(is_open)
- 如何在c++中从文本文件中逐行读取整数
- SSH通过/sbin/SSH无法读取RSA密钥文件(从控制台运行)
- 独立读取-修改-写入顺序
- 从文本文件中读取时钟时间和事件时间并进行处理
- 如何从文本文件中读取值和数组
- 为什么文件名被设置为一个点,而不是在读取矢量中的文件名时
- 读取H.265和VP9帧