Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. Qtmediaplayer and custom gstreamer pipeline
QtWS25 Last Chance

Qtmediaplayer and custom gstreamer pipeline

Scheduled Pinned Locked Moved Unsolved Qt Creator and other tools
qmediaplayergstreamer1.0qt5
15 Posts 2 Posters 7.4k 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.
  • V Offline
    V Offline
    vicky_mac
    wrote on last edited by
    #1

    Hi,
    I want to play a local stored video in Qtmediaplayer by using custom gstreamer pipeline.
    I saw on doc.qt.io something like this:
    player->setMedia(QUrl("gst-pipeline: videotestsrc ! autovideosink"));

    But couldn't feagure what exactly i must write inside QUrl.

    It's a .MP4 file i want to play.

    Please help .
    Thanx

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

      Hi,

      Since it's an .mp4 file, why not just use the standard file URL ?

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

      V 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi,

        Since it's an .mp4 file, why not just use the standard file URL ?

        V Offline
        V Offline
        vicky_mac
        wrote on last edited by
        #3

        @SGaist i am running it on arm processor which is very slow
        The hardware zynqmp SoC am using has hard-coded decode ip,
        Which i am able to access only by gstreamer pipeline.

        I only want gstreamer pipeline in QUrl.

        If anyone has any example please help.

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

          Can you show the exact pipeline you need to use on the command line to show your video ?

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

          V 1 Reply Last reply
          0
          • SGaistS SGaist

            Can you show the exact pipeline you need to use on the command line to show your video ?

            V Offline
            V Offline
            vicky_mac
            wrote on last edited by
            #5

            @SGaist

            gst-launch-1.0 filesrc location="input-file.mp4" ! qtdemux name=demux demux.video_0 ! h264parse ! omxh264dec ! queue max-size-bytes=0 ! kmssink bus-id=fd4a0000.zynqmp-display fullscreen-overlay=1

            This is the pipeline am using to run and display video from command prompt and it's working fine.

            I want to know how i can use the same in Qtmediaplayer QUrl .

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

              From what I gather in the documentation, something like: gst-pipeline: filesrc location=input-file.mp4 ! qtdemux name=demux demux.video_0 ! h264parse ! omxh264dec ! queue max-size-bytes=0 ! kmssink bus-id=fd4a0000.zynqmp-display fullscreen-overlay=1. You will likely have to fiddle a bit. Still based on the documentation, you should name your sink qtvideosink to make use of a QVideoWidget output.

              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
              • V Offline
                V Offline
                vicky_mac
                wrote on last edited by
                #7

                It gives invalid URI error. Qmediaplay uses playbin pipeline internally so we need to modify that somehow .

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

                  What version of Qt are you using ?

                  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
                  • V Offline
                    V Offline
                    vicky_mac
                    wrote on last edited by
                    #9

                    QT 5.11.3

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

                      Then upgrade your Qt version. As stated clearly in the documentation I linked to, it's a feature available since Qt 5.12.2.

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

                      V 1 Reply Last reply
                      1
                      • SGaistS SGaist

                        Then upgrade your Qt version. As stated clearly in the documentation I linked to, it's a feature available since Qt 5.12.2.

                        V Offline
                        V Offline
                        vicky_mac
                        wrote on last edited by
                        #11

                        @SGaist thanx for reply, i cannot upgrade qt as it comes as default package with the petalinux.
                        Can't we run custom gst-pipeline in 5.11.3

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

                          Would have to rebuild the GStreamer backend to fit your needs.

                          Unless you have special restrictions, you can have several Qt versions in parallel. They must be explicitly installed in different places though.

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

                          V 1 Reply Last reply
                          0
                          • SGaistS SGaist

                            Would have to rebuild the GStreamer backend to fit your needs.

                            Unless you have special restrictions, you can have several Qt versions in parallel. They must be explicitly installed in different places though.

                            V Offline
                            V Offline
                            vicky_mac
                            wrote on last edited by
                            #13

                            @SGaist thanx for replying.,

                            i have tried to use another version of QT and tried to cross-compile from the source available as qtopensource.. from qt site.
                            But i was not able to cross compile may i dont know exact way how to croos-compile Qt from source.

                            So i am left with the default QT version provided with petalinux.

                            if you have any idea about cross compiling or procedure please help me, i'll try to cross compile another version.

                            And how this Gstreamer backend can be built to run gst custome pipeline under Qmediaplayer.

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

                              The procedure doesn't change between two Qt versions.

                              What errors did you get ?

                              The backend code can be found in the qtmultimedia module.

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

                              V 1 Reply Last reply
                              0
                              • SGaistS SGaist

                                The procedure doesn't change between two Qt versions.

                                What errors did you get ?

                                The backend code can be found in the qtmultimedia module.

                                V Offline
                                V Offline
                                vicky_mac
                                wrote on last edited by vicky_mac
                                #15

                                @SGaist I'll try to cross compile qt again and let you know the error .
                                Meanwhile can you please share any link where i can get the procedure about how to cross compile qt for zynq mpsoc devices.
                                Thanx.

                                1 Reply Last reply
                                0
                                • JoeCFDJ JoeCFD referenced this topic on

                                • Login

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