Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

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.



  • No help?


  • Lifetime Qt Champion

    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.


Log in to reply