Game crash and pop up below message when start pixel streaming and connect it

I get this error when player connect to the stream than the game is crashed,what does it mean? thanks D:

Assertion failed: Player [File:D:/Build/++UE4/Sync/Engine/Plugins/Media/PixelStreaming/Source/PixelStreaming/Private/Streamer.cpp] [Line: 173]
player 102 not found

https://i.imgur.com/tK29CWp.png

1 Like

We are experiencing the same issue, which seems to be because of a browser update involving WebRTC. As a temporary solution, we have found that you could use the Opera browser, but we are still looking for a permanent solution.

OK thanks, nice to hear still have option to run it!

Same issue.
Now I have to use firefox to run my project.
Dose anyone know how to fix this?

And cirrus server response with:

11:33:03.322 <- player 101: iceCandidate
streamer disconnected: 4000 - Failed to parse answer's SDP
v=0
o=- 5106233724303985630 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1 2
a=extmap-al

https://groups.google.com/g/discuss-webrtc/c/Zrsn2hi8FV0/m/KIbn0EZPBQAJ

This is related to Chrome release. WebRTC in Unreal Engine is an older version and will likely be resolvable through a custom engine update with a later revision of WebRTC. My group is looking into creating a fork to resolve this because I simply don’t see Epic Games being able to do so anytime soon.

Steps that should offer a glimmer of hope for the short run:

  1. Clone this repo: GitHub - sourcey/webrtc-builds: Automated WebRTC build scripts for Linux, Windows, Mac, Android and iOS.
  2. Build a Debug and Release for Win64 (or whatever platform you’re wanting)
  3. Create a new rev folder in Engine source: D:\git\UnrealEngine-1\Engine\Source\ThirdParty\WebRTC
  4. Modify WebRTC.Build in that directory to use the new revision directory
  5. Copy all header files to \Includes and the protobuf_full.lib, protobuf_lite.lib, protoc_lib.lib, system_wrappers.lib, webrtc.lib into their respective subdirectories (matching the other repositories Unreal has)
  6. Attempt to build a custom Unreal Engine and clean up deprecations/interfaces

Same problem here. Would like to see Epic address this in the Engine or the Pixel Streaming plugin.

Same issue after the latest chrome update.
Cirrus server says “parse SDP failed”.

I started to work on the build your own WebRTR and Engine path and realized that was over my head. I found one other mention of this crash in the Linux PixelStreaming project and it offered a much simpler solution. I have only tested this a dozen times but so far I have not been able to get a crash. Prior to this it was crashing around 80% of the times I tried to connect.

In your packaged project head into this folder \Engine\Source\Programs\PixelStreaming\WebServers\SignallingWebServer\scripts\ Open “webRtcPlayer.js” and go down to line 60 and amend the code as shown below adding one line.“this.cfg.offerExtmapAllowMixed = false;”

        this.video = createWebRtcVideo();
        //possible fix for WebRTC Chrome 89 issues
        this.cfg.offerExtmapAllowMixed = false;
        //end fix    
        onsignalingstatechange = function(state) {
            console.info('signaling state change:', state)
        };

Save this file and start the signaling server and your game as usual.

If you want this change to be in all your packages out of UE4 make the same change to the same file in the default Engine folder. Usually this is something like “Program Files\Epic Games\UE_4.26\Engine”

Can confirm this works. I’ll have to do more research on it though because this was supposed to be off by default in Chrome.

Unfortunately this is not a long-term solution. See: https://groups.google.com/g/discuss-webrtc/c/24LiX06HwpM/m/SGxev6-7DQAJ

This is just forcing Chrome to fall back to the old way of doing it which will be entirely deprecated by August (est for M93). I would only recommend using it in the interim as a hotfix and only conditionally when Chromium >=M89 has been detected. The longer term solution appears to still be getting Epic to update WebRTC to a new revision (rev 33330 on branch 4389 seems stable).

Here is the hotfix code for anyone interested that would go into webRtcPlayer.js near the top (under the Config setup section):

        this.cfg = parOptions.peerConnectionOptions || {};
        this.cfg.sdpSemantics = 'unified-plan';
        this.pcClient = null;
        this.dcClient = null;
        this.tnClient = null;

        this.sdpConstraints = {
          offerToReceiveAudio: 1,
          offerToReceiveVideo: 1
        };
		
        // Temporary hotfix for Chrome >=89
        const tempChromeInfo = navigator.userAgent.match( /Chrom(e|ium)\/([0-9]+)\./ );
        if ( tempChromeInfo )
        {
                const tempVersion = parseInt( tempChromeInfo[ 2 ], 10 );
                if ( tempVersion >= 89 )
                {
                        this.cfg.offerExtmapAllowMixed = false;
                }
        }

Proof: https://byoh.vanmetreco.com/test?floorplan=Carver&room=Kitchen

I just put in an Engine bug report, I’ll update with a link to vote when it shows up.

It helps a lot, thanks very much

Thanks a lot, finally it work for me!

Where might that be ? love to up vote it

Yeah looks like bug tracking submission is a bit of a black box. I got a confirmation email that they recived my submission but it says

We will review your case and will follow up if more information is needed or a ticket is created. In the event the issue you reported is scheduled for a future release or has known workarounds, you may not receive a follow-up message from our team.

So possible that I will never hear anything about it, maybe it’s being fixed in a future release? We can keep our finger crossed.

Hi, Did anyone find a solution for this? I still face this problem in 4.27.1.

350721-webrtc-pixel-streaming.jpg