We are planning to develop a Web Service using Pixel Streaming 2, which is provided with Unreal Engine 5.5.
Our goal is to allow each user (client) to access the web service and have an independent view and control over their own session.
As far as we understand, Pixel Streaming 2 supports this kind of functionality by spawning a new player for each connected client in Unreal Engine, allowing each client to control their own player instance.
Is this understanding correct?
If this functionality is supported, we have an additional question:
Assuming we run this on a high-performance PC, and stream to each client in FHD (1920x1080) at 30 FPS,
how many concurrent clients can be realistically supported from a single Unreal Engine instance?
The PixelStreaming plugin (both 1 and 2) is more designed for a 1 to 1 use case where there is one application per player connected.
That being said, PixelStreaming does support multiple players connected to the same instance with no problems on audio and video. I imagine you’d run into issues regarding input handling as as far as I know, the Unreal Engine itself doesn’t support multiple keyboards or mice so there would be no way to control individual players per keyboard.
Pixel Streaming 2 does support this use case using gamepads.
As for the stream performance, it more depends on the performance of your application in general as well as the network strength between the connected players and the application.
Hope this helps!
Just to add to your question regarding concurrent clients, there are a number of factors at play that impact this.
An thing to consider is your GPU. A consumer grade Nvidia card has a hard limit of 8 concurrent video encoding sessions simultaneously, whilst many professional cards do not have a hard limit. I would be surprised if you could run 8 1920x1080 streams at once on a consumer card. Professional cards would likely tap out before 16 streams.