我无法让OpenCV使用FFMpeg捕获网络摄像头或视频播放。 (Windows,C ++)
我下载了latest OpenCV 4.1,并在Visual Studio中进行了设置。它基本上可以编译并运行。
据我所知,我下载的OpenCV是使用FFMpeg(?)构建的。
我只想捕获我的网络摄像头:
VideoCapture capture;
capture.open(0);
if (!capture.isOpened()) return;
Mat frame;
while (capture.read(frame))
{
if (frame.empty()) {
cout << "frame empty" << endl;
}
imshow("capture", frame);
}
capture.release();
destroyAllWindows();
return 0;
我得到的结果是:
[ INFO:0] VIDEOIO: Enabled backends(6, sorted by priority): FFMPEG(1000); GSTREAMER(990); MSMF(980); DSHOW(970); CV_IMAGES(960); CV_MJPEG(950)
[ INFO:0] VideoIO pluigin (GSTREAMER): glob is 'opencv_videoio_gstreamer*.dll', 1 location(s)
[ INFO:0] - C:\opencv4.1\build\x64\vc15\bin: 0
[ INFO:0] Found 0 plugin(s) for GSTREAMER
(我不想使用GStreamer,我想要ffmpeg)
我试图强迫OpenCV与ffmpeg一起使用
capture.open(0 + cv::CAP_FFMPEG);
,但是它无法打开相机设备。
OpenCV找到ffmpeg时我该怎么办?