1

我想知道如何在使用 VideoCapture(在 OSX 或 Ubuntu 上)打开视频文件后打印出视频文件的编解码器。

该文件由 qt 应用程序中的 opencv 正确加载和可视化。

QString filename =  QFileDialog::getOpenFileName(...)
cout << filename.size() << endl; // size in byte
VideoCapture cap = VideoCapture(filename.toStdString());
cout << cap.get(CV_CAP_PROP_FRAME_HEIGHT) << endl; // print the height
cout << cap.get(CV_CAP_PROP_FPS) << endl; // print the fps

codec ??
4

1 回答 1

2

尝试

cap.get(CV_CAP_PROP_FOURCC);

获取编解码器。

编辑: 我不是 C++ 程序员,但这是我发现四处寻找以将其更改为 char 数组的内容:

int ex = static_cast<int>(inputVideo.get(CV_CAP_PROP_FOURCC));
char EXT[] = {ex & 0XFF , (ex & 0XFF00) >> 8,(ex & 0XFF0000) >> 16,(ex & 0XFF000000) >> 24, 0};

见: http ://docs.opencv.org/doc/tutorials/highgui/video-write/video-write.html

于 2013-04-19T15:46:03.727 回答