Pixel Streaming video resolution issue since 4.27

Hello, I am a long time user of PixelStreaming. I came upon an issue since using version 4.27. When accessing my PixelStreaming Application via browser, the App’s resolution is set to match the Browser’s resolution via command emitUIInteraction({ConsoleCommand: 'r.SetRes 1000x500'});

This commands works like it is supposed to (inner implementation inside the UE4 is just to change resolution based on the values provided). Since 4.27, the resolution of the App is changed, but the Video that is being streamed to the Browser maintains it’s former resolution. I also checked via the default SignallingServer implementation, where you can look at some stats and the resolution indeed stays the same. Also the “Match Viewport Resolution” option is not working at all.

Has anybody experienced the same issue? That the “Video” does not match the App’s resolution? It looks like from 4.26 → 4.27 there was a edit of somethings that checked and updated the streamed video size based on the App’s resolution, which is now missing.

Edit: I think this is the same problem as described in this thread: Can't change video resolution in PixelStream

I’m having the same issue - my understaning is that it should work with some more commands (found in <link>)

Blockquote
PixelStreaming.Capturer.UseBackBufferSize false
PixelStreaming.WebRTC.DisableResolutionChange false
Then, when you want to update the resolution later, use
PixelStreaming.Capturer.CaptureSize 1920x1080
And, if you also want the render resolution to match, use
render.SetRes 1920x1080
as well.

However… this solution appears to be broken as of 4.27.1. Right now I’m making a bug report for this. Hopefully it’s fixable soon because Pixel Streaming is losing a lot of appeal if it’s impossible to change resolution.

Oooowww yes… I found a solution to this (and it’s so simple I want to bang my head on the table):

You have to run

PixelStreaming.WebRTC.DisableResolutionChange false

BEFORE anyone logs in, so just put it in an ExecuteCommand node in your PlayerController at BeginPlay and you should be good to go!

Just want to leave a quick note on UE5 updates:

The following commands do no longer exist (but are needed to change resolution ‘on the fly’:

  • PixelStreaming.WebRTC.DisableResolutionChange
  • PixelStreaming.Capturer.CaptureSize
  • PixelStreaming.Capturer.UseBackBufferSize

If someone has found some workaround for this, I’d be very happy to hear about it!

edit: here’s a link to a more centralized discussion on the topic

Hey guys!

I’m here to help shed a bit of light on the issue,

So the lack of stream resolution changing in Pixel Streaming in UE 5.0 - 5.0.3 is a known regression. With the changes needed to fix the issue, it couldn’t quite make it into the hot-fix release, much to our chagrin.

Good news however, is that it is already fixed in the ue5-main branch on Github!

Sorry for the inconvenience, but know that we’re aware and tackling these issues.