如何在 Xcode 中使用 OpenCV 3.4.14 识别 .mp4 视频文件的编解码器?

Posted

技术标签:

【中文标题】如何在 Xcode 中使用 OpenCV 3.4.14 识别 .mp4 视频文件的编解码器?【英文标题】:How do you identify the codec of a .mp4 video file using OpenCV 3.4.14 in Xcode? 【发布时间】:2021-10-01 12:41:16 【问题描述】:

我试过了

cv::VideoCapture cap( argv[1] );
unsigned f = (unsigned)cap.get( cv::CAP_PROP_FOURCC );
cout << "f: " << f << endl;

但 f 的输出为 0。 视频文件的编解码器是H.264。

【问题讨论】:

相关:forum.opencv.org/t/… 【参考方案1】:

首先,您的类型转换是基于 unsigned 的。最好使用以下类型:

int f = static_cast<int>(cap.get(cv::CAP_PROP_FOURCC));

之后根据documentation,您应该通过位运算符进行从 int 到 char 的转换。

    cv::VideoCapture cap("/ur/video/dir/video.mp4");

    int ex = static_cast<int>(cap.get(cv::CAP_PROP_FOURCC));     // Get Codec Type- Int form
    char EXT[] = (char)(ex & 0XFF) , (char)((ex & 0XFF00) >> 8),(char)((ex & 0XFF0000) >> 16),(char)((ex & 0XFF000000) >> 24), 0;

    std::cout<<ex<<std::endl;

【讨论】:

我试过你的代码,我得到 ex = 0 并且 EXT 没有输出。我从第 8 页的示例 8-1 中得到了我的代码。 Adrian Kaehler 和 Gary Bradski 的“Learning OpenCV 3”一书的 195 篇。

以上是关于如何在 Xcode 中使用 OpenCV 3.4.14 识别 .mp4 视频文件的编解码器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在XCode中设置OpenCV

如何构建使用 OpenCV 的 XCode 6 iOS 应用程序 - 未定义错误 __cplusplus

在终端中运行 XCode 中的构建,如何?

在 ios7 xcode 中设置相机焦点。 opencv

在 Xcode 项目中使用 OpenCV 会导致链接器错误

无法让 OpenCV 框架符号在 XCode 中链接