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. Qt WebGL streaming plugin - Remote UI
Forum Update on Monday, May 27th 2025

Qt WebGL streaming plugin - Remote UI

Scheduled Pinned Locked Moved Solved General and Desktop
5 Posts 2 Posters 1.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.
  • N Offline
    N Offline
    nsourl
    wrote on 27 Jan 2021, 10:34 last edited by nsourl
    #1

    Hi all,

    I am highly interested in using this awesome Qt WebGL streaming plugin ( https://doc.qt.io/qt-5/webgl.html ) for remote UI access of a personal Qt application that it's running on a Raspberry Pi. I am using the Qt 5.11.3 since it's the latest Qt version supported by the official Rasbian Debian Buster. So, I have these questions questions if anyone can help me:

    1. Is it possible to use WebGL streaming plugin behind NAT or VPN and also use port forwarding ? Because I would like to have access of remote UI from my home or my mobile phone for checking status periodically and etc.

    2. Qt WebGL streaming plugin supports encrypted connections like https? Or using encrypted websockets or something else? If yes, it is supported on Qt 5.11.3 version? And any idea how to do that?

    3. I know that Qt WebGL streaming plugin allows by default only one connection at the time. So, any ideas how to support multiple clients?

    Thanks.

    R 1 Reply Last reply 27 Jan 2021, 11:40
    1
    • N nsourl
      27 Jan 2021, 10:34

      Hi all,

      I am highly interested in using this awesome Qt WebGL streaming plugin ( https://doc.qt.io/qt-5/webgl.html ) for remote UI access of a personal Qt application that it's running on a Raspberry Pi. I am using the Qt 5.11.3 since it's the latest Qt version supported by the official Rasbian Debian Buster. So, I have these questions questions if anyone can help me:

      1. Is it possible to use WebGL streaming plugin behind NAT or VPN and also use port forwarding ? Because I would like to have access of remote UI from my home or my mobile phone for checking status periodically and etc.

      2. Qt WebGL streaming plugin supports encrypted connections like https? Or using encrypted websockets or something else? If yes, it is supported on Qt 5.11.3 version? And any idea how to do that?

      3. I know that Qt WebGL streaming plugin allows by default only one connection at the time. So, any ideas how to support multiple clients?

      Thanks.

      R Offline
      R Offline
      raven-worx
      Moderators
      wrote on 27 Jan 2021, 11:40 last edited by
      #2

      @nsourl
      ad 1) like any other application when port forwarding is properly setup. Or like in a vpn you already have "direct" access to the machine running your application

      ad 2)
      you may want to read this: https://www.qt.io/blog/2018/11/23/qt-quick-webgl-release-512
      a bit outdated though, but i am not aware that it is supported yet (but doesnt mean it isnt)

      ad 3)
      a possibility is to design your application the way that the UI is strictly decoupled from the logic and each UI client accesses a single backend service. This way each UI client instance launched accesses the same data simultaniously.

      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
      If you have a question please use the forum so others can benefit from the solution in the future

      N 1 Reply Last reply 28 Jan 2021, 13:35
      3
      • R raven-worx
        27 Jan 2021, 11:40

        @nsourl
        ad 1) like any other application when port forwarding is properly setup. Or like in a vpn you already have "direct" access to the machine running your application

        ad 2)
        you may want to read this: https://www.qt.io/blog/2018/11/23/qt-quick-webgl-release-512
        a bit outdated though, but i am not aware that it is supported yet (but doesnt mean it isnt)

        ad 3)
        a possibility is to design your application the way that the UI is strictly decoupled from the logic and each UI client accesses a single backend service. This way each UI client instance launched accesses the same data simultaniously.

        N Offline
        N Offline
        nsourl
        wrote on 28 Jan 2021, 13:35 last edited by
        #3

        @raven-worx said in Qt WebGL streaming plugin - Remote UI:

        @nsourl
        ad 1) like any other application when port forwarding is properly setup. Or like in a vpn you already have "direct" access to the machine running your application

        ad 2)
        you may want to read this: https://www.qt.io/blog/2018/11/23/qt-quick-webgl-release-512
        a bit outdated though, but i am not aware that it is supported yet (but doesnt mean it isnt)

        ad 3)
        a possibility is to design your application the way that the UI is strictly decoupled from the logic and each UI client accesses a single backend service. This way each UI client instance launched accesses the same data simultaniously.

        @raven-worx ,

        1. I tried to forward webgl commands (using -platform webgl:port=8081) of my Raspberry Pi application through NAT on a public accessible IP address. I am having a problem that the websocket port dynamically changes each time that I run my app. So, I have to port forward the traffic from this port on public IP address too. After adding the websocket port to be forwarded, then it's possible to run remotely. But do you have any idea if I could request from WebGL plugin to select a specific port for the websocket? I was looking into the source code but I am not sure what I have to call and if it's exactly what I need.

        2. Thanks for sharing this blog post and after checking the source code of the WebGL plugin it seems that the websocket supports encryption but it's not supported by the httpserver that is being used right now. So, probably https is not supported by this plugin yet. But I found this repository on github about qthttpserver and it seems from a specific commit that https is supported. Do you think that this may help me somehow ?

        3. It sounds a very good idea about the deisgn of my application.

        Thanks!

        R 1 Reply Last reply 28 Jan 2021, 13:42
        0
        • N nsourl
          28 Jan 2021, 13:35

          @raven-worx said in Qt WebGL streaming plugin - Remote UI:

          @nsourl
          ad 1) like any other application when port forwarding is properly setup. Or like in a vpn you already have "direct" access to the machine running your application

          ad 2)
          you may want to read this: https://www.qt.io/blog/2018/11/23/qt-quick-webgl-release-512
          a bit outdated though, but i am not aware that it is supported yet (but doesnt mean it isnt)

          ad 3)
          a possibility is to design your application the way that the UI is strictly decoupled from the logic and each UI client accesses a single backend service. This way each UI client instance launched accesses the same data simultaniously.

          @raven-worx ,

          1. I tried to forward webgl commands (using -platform webgl:port=8081) of my Raspberry Pi application through NAT on a public accessible IP address. I am having a problem that the websocket port dynamically changes each time that I run my app. So, I have to port forward the traffic from this port on public IP address too. After adding the websocket port to be forwarded, then it's possible to run remotely. But do you have any idea if I could request from WebGL plugin to select a specific port for the websocket? I was looking into the source code but I am not sure what I have to call and if it's exactly what I need.

          2. Thanks for sharing this blog post and after checking the source code of the WebGL plugin it seems that the websocket supports encryption but it's not supported by the httpserver that is being used right now. So, probably https is not supported by this plugin yet. But I found this repository on github about qthttpserver and it seems from a specific commit that https is supported. Do you think that this may help me somehow ?

          3. It sounds a very good idea about the deisgn of my application.

          Thanks!

          R Offline
          R Offline
          raven-worx
          Moderators
          wrote on 28 Jan 2021, 13:42 last edited by
          #4

          @nsourl said in Qt WebGL streaming plugin - Remote UI:

          1. ah i didnt know this parameter yet. Should be the following then i guess:

          -platform webgl:port=8081:wsserverport=8082

          1. no, unless you want to rewrite the internal "HTTP server" code

          --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
          If you have a question please use the forum so others can benefit from the solution in the future

          N 1 Reply Last reply 2 Feb 2021, 13:16
          1
          • R raven-worx
            28 Jan 2021, 13:42

            @nsourl said in Qt WebGL streaming plugin - Remote UI:

            1. ah i didnt know this parameter yet. Should be the following then i guess:

            -platform webgl:port=8081:wsserverport=8082

            1. no, unless you want to rewrite the internal "HTTP server" code
            N Offline
            N Offline
            nsourl
            wrote on 2 Feb 2021, 13:16 last edited by
            #5

            @raven-worx said in Qt WebGL streaming plugin - Remote UI:

            @nsourl said in Qt WebGL streaming plugin - Remote UI:

            1. ah i didnt know this parameter yet. Should be the following then i guess:

            -platform webgl:port=8081:wsserverport=8082

            1. no, unless you want to rewrite the internal "HTTP server" code

            @raven-worx ,

            1. It worked using the command line format as you proposed. But also I had to find the corresponding branch where this command line parameter is supported. For example on Qt 5.11.3 this parameter is not supported. I think it's supported from Qt 5.13.0 and above.

            2. Ok then, appreciate for your advice.

            Thanks.

            1 Reply Last reply
            1

            1/5

            27 Jan 2021, 10:34

            • Login

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