integrating qml and gstreamer
-
Hello everyone,
I have a stream coming from a Linux Os, using GStreamer and UDP. I can successfully capture the stream using VLC or GStreamer (on another Linux system), But, I must develop a software and a suitable GUI for windows. I also have some experience with Qt QML. after some googling, I found out there is a library named Qtgstreamer which lets me integrate QML and GStreamer, I also found some different topics including this, I have already installed boost, GStreamer and other dependencies. I open the CmakeList.txt using my qt-creator and choose MSVC1017 64bit, when I try to run the cmake, it fails with this message:Starting to parse CMake project, using: "-DCMAKE_CXX_COMPILER:STRING=D:/Softwares/VS2017/VC/Tools/MSVC/14.10.25017/bin/HostX64/x64/cl.exe", "-DCMAKE_C_COMPILER:STRING=D:/Softwares/VS2017/VC/Tools/MSVC/14.10.25017/bin/HostX64/x64/cl.exe", "-DCMAKE_PREFIX_PATH:STRING=D:/Softwares/Qt5_12_3/5.12.3/msvc2017_64", "-DQT_QMAKE_EXECUTABLE:STRING=D:/Softwares/Qt5_12_3/5.12.3/msvc2017_64/bin/qmake.exe". The C compiler identification is MSVC 19.10.25017.0 The CXX compiler identification is MSVC 19.10.25017.0 Check for working C compiler: D:/Softwares/VS2017/VC/Tools/MSVC/14.10.25017/bin/HostX64/x64/cl.exe CMake Error: Generator: execution of make failed. Make command was: jom /nologo cmTC_926bc\fast && Check for working C compiler: D:/Softwares/VS2017/VC/Tools/MSVC/14.10.25017/bin/HostX64/x64/cl.exe -- broken CMake Error at C:/Program Files/CMake/share/cmake-3.16/Modules/CMakeTestCCompiler.cmake:60 (message): The C compiler "D:/Softwares/VS2017/VC/Tools/MSVC/14.10.25017/bin/HostX64/x64/cl.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Users/alex/AppData/Local/Temp/QtCreator-HwuZFX/qtc-cmake-bUuDycrM/CMakeFiles/CMakeTmp Run Build Command(s):jom /nologo cmTC_926bc\fast && The system cannot find the file specified Generator: execution of make failed. Make command was: jom /nologo cmTC_926bc\fast && CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:1 (project) Configuring incomplete, errors occurred! See also "C:/Users/alex/AppData/Local/Temp/QtCreator-HwuZFX/qtc-cmake-bUuDycrM/CMakeFiles/CMakeOutput.log". See also "C:/Users/alex/AppData/Local/Temp/QtCreator-HwuZFX/qtc-cmake-bUuDycrM/CMakeFiles/CMakeError.log". CMake Deprecation Warning: The 'cmake-server(7)' is deprecated. Please port clients to use the 'cmake-file-api(7)' instead. CMake Project parsing failed.
I also tried to run the cmake using cmd:
D:\Softwares\Qt5_12_3\qt-gstreamer\build>cmake .. -DCMAKE_INSTALL_PREFIX=D:\Softwares\Qt5_12_3\qt-gstreamer -DQT_VERSION=5 -- Selecting Windows SDK version 10.0.14393.0 to target Windows 10.0.18362. -- Using Qt5 (min: 5.0.0) CMake Warning at cmake/modules/FindQt4or5.cmake:69 (find_package): By not providing "FindQt5Declarative.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Declarative", but CMake did not find one. Could not find a package configuration file provided by "Qt5Declarative" (requested version 5.0.0) with any of the following names: Qt5DeclarativeConfig.cmake qt5declarative-config.cmake Add the installation prefix of "Qt5Declarative" to CMAKE_PREFIX_PATH or set "Qt5Declarative_DIR" to a directory containing one of the above files. If "Qt5Declarative" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:24 (find_package) CMake Warning at cmake/modules/FindQt4or5.cmake:69 (find_package): By not providing "FindQt5Quick.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Quick", but CMake did not find one. Could not find a package configuration file provided by "Qt5Quick" (requested version 5.0.0) with any of the following names: Qt5QuickConfig.cmake qt5quick-config.cmake Add the installation prefix of "Qt5Quick" to CMAKE_PREFIX_PATH or set "Qt5Quick_DIR" to a directory containing one of the above files. If "Qt5Quick" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:24 (find_package) CMake Warning at cmake/modules/FindQt4or5.cmake:69 (find_package): By not providing "FindQt5Qml.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Qml", but CMake did not find one. Could not find a package configuration file provided by "Qt5Qml" (requested version 5.0.0) with any of the following names: Qt5QmlConfig.cmake qt5qml-config.cmake Add the installation prefix of "Qt5Qml" to CMAKE_PREFIX_PATH or set "Qt5Qml_DIR" to a directory containing one of the above files. If "Qt5Qml" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:24 (find_package) CMake Warning at cmake/modules/FindQt4or5.cmake:69 (find_package): By not providing "FindQt5Test.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Test", but CMake did not find one. Could not find a package configuration file provided by "Qt5Test" (requested version 5.0.0) with any of the following names: Qt5TestConfig.cmake qt5test-config.cmake Add the installation prefix of "Qt5Test" to CMAKE_PREFIX_PATH or set "Qt5Test_DIR" to a directory containing one of the above files. If "Qt5Test" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:24 (find_package) -- Checking for module 'gstreamer-1.0' -- -- Checking for module 'gstreamer-base-1.0' -- -- Could NOT find GSTREAMER_BASE_LIBRARY -- Could NOT find GSTREAMER_BASE_INCLUDE_DIR -- Could NOT find GStreamer (missing: GSTREAMER_LIBRARY GSTREAMER_INCLUDE_DIR GSTREAMER_VERSION_COMPATIBLE GSTREAMER_BASE_LIBRARY GSTREAMER_BASE_INCLUDE_DIR) (Required is at least version "1.2.0") -- Checking for module 'gstreamer-plugins-base-1.0' -- -- Checking for module 'gstreamer-app-1.0' -- -- Could NOT find GSTREAMER_APP_LIBRARY -- Could NOT find GSTREAMER_APP_INCLUDE_DIR -- Checking for module 'gstreamer-audio-1.0' -- -- Could NOT find GSTREAMER_AUDIO_LIBRARY -- Could NOT find GSTREAMER_AUDIO_INCLUDE_DIR -- Checking for module 'gstreamer-video-1.0' -- -- Could NOT find GSTREAMER_VIDEO_LIBRARY -- Could NOT find GSTREAMER_VIDEO_INCLUDE_DIR -- Checking for module 'gstreamer-pbutils-1.0' -- -- Could NOT find GSTREAMER_PBUTILS_LIBRARY -- Could NOT find GSTREAMER_PBUTILS_INCLUDE_DIR -- Could NOT find GStreamerPluginsBase (missing: GSTREAMER_APP_LIBRARY GSTREAMER_APP_INCLUDE_DIR GSTREAMER_AUDIO_LIBRARY GSTREAMER_AUDIO_INCLUDE_DIR GSTREAMER_VIDEO_LIBRARY GSTREAMER_VIDEO_INCLUDE_DIR GSTREAMER_PBUTILS_LIBRARY GSTREAMER_PBUTILS_INCLUDE_DIR) (Required is at least version "1.2.0") -- Could NOT find GLIB2 (missing: GLIB2_LIBRARIES GLIB2_MAIN_INCLUDE_DIR) -- Could NOT find GObject (missing: GOBJECT_INCLUDE_DIR GOBJECT_LIBRARIES) -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) ----------------------------------------------------------------------------- -- The following external packages were located on your system. -- This installation will have the extra features provided by these packages. ----------------------------------------------------------------------------- * Qt - Required for building everything * QtOpenGL - Required for OpenGL acceleration in qtvideosink and QtGStreamerUi * Boost - Required for building QtGLib * OpenGL - Required for OpenGL rendering support in qt5videosink ----------------------------------------------------------------------------- -- The following OPTIONAL packages could NOT be located on your system. -- Consider installing them to enable more features from this software. ----------------------------------------------------------------------------- * QtQuick1 (QtDeclarative) (5.0.0 or higher) <http://qt-project.org/> Required for building QtQuick1 support * GStreamer base library (1.2.0 or higher) <http://gstreamer.freedesktop.org/> Used for building the qt5videosink element * Doxygen <http://www.doxygen.org/> Used to generate the API documentation ----------------------------------------------------------------------------- -- The following REQUIRED packages could NOT be located on your system. -- You must install these packages before continuing. ----------------------------------------------------------------------------- * QtQuick2 (QtQuick) (5.0.0 or higher) <http://qt-project.org/> Required for building QtQuick2 support * QtQml (5.0.0 or higher) <http://qt-project.org/> Required for building QtQuick2 support * GStreamer (1.2.0 or higher) <http://gstreamer.freedesktop.org/> Required to build QtGStreamer * GStreamer app library (1.2.0 or higher) <http://gstreamer.freedesktop.org/> Required to build QtGStreamerUtils * GStreamer audio library (1.2.0 or higher) <http://gstreamer.freedesktop.org/> Required to build QtGStreamer * GStreamer video library (1.2.0 or higher) <http://gstreamer.freedesktop.org/> Required to build QtGStreamer * GStreamer pbutils library (1.2.0 or higher) <http://gstreamer.freedesktop.org/> Used for building the Discoverer API * GLib <http://www.gtk.org/> Required to build QtGLib * GObject <http://www.gtk.org/> Required to build QtGLib ----------------------------------------------------------------------------- CMake Error at cmake/modules/MacroLogFeature.cmake:141 (MESSAGE): Exiting: Missing Requirements Call Stack (most recent call first): CMakeLists.txt:203 (macro_display_feature_log) CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: GLIB2_MAIN_INCLUDE_DIR used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGlib used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGlib used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGlib used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/elements used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/elements GOBJECT_INCLUDE_DIR (ADVANCED) used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGlib used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGlib used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGlib GSTREAMER_APP_INCLUDE_DIR (ADVANCED) used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst GSTREAMER_APP_LIBRARY (ADVANCED) linked by target "Qt5GStreamerUtils" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst GSTREAMER_AUDIO_INCLUDE_DIR (ADVANCED) used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst GSTREAMER_AUDIO_LIBRARY (ADVANCED) linked by target "Qt5GStreamer" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst GSTREAMER_BASE_INCLUDE_DIR (ADVANCED) used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst GSTREAMER_INCLUDE_DIR (ADVANCED) used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/elements used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/elements GSTREAMER_LIBRARY (ADVANCED) linked by target "Qt5GStreamer" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst linked by target "Qt5GStreamerUtils" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst GSTREAMER_PBUTILS_INCLUDE_DIR (ADVANCED) used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst GSTREAMER_PBUTILS_LIBRARY (ADVANCED) linked by target "Qt5GStreamer" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst GSTREAMER_VIDEO_INCLUDE_DIR (ADVANCED) used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst used as include directory in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst GSTREAMER_VIDEO_LIBRARY (ADVANCED) linked by target "Qt5GStreamer" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst _GLibs linked by target "Qt5GLib" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGlib linked by target "Qt5GStreamer" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst _GModuleLibs linked by target "Qt5GLib" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGlib linked by target "Qt5GStreamer" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst _GObjectLibs linked by target "Qt5GLib" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGlib linked by target "Qt5GStreamer" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst _GThreadLibs linked by target "Qt5GLib" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGlib linked by target "Qt5GStreamer" in directory D:/Softwares/Qt5_12_3/qt-gstreamer/src/QGst -- Configuring incomplete, errors occurred! See also "D:/Softwares/Qt5_12_3/qt-gstreamer/build/CMakeFiles/CMakeOutput.log". See also "D:/Softwares/Qt5_12_3/qt-gstreamer/build/CMakeFiles/CMakeError.log". D:\Softwares\Qt5_12_3\qt-gstreamer\build>
I was wondering if someone could find a solution to this issue. also if somebody has another solution that lets me capture the incoming stream and design a GUI, Im eager to hear it.
I am using:
windows 10,
Qt Creator 4.9.0
Based on Qt 5.12.2 (MSVC 2017, 32 bit)
Regards,
Alex. -
Hi and welcome to devnet,
Did you saw that these bindings are unmaintained ?
There's a GStreamer sink in the gst-plugins-bad package soon to be moved to gst-plugins-base.