OpenCV + GStreamer udpsrc not found when installed via vcpkg - c++

I'm using Visual Studio 2022 with VCPKG to create an application which captures video from RaspberryPi streamed via UDP with GStreamer. I updated vcpkg/ports/gstreamer/portfile.cmake and added:
-Dgst-plugins-good:udp=enabled under vcpkg_configure_meson. After that, installed opencv4 with gstreamer, so vcpkh list looks like that:
gstreamer:x64-windows 1.19.2#9 GStreamer open-source multimedia framework core ...
gstreamer[flac]:x64-windows FLAC audio codec plugin
gstreamer[gl-graphene]:x64-windows Use Graphene in OpenGL plugin
gstreamer[plugins-base]:x64-windows 'Base' GStreamer plugins and helper libraries
gstreamer[plugins-good]:x64-windows 'Good' GStreamer plugins and helper libraries
gstreamer[plugins-ugly]:x64-windows 'Ugly' GStreamer plugins and helper libraries
gstreamer[rawparse]:x64-windows Build with libraw support
gstreamer[x264]:x64-windows Colon separated list of additional x264 library ...
opencv4:x64-windows 4.6.0#5 computer vision library
opencv4[default-features]:x64-windows Platform-dependent default features
opencv4[dnn]:x64-windows Enable dnn module
opencv4[gstreamer]:x64-windows gstreamer support for opencv
opencv4[jpeg]:x64-windows JPEG support for opencv
opencv4[png]:x64-windows PNG support for opencv
opencv4[quirc]:x64-windows Enable QR code module
opencv4[tiff]:x64-windows TIFF support for opencv
opencv4[webp]:x64-windows WebP support for opencv
However, even with that gstudp.dll is not copied anywhere, and if I copy it manually to /x64/Debug and run my app, I got:
[ WARN:0#0.086] global D:\C++Libs\vcpkg\buildtrees\opencv4\src\4.6.0-e24d1d7a25.clean\modules\videoio\src\cap_gstreamer.cpp (1127) cv::GStreamerCapture::open OpenCV | GStreamer warning: Error opening bin: no element "udpsrc"
[ WARN:0#0.086] global D:\C++Libs\vcpkg\buildtrees\opencv4\src\4.6.0-e24d1d7a25.clean\modules\videoio\src\cap_gstreamer.cpp (862) cv::GStreamerCapture::isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
Failed to open camera.
What am I doing wrong to use OpenCV/GStreamer via UDP with vcpkg?

Related

QT Mediaplayer not mp3 playing

I am using Qt Creator version 3.5 and running Mediaplayer with Qtmediaplayer library but no error message in my code (C++), on Orangepi lite the qt software is working but Mp3 is not playing but on other operating systems the same program works fine.Thanks
I installed all the gstreamer libraries and it worked. Previously I only installed the ones for mp3, it didn't work.

OpenCV (C++) Can't get XVID video file framerate

I'm trying to get VideoCapture working with OpenCV. The video I'm trying to load is in XVID format (checked it with VideoCapture::get(CV_CAP_PROP_FOURCC)). It works fine, but whenever I try to get the video framerate (VideoCapture::get(CV_CAP_PROP_FPS)) I get -nan.
I've used the same video and the same code on another computer (at uni, they have a custom Debian installation) and I can confirm that the framerate info is there (it works fine there). I read somewhere that Ubuntu recently removed ffmpeg from their repositories (I use Linux Mint 17.2), so I installed the ffmpeg package from the ppa:kirillshkrogalev/ffmpeg-next repositories. After that I recompiled OpenCV and installed again, without any change.
I'm using OpenCV 2.4.11 with C++ under Linux Mint 17.2.
Probably XVID is missing on your linux machine which is required by ffmpeg. Try installing XVID as below, it may help you.
cd /opt
wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz
tar xzvf xvidcore-1.3.2.tar.gz
cd xvidcore/build/generic
./configure --prefix="$HOME/ffmpeg_build"
make
make install

control Kinect motor OPENNI 2

I want to control the kinect motor I m working with OPENNI 2.0 , windows7,visual studio C++ 2010.
I found on the web a code to control but It use #include ( openni 1.x) .
and this file doesn't exist anymore in the OPENNI 2.0 version.
so How could I control the kinect motor on OPENNI2.0 in c++
thanks.
OPENNI 2.0 uses the Microsoft Kinect SDK now, if using OPENNI 2.0 is not mandatory or that you don't want to use this SDK, you can install openni 1.5.4 instead :
Install OpenNI-Win32-1.5.4.0-Dev1.msi
Install SensorKinect093-Bin-Win32-v5.1.2.1.msi (in the bin folder)
Install Sensor-Win32-5.1.2.1-Redist.msi
Install NITE-Win32-1.5.2.21-Dev.msi
Take care of the environment variables if you keep the two versions of openni.

How do I let OpenCV know codecs exist in non-standard locations?

I'm working with OpenCV on an HPC cluster that does not have any video codecs. I was able to install Xvid in my home directory but now I don't know how to tell OpenCV where they are in order to open video files with VideoCapture.
Thanks for your help.

C++, making OpenCV 3.0.0 available with HDR API

I am using OpenCV 2.4.6 on my Mac using XCode IDE. I am trying to create HDR images and I found this tutorial.
When I build it, it doesn't recognize, for example, CalibrateDebevec identifier. The problem is that in the header files of photo.hpp, it is not declared. In the tutorial is written that the base is OpenCV 3.0.0.
How can I make OpenCV 3.0.0 available?
I already tried to download these files from http://193.87.95.148/openwrt/mx23/trunk/dl/opencvtrunk-2.5.0/ and pasted the headers files into my include folder, but when I solve one problem, 10 more problems appear.
You can build OpenCV 3.0.0 from the current DevZone root master repository at http://code.opencv.org/projects/opencv/repository. Clone that repository and use cmake + options, make, and make install, just as you would when building any version of OpenCV. Good luck!