Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

opencv_videoio_gstreamer420_64.dll load failed +WINRT error

i'm trying to make a simpl-ish image recognition and processing code in openCV 4.20 and c++ in VS19. PRoblem is: it worked fine to an undefined moment, and then suddenly i stopped seeing any image output at all in windows that openCV creates. It should cap image from the webcam and do all the processing stuff, but all it shows now is a blank window, as if there is no image at all. However it passes error checking and all processing, and frame logging outputs all passes as successful (e.g. image captured, processing done, etc). Thing is, the camera capture is definitely running, as i can see the FPS changes in frequency of logs output with the change of camera fps (when i put the camera to a lightsource the fps rises and therefore "frame captured" message is written more frequently.). When i check the init output in console, i see the following messages: [ INFO:0] global C:\build\master_winpack-build-win64-vc15\opencv\modules\videoio\src\videoio_registry.cpp (187) cv::`anonymous-namespace'::VideoBackendRegistry::VideoBackendRegistry VIDEOIO: Enabled backends(7, sorted by priority): FFMPEG(1000); GSTREAMER(990); INTEL_MFX(980); MSMF(970); DSHOW(960); CV_IMAGES(950); CV_MJPEG(940) [ INFO:0] global C:\build\master_winpack-build-win64-vc15\opencv\modules\videoio\src\backend_plugin.cpp (353) cv::impl::getPluginCandidates Found 2 plugin(s) for GSTREAMER [ INFO:0] global C:\build\master_winpack-build-win64-vc15\opencv\modules\videoio\src\backend_plugin.cpp (172) cv::impl::DynamicLib::libraryLoad load C:\opencv\build\x64\vc15\bin\opencv_videoio_gstreamer420_64.dll => FAILED [ INFO:0] global C:\build\master_winpack-build-win64-vc15\opencv\modules\videoio\src\backend_plugin.cpp (172) cv::impl::DynamicLib::libraryLoad load opencv_videoio_gstreamer420_64.dll => FAILED

in visual studio debug console, there is also one error line among module load lines: Exception thrown at 0x00007FFD4F37A839 (KernelBase.dll) in oCVCookies.exe: WinRT originate error - 0xC00D36B3 : 'The stream number provided was invalid.'. from what i can tell, it tries to use VIDEOIO_GSTREAMER420_64.dll but there is no such library in the oCV folder. But somehow it worked before. And it's not related to the code itself either, as when i create a dummy code that ONLY opens the capture, captures a frame and shows it, i encounter the same problem. Again, it worked before a certain moment , but it just stopped working after an unknown event. OpenCV reinstall did not help with the problem. The dummy code i used was something like following:

Mat camframe; 
VideoCapture cap;
cap.open (CAP_ANY, 0);
while (;;)
{
cap.read(camframe);
imshow("feed", camframe);
}