Qt或OpenCV:打印出视频文件的编解码器

时间:2013-04-19 15:35:55

标签: qt opencv codec

我想知道如何在使用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 ??

1 个答案:

答案 0 :(得分:1)

尝试

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