OpenGL visualizes real-time transmission

I am experimenting with developing a tool for remote rendering of OpenGL in C ++. Main idea:

  • Client issues OpenGL commands as a regular application
    • These commands are actually sent over the network to an external server.
    • The server renders using off-screen technology.
    • After completion, the server sends one frame over the network to the client
    • The client displays a frame on the screen.
    • Loop.

I know that I should not start to worry about optimization if I don’t have a finished product yet, but I’m sure it will be very slow, and the transmission bottleneck will probably be a single frame over the network, even if these computers are connected to one local network.

I am thinking about using some kind of streaming video library. Thus, frames will be transmitted using proper compression algorithms, which will speed up the process.

Am I on the right track? Is it right to use a streaming video library here? If you think so, what is a good library for this task (in C or C ++, preferably C ++)?

Thank you for your help!

+3
source share
3 answers

You have two solutions.

Solution 1

  • Run the application remotely
  • Intercept openGL calls
  • Forward them online
  • Print local openGL calls

- > , ; openGL- , , , . , ( , ). .

2: , , .

2, . , openGL.

: , , , , , : , , , , , .. , ,

+1

, , , .

24- 1280x1024 30 , Ethernet , 33 .

, RLE- .

+1

, $ , . , . // , (OpenGL) ( ) .

The bottleneck you talked about depends on several things on your side: the size of the images and the frame rate that you need to send / receive / display.

Here are some of the interesting topics that I read, and I hope they shed light on this topic:

Streaming video using C ++

How to transfer video and play it?

0
source

Source: https://habr.com/ru/post/1760559/


All Articles