웹캠에서 얻은 비디오를 녹화하려고하는데 USB 장치에 연결합니다. 나는 Linux 64 비트에서 Qt5.1.0을 연구 중이다.Qt5로 USB 캠에서 비디오 녹화
나는 다음과 같은 코드가 있습니다 :
camera = new QCamera(this);
viewFinder = new QCameraViewfinder(this);
camera->setViewfinder(viewFinder);
recorder = new QMediaRecorder(camera,this);
QVideoEncoderSettings settings = recorder->videoSettings();
settings.setResolution(1280,720);
settings.setQuality(QMultimedia::VeryHighQuality);
settings.setFrameRate(30.0);
recorder->setVideoSettings(settings);
camera->setCaptureMode(QCamera::CaptureVideo);
camera->start();
QString name = filename + QDateTime::currentDateTime().toString("dd.MM.yy-h-m-s");
recorder->setOutputLocation(QUrl::fromLocalFile(outputpath + "/" + name + ".mp4"));
recorder->record();
나는 다음과 같은 경고 및 오류
CameraBin error: "Internal data flow error."
CameraBin error: "Could not negotiate format"
그리고 사실 아무것도에서
이 기록을 얻을이 코드를 실행합니다.제가
camera->setCaptureMode(QCamera::CaptureViewFinder);
에러가 파일을 생성하고, 출력은 없지만, 단지 하나의 프레임 (고정 이미지)
I의 경우를 포함하기위한 광고
camera->setCaptureMode(QCamera::CaptureVideo);
변경하면
QVideoEncoderSettings settings = recorder->videoSettings();
settings.setResolution(1280,720);
settings.setQuality(QMultimedia::VeryHighQuality);
settings.setFrameRate(30.0);
:이 코드 조각을 제거 0
나는 두 가지 오류를 얻을 :
CameraBin warning: "A lot of buffers are being dropped."
CameraBin error: "Could not encode stream."
을하지만 비디오가 실제로 기록됩니다.
640의 기본 해상도와 소리 수 있을까? –
@MatsPetersson 그것은 그렇게 보이지 않습니다. 나는 세 가지 다른 카메라로 시도하고 난 여전히 같은 오류 – user2582879
메시지는 카메라가 당신이 요구하는 형식을 지원하지 않는 것을 나타냅니다 것 같다 "형식을 협상 할 수 없습니다"점점 오전, 그래서 하나는 카메라 나 형식 당신의 그것이 틀렸다는 것을 요구하고 있습니다. –