Я недавно скомпилировал Opencv 4.2.0 с Gstreamer 1.15.1 на 32-битной платформе Windows. Когда я пытаюсь захватить видео с помощью бэкенда Gstreamer, захват видео завершается неудачно. Вот код и вывод:
void main()
{
VideoCapture cap("video/x-raw,format=YUV2,width=640,height=480,framerate=30/1 ! appsink", CAP_GSTREAMER);
//VideoCapture cap(0,CAP_GSTREAMER);
if (!cap.isOpened())
{
cout << "VideoCapture not opened" << endl;
exit(-1);
}
Mat frame;
while (true) {
cap.read(frame);
if (frame.empty())
break;
imshow("output", frame);
if (waitKey(1) == 's')
break;
}
destroyWindow("output");
}
Вот вывод:
(testNewOpencv.exe:7392): GStreamer-CRITICAL **: 20:08:16.574: gst_element_make_
from_uri: assertion 'gst_uri_is_valid (uri)' failed
[ WARN:0] global \modules\videoio\src\cap_gstreamer.cpp (713) cv::GStreamerCapture::open OpenCV | GStreamer warning: Error opening bin: no element "video"
[ WARN:0] global \modules\videoio\src\cap_gstreamer.cpp (480) cv::GStreamerCapture::isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
VideoCapture not opened
Есть предложения по решению проблемы?