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

bla*_*333 5 c++ video qt 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();
Run Code Online (Sandbox Code Playgroud)

我希望这基本上是简单记录到文件的方法。我在析构函数中停止了录音。那么,问题是,为什么这不起作用?

提前致谢 :)

For*_*une 4

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

解决方法是使用这个第 3 方库https://github.com/kibsoft/QtMEL 我希望 Qt 尽快对此采取措施。祝你好运!