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. Is Qt capable of small-buffer low-latency video applications (e.g. live streaming)?
QtWS25 Last Chance

Is Qt capable of small-buffer low-latency video applications (e.g. live streaming)?

Scheduled Pinned Locked Moved Unsolved General and Desktop
6 Posts 2 Posters 2.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.
  • R Offline
    R Offline
    rshe
    wrote on 22 May 2017, 06:32 last edited by
    #1

    I am trying to create my own URL based live streaming application. I have hit an issue that the video streaming if having a delay of about 1000ms and there is no change in latency even after using LowLatency command. I want to achieve about 200ms latency video streaming.

    ( I want to genuinely know if Qt is the right tool for the job here, from people who know Qt and understand non-blocking, high priority, low latency programming. I already love Qt for its QML + JavaScript GUI building side.)

    K 1 Reply Last reply 22 May 2017, 08:55
    0
    • R rshe
      22 May 2017, 06:32

      I am trying to create my own URL based live streaming application. I have hit an issue that the video streaming if having a delay of about 1000ms and there is no change in latency even after using LowLatency command. I want to achieve about 200ms latency video streaming.

      ( I want to genuinely know if Qt is the right tool for the job here, from people who know Qt and understand non-blocking, high priority, low latency programming. I already love Qt for its QML + JavaScript GUI building side.)

      K Offline
      K Offline
      koahnig
      wrote on 22 May 2017, 08:55 last edited by
      #2

      @rshe said in Is Qt capable of small-buffer low-latency video applications (e.g. live streaming)?:

      I am trying to create my own URL based live streaming application. I have hit an issue that the video streaming if having a delay of about 1000ms and there is no change in latency even after using LowLatency command. I want to achieve about 200ms latency video streaming.

      Is this observation of 1 sec latency with Qt-based communication?

      @rshe said in Is Qt capable of small-buffer low-latency video applications (e.g. live streaming)?:

      ( I want to genuinely know if Qt is the right tool for the job here, from people who know Qt and understand non-blocking, high priority, low latency programming. I already love Qt for its QML + JavaScript GUI building side.)

      I am using TCP or UDP based data streaming and I cannot confirm your observation of long latencies. I expect to see more a latency of about 200ms. However, my streams are lower throughput in the kB/sec range, but they are larger number of streams in general.

      This is merely a view from a user point, but I did not see reasons to doubts of Qt performances in that respect, yet. Latency is a critical factor in my applications.

      Vote the answer(s) that helped you to solve your issue(s)

      1 Reply Last reply
      1
      • R Offline
        R Offline
        rshe
        wrote on 22 May 2017, 09:47 last edited by
        #3

        @koahnig thanks for the reply. I am also using TCP or UDP based data streaming.
        I have set the bit rate type to (VBR) varying bitrate type and it varies from say 800 – 8192 kb/S
        below is my code. and I have also attached my camera settings.

        #include "dialog.h"
        #include <QApplication>
        
        #include<QMediaPlayer>
        #include<QVideoWidget>
        
        int main(int argc, char *argv[])
        {
            QApplication a(argc, argv);
            //Dialog w;
            //w.show();
        
            //QMediaPlayer::LowLatency = 0x01
            QMediaPlayer* player = new QMediaPlayer;
        
            QVideoWidget* vw = new QVideoWidget;
        
            player->setVideoOutput(vw);
            player->LowLatency;
        
            player->setMedia(QUrl("rtsp://admin:admin@192.168.253.99![/cam](image url)/realmonitor?channel=1&subtype=0&unicast=true"));
        
            vw->setGeometry(100,100,700,500);
            vw->show();
        
            player->play();
            return a.exec();
        }
        
        

        alt text

        Can you please tell me is there anywhere I can improve to get low latency

        K 1 Reply Last reply 22 May 2017, 10:18
        0
        • R Offline
          R Offline
          rshe
          wrote on 22 May 2017, 09:52 last edited by
          #4

          ![alt text](0_1495446537836_Capture.PNG image url)

          1 Reply Last reply
          0
          • R rshe
            22 May 2017, 09:47

            @koahnig thanks for the reply. I am also using TCP or UDP based data streaming.
            I have set the bit rate type to (VBR) varying bitrate type and it varies from say 800 – 8192 kb/S
            below is my code. and I have also attached my camera settings.

            #include "dialog.h"
            #include <QApplication>
            
            #include<QMediaPlayer>
            #include<QVideoWidget>
            
            int main(int argc, char *argv[])
            {
                QApplication a(argc, argv);
                //Dialog w;
                //w.show();
            
                //QMediaPlayer::LowLatency = 0x01
                QMediaPlayer* player = new QMediaPlayer;
            
                QVideoWidget* vw = new QVideoWidget;
            
                player->setVideoOutput(vw);
                player->LowLatency;
            
                player->setMedia(QUrl("rtsp://admin:admin@192.168.253.99![/cam](image url)/realmonitor?channel=1&subtype=0&unicast=true"));
            
                vw->setGeometry(100,100,700,500);
                vw->show();
            
                player->play();
                return a.exec();
            }
            
            

            alt text

            Can you please tell me is there anywhere I can improve to get low latency

            K Offline
            K Offline
            koahnig
            wrote on 22 May 2017, 10:18 last edited by
            #5

            @rshe

            Unfortunately, I have no experience with media/video player in Qt.

            Vote the answer(s) that helped you to solve your issue(s)

            1 Reply Last reply
            0
            • R Offline
              R Offline
              rshe
              wrote on 22 May 2017, 10:43 last edited by
              #6

              @koahnig Thanks for the reply.

              1 Reply Last reply
              0

              3/6

              22 May 2017, 09:47

              • Login

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