c++ - 如何在opencv中读取.mp4文件

标签 c++ opencv ffmpeg video-processing

我完全是 OpenCV、C++ 的新手。尝试读取mp4视频,发现OpenCV不支持mp4,只能读取avi(不知道是我写错了).经过在线研究得知 ffmpeg 是将 mp4 转换为 avi 以进行进一步处理的最佳选择。

我正在使用 OpenCV 3.0visual studio 2012。我看到在 OpenCV C:\opencv\build\x86\vc11\bin 文件夹中有一个 dll 文件,opencv_ffmpeg300.dll。有什么方法可以使用此 dll 文件来读取和转换我的视频吗?

如果有人能为我提供一些指导,我将不胜感激,我完全迷失在 OpenCV 的世界中。

对于视频,

Video I/O:
   Video for Windows:           YES
   DC1394 1.x:                  NO
   DC1394 2.x:                  NO
   FFMPEG:                      YES (prebuilt binaries)
     codec:                     YES (ver 55.18.102)
     format:                    YES (ver 55.12.100)
     util:                      YES (ver 52.38.100)
     swscale:                   YES (ver 2.3.100)
     resample:                  NO
     gentoo-style:              YES
   OpenNI:                      NO
   OpenNI PrimeSensor Modules:  NO
   OpenNI2:                     NO
   PvAPI:                       NO
   GigEVisionSDK:               NO
   DirectShow:                  YES
   Media Foundation:            NO
   XIMEA:                       NO
   Intel PerC:                  NO

最佳答案

让我尝试帮助解决您的问题。

首先,我建议您使用下面的代码检查您的构建信息

#include "opencv2/highgui.hpp"
#include <iostream>

using namespace cv;

int main(int argc, char** argv)
{
    std::cout <<
         "Using OpenCV version " << CV_VERSION << "\n" << std::endl;

    std::cout << getBuildInformation();

    return 0;
}

我喜欢下面的内容并阅读 mp4 文件

  Video I/O:
    Video for Windows:           YES
    DC1394 1.x:                  NO
    DC1394 2.x:                  NO
    FFMPEG:                      YES (prebuilt binaries)
      codec:                     YES (ver 56.41.100)
      format:                    YES (ver 56.36.101)
      util:                      YES (ver 54.27.100)
      swscale:                   YES (ver 3.1.101)
      resample:                  NO
      gentoo-style:              YES
    GStreamer:                   NO
    OpenNI:                      NO
    OpenNI PrimeSensor Modules:  NO
    OpenNI2:                     NO
    PvAPI:                       NO
    GigEVisionSDK:               NO
    DirectShow:                  YES
    Media Foundation:            NO
    XIMEA:                       NO
    Intel PerC:                  NO

关于c++ - 如何在opencv中读取.mp4文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37120650/

相关文章:

javascript - 将 javascript 嵌入应用程序(如 Lua)

c++ - visual c++并口控制

opencv - 在 '__init__.py 中找不到引用 'ximgproc'

python - 使用 python 3.4 opencv 3.2 使用 usbcam 进行套接字编程

c++ - 运行时多态性到底是什么意思?

c++ - 无法将接口(interface)从主线程编码到工作线程

FFmpeg 在将图像叠加层添加到视频后弄乱了它的宽度

php - 如何在没有 ffmpeg 的情况下在 php 中创建缩略图并将视频转换为 mp4?

c++ - Mingw32-Make&cmake 3.0

Bash while 循环等待任务完成