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