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. Qt6 Multimedia Streaming

Qt6 Multimedia Streaming

Scheduled Pinned Locked Moved Unsolved General and Desktop
7 Posts 6 Posters 74 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.
  • M Offline
    M Offline
    Molecular4943
    wrote last edited by
    #1

    Qt Gurus,

    I have designed an application that uses libVLC to overlay multicast TS/UDP video streams onto a QWindow. This approach works, but it is far from ideal from a development perspective. I noticed that Qt6 has a multimedia module that supports video playback from various sources (file, http, etc) and I was wondering if it could perhaps replace libVLC in my application.

    The main issue that I see so far is that I would have to somehow adapt the QMediaPlayer to support getting a video buffer from a multicast UDP socket instead of a URL. Looking at QMediaPlayer.setSourceDevice it may be possible for me to implement a socket that adds the video frames to an IO device, or to use the socket directly. Another potential issue is that the buffer format may not be compliant with what QMediaPlayer expects as input, not quite sure how I would fix that...

    Has anyone accomplished this or something similar using Qt6 Multimedia? Insights would be greatly appreciated!

    Thanks!
    M

    1 Reply Last reply
    0
    • Kent-DorfmanK Offline
      Kent-DorfmanK Offline
      Kent-Dorfman
      wrote last edited by
      #2

      It may have changed since I last futzed with it, but my understanding was that the Qt multimedia framework was a front-end for an underlying backend like libVLC, so unless the model has changed you're still stuck with a native backend library, probably that which you strive to get away from.

      SGaistS 1 Reply Last reply
      0
      • Kent-DorfmanK Kent-Dorfman

        It may have changed since I last futzed with it, but my understanding was that the Qt multimedia framework was a front-end for an underlying backend like libVLC, so unless the model has changed you're still stuck with a native backend library, probably that which you strive to get away from.

        SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote last edited by
        #3

        @Kent-Dorfman it did have changed indeed.

        QtMultimedia got a very big overhaul for Qt 6. Since several releases, the default backend is powered by ffmpeg. While the native backend are still available, they won't be developed further.

        @Molecular4943 sorry I can't answer that one as I haven't done something like that. I think it's worth investing. Out of curiosity, what is your issue with libVLC ?

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

        M 1 Reply Last reply
        0
        • SGaistS SGaist

          @Kent-Dorfman it did have changed indeed.

          QtMultimedia got a very big overhaul for Qt 6. Since several releases, the default backend is powered by ffmpeg. While the native backend are still available, they won't be developed further.

          @Molecular4943 sorry I can't answer that one as I haven't done something like that. I think it's worth investing. Out of curiosity, what is your issue with libVLC ?

          M Offline
          M Offline
          Molecular4943
          wrote last edited by
          #4

          @SGaist said in Qt6 Multimedia Streaming:

          Out of curiosity, what is your issue with libVLC ?

          I have no issues from a functionality perspective, it works as intended. It would be easier from a dependency management perspective if I could just use Qt6 dependencies.

          Additionally, it would be nice if I had more control over the socket for the video frames (preferably with QUdpSocket) because currently the streaming is handled simply by configuring libVLC urls: udp://@239.54.0.1:5566. This way, libVLC manages the connection instead which isn't ideal for me.

          I'm going to start playing around with Qt6 Multimedia to see if I can get something working using a UDP socket.

          Thanks for the input!
          M

          JoeCFDJ Ronel_qtmasterR 2 Replies Last reply
          0
          • M Molecular4943

            @SGaist said in Qt6 Multimedia Streaming:

            Out of curiosity, what is your issue with libVLC ?

            I have no issues from a functionality perspective, it works as intended. It would be easier from a dependency management perspective if I could just use Qt6 dependencies.

            Additionally, it would be nice if I had more control over the socket for the video frames (preferably with QUdpSocket) because currently the streaming is handled simply by configuring libVLC urls: udp://@239.54.0.1:5566. This way, libVLC manages the connection instead which isn't ideal for me.

            I'm going to start playing around with Qt6 Multimedia to see if I can get something working using a UDP socket.

            Thanks for the input!
            M

            JoeCFDJ Offline
            JoeCFDJ Offline
            JoeCFD
            wrote last edited by
            #5

            @Molecular4943 I do not think Qt multimedia has great features for streaming. You can use gstreamer directly with qml sink for better controls.
            https://github.com/GStreamer/gst-plugins-good/blob/master/tests/examples/qt/qmlsink/main.cpp

            VLC seems a good tool. But we decided to use gstreamer a few years ago. FFmpeg is a good option as well.

            1 Reply Last reply
            0
            • mrdebugM Offline
              mrdebugM Offline
              mrdebug
              wrote last edited by
              #6

              Why not use ffmpeg? It is better for rtsp, network streaming etc.
              https://github.com/denisgottardello/QtFFmpegPlayer

              Need programmers to hire?
              www.labcsp.com
              www.denisgottardello.it
              GMT+1
              Skype: mrdebug

              1 Reply Last reply
              0
              • M Molecular4943

                @SGaist said in Qt6 Multimedia Streaming:

                Out of curiosity, what is your issue with libVLC ?

                I have no issues from a functionality perspective, it works as intended. It would be easier from a dependency management perspective if I could just use Qt6 dependencies.

                Additionally, it would be nice if I had more control over the socket for the video frames (preferably with QUdpSocket) because currently the streaming is handled simply by configuring libVLC urls: udp://@239.54.0.1:5566. This way, libVLC manages the connection instead which isn't ideal for me.

                I'm going to start playing around with Qt6 Multimedia to see if I can get something working using a UDP socket.

                Thanks for the input!
                M

                Ronel_qtmasterR Offline
                Ronel_qtmasterR Offline
                Ronel_qtmaster
                wrote last edited by Ronel_qtmaster
                #7

                @Molecular4943 you can try Opencv. With opencv you will have control over the frames. I use it to stream cameras url.I think it also support rstp

                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