使用Qt5从网络摄像头录制视频

时间:2014-07-19 15:06:36

标签: c++ qt video video-capture

我一直试图让这个工作2天,我很绝望。基本上我想使用Qt5用我的网络摄像头录制视频。我到目前为止,我可以得到一个小部件来显示网络摄像头看到的内容,但出于某种原因,每当我尝试使用QMediaRecorder类进行记录时,它都不会将任何内容保存到outputLocation。

创建输出文件但包含0个字节。我试过玩视频编解码器的设置,但仍然没有运气。我认为像这样的简单代码可以工作:

    QCamera *camera = new QCamera(QCameraInfo::availableCameras().at(0));
    QCameraViewfinder *viewFinder = new QCameraViewfinder(this);
    camera->setViewfinder(viewFinder);
    ui->verticalLayout->addWidget(viewFinder);

    recorder = new QMediaRecorder(camera);
    recorder->setOutputLocation(QUrl(QString("/home/user/test.mp4"))); // removed my name

    camera->setCaptureMode(QCamera::CaptureVideo);
    camera->start();
    recorder->record();

我希望这基本上可以用于简单录制到文件。我在析构函数中停止了录制。所以,问题是,为什么这不起作用?

提前致谢:)

1 个答案:

答案 0 :(得分:3)

如果您使用的是Windows平台,则此问题仅仅是因为Qt不支持Windows的视频录制。看一下这个http://doc.qt.io/qt-5/qtmultimedia-windows.html

解决方法是使用此第三方库https://github.com/kibsoft/QtMEL 我希望Qt能尽快解决这个问题。祝你好运!