Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Search for video edition use tutorial with Qt (or plugins/tools, etc...)

Search for video edition use tutorial with Qt (or plugins/tools, etc...)

Scheduled Pinned Locked Moved Unsolved General and Desktop
10 Posts 2 Posters 2.5k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • jerome_isAviableJ Offline
    jerome_isAviableJ Offline
    jerome_isAviable
    wrote on last edited by
    #1

    Actually, i'm able to render a QCamera input to a viewfinder inside a QGraphicsVideoItem, and then overlay it with a text.
    I'm able also to render a QVideoWidget inside a QGraphicsView, but the overlayText item added stay under the video (no more an overlay then).
    The QVideoWidget let me change hue, saturation, luminosity (not color i think), but QGraphicsVideoItem not.
    For example, how to use the video from viewfinder of QCamera and change image color, saturation, hue, contrast, etc... and in the same time, have a nice overlay text (not linked with the video, but same as made by QGraphicsView... a separate real overlay text/graphic) ?
    How to multiplex entries (for example, i have 4 sources video entries, then i would like to put each one on a screen area source, then select wich one to be the record source) ?
    How to, in the same time, record video from source (i know to do that with multimediarecorder) and catch a image capture on the fly (the qt recorder don't know to do that i think) ?

    So... in general, how to use video not only for view a video, but for editing things, use many sources, mix sources in an output, modify images in live, etc... I not see anything in classic Qt libraies, but maybe need to inherit a class or use some plugins dedicated for that, or do i need to use qt5/gstreamer ?

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      Are you trying to implement something like Kdenlive ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      jerome_isAviableJ 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi,

        Are you trying to implement something like Kdenlive ?

        jerome_isAviableJ Offline
        jerome_isAviableJ Offline
        jerome_isAviable
        wrote on last edited by
        #3

        Hi @SGaist,
        I'm trying to do something more simple than kdenlive, but i suppose that you give me this reference of application for i can go look in the source code (so i will do it), because yes, there is more fonctionalities than i want to do inside kdenlive application.
        My objectif is to have:
        1/ sources from cameras (webcam or decklink blackmagic sources streams) to be render in little screeners
        2/ have an output for video to be recording in live with the ability to modify sources color, hue, saturation, etc... and the ability to mix signals vidéos and audio
        3/ have an overlay system with some specificities:
        3.1/ one part for construct the overlay entries (dynamic or static entries positioned... it can be a GPS position or what ever from physical serial interface, or from udp streams... an interface make in, form signals)
        3.2/ on the QGraphicView, there is, in live the render of the overlay... but the vidéo not record it, this overlay is recording in live in a xml file... then it will be possible to modify the aspect and the content later
        3.3/ be able at a moment to render the recorded video and the overlay in a full renbdered video (so at this time, the overlay is inside the video).
        4/ be able on the fly to take snapshot images from outupt recording image or entries sources without break time (because all the recording sequencies are recorded in live)
        5/record in live all the entries in a kind of software "blackbox"...

        so technically, i just need to multiplex entries, to be able to change aspect of the image for the entry and for the output render, mix them, and have the overlay dynamic text.
        My problem actually is for all the part of video images and find information for learn to do that...
        Gstreamer seems to be the ultimate and powerfull tool for that, but i lake of docs/manual/tutos (nice manual in C of gstreamer... that's all), and i don't know, maybe there is something other than that... i'm not able to find actually good informations around this subject.

        any idea/informations/sources of informations are welcome
        'i'm going to read the kdenlive code now... thank you @SGaist)

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Since you need a bit of lower-level control on the pipeline then the QtGStreamer project might be a better choice.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          jerome_isAviableJ 1 Reply Last reply
          0
          • SGaistS SGaist

            Since you need a bit of lower-level control on the pipeline then the QtGStreamer project might be a better choice.

            jerome_isAviableJ Offline
            jerome_isAviableJ Offline
            jerome_isAviable
            wrote on last edited by
            #5

            @SGaist
            Yes, gstreamer seems to be very powerfull for do everything (streaming video also).
            Ok, i allready start to learn this by read the gstreamer doc manual (in C) and try to interpret it in C++/Qt.
            I see the list of plugins aviable and properties of each (not full properties for all of them, but ok...)

            Actually, i arrive to use source camera and record things by create a pipeline and a bin, but...
            I actually failed to redirect a sink to a QGraphicsVideoItem container.
            I never find any example code of gstreamer-qt5 use and Qt5 code. If you have some to provide... i will be so happy.

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #6

              Did you took a look at the Qt video sinks provided by QtGStreamer ?

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              jerome_isAviableJ 3 Replies Last reply
              0
              • SGaistS SGaist

                Did you took a look at the Qt video sinks provided by QtGStreamer ?

                jerome_isAviableJ Offline
                jerome_isAviableJ Offline
                jerome_isAviable
                wrote on last edited by
                #7

                @SGaist,
                yes, i read this allready and try to well understand and use it. For my level of knowledge, at this time, it is still some sentences not far from abstract words. example provide is also minimalist and i think this should help someone who allready know to do it well. But ok... that is some clues...

                It talks about 4 different things (combinate explication in one time for QML or QWidget with or without gl engine... so... it is confuse for me) in the same time and provide a non complete and old example.

                But ok... there is not more relevant information or examples provide, so i will have to do with that and imagine/try things from there to the state it will work (then from there maybe write an article on my web site, for provide full working examples, for help other ones who want to learn to use GStreamer with Qt5 and who doesn't really understand the qtGstreamer API official explications).
                thank you for try to help me @SGaist, i think i will find from these clues and with perseverance to try things from there and from gstreamer C manual too.

                1 Reply Last reply
                0
                • SGaistS SGaist

                  Did you took a look at the Qt video sinks provided by QtGStreamer ?

                  jerome_isAviableJ Offline
                  jerome_isAviableJ Offline
                  jerome_isAviable
                  wrote on last edited by
                  #8

                  @SGaist
                  https://gstreamer.freedesktop.org/data/doc/gstreamer/head/qt-gstreamer/html/classQGst_1_1Ui_1_1GraphicsVideoSurface.html

                  it also said that at create time of GraphicVideoSurface (this include the QGraphicsView for construct), it construct automatically the videoSink QGSt::ElementPtr. then i think from there i can just call this GraphicVideoSurface::videoSink function for be able to add it in a pipeline... then add pads and connect them.
                  I hope... but still have to resolve some weird thinks around GSt::Bin add function correct use.

                  1 Reply Last reply
                  0
                  • SGaistS SGaist

                    Did you took a look at the Qt video sinks provided by QtGStreamer ?

                    jerome_isAviableJ Offline
                    jerome_isAviableJ Offline
                    jerome_isAviable
                    wrote on last edited by
                    #9

                    @SGaist
                    My new idea is to try to do transcript gstreamer code and share test application/code (then put it in my web site and will be happy to see the code used by other for learn). This way should be an idea to let community help community to improve test/example code who miss for qt5-gstreamer.
                    I try that by start this public bitbucket depot: https://bitbucket.org/jerome___/gst_video_testeur/overview

                    Feel free to share your knowledge by transcript and use qt5-gstreamer code in this depot public repository, and let's communicate the idea to which other hackers who would like to share to.

                    https://bitbucket.org/jerome___/gst_video_testeur/overview

                    hope this will show the power of open source community and document as well this qt5-gstreamer.

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      Then I'd recommend contributing to the QtGstreamer project

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved