PixelStreaming2 crashing in SetRemoteSdp

Hi Guys,

I am trying to broadcast a pixel stream using 5.6 and PixelStreaming2.

I can use a 5.4 PixelStreamingPlayer on Windows to connect to the stream and display it , but when I try to use any other webrtc client at all, the broadcast stream crashes in EpicRtc::ConnectionInternal::SetRemoteSDP(struct EpicRtc::Sdp const &)

From the crash it appears the Sdp is null

I have compared answers from the 5.4 player and my other apps and the Sdp in both looks fine.

However it crashes 100% of the time.

I can see the answer in the signalling web server , it is complete and fine, but the very next time the TickableThread calls Tick, everything crashes

Since we don’t have access to the source code of EpicRTC we are pretty much in the brown and smelly.

Has anyone come across this and found a solution?

Cheers guys.

Unhandled Exception: SIGSEGV: invalid attempt to read memory at address 0x0000000000000000

[2025.07.21-11.22.26:149][911]LogCore: Fatal error!

0x00000000127ce8bc Broadcaster_5_4!EpicRtc::ConnectionInternal::SetRemoteSDP(EpicRtc::Sdp const&) [/opt/shared/broadcaster56_latest_all/Linux/Broadcaster_5_4/Binaries/Linux/Broadcaster_5_4:-1]
0x0000000012801a5b Broadcaster_5_4!EpicRtc::RoomSignallingContextObserver::OnSetRemoteSDP(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, EpicRtc::Sdp const&) [/opt/shared/broadcaster56_latest_all/Linux/Broadcaster_5_4/Binaries/Linux/Broadcaster_5_4:-1]
0x0000000012303861 Broadcaster_5_4!EpicRtc::PS::RoomSignallingContext::OnMessage(nlohmann::json_abi_v3_11_2::basic_json<std::__1::map, std::__1::vector, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool, long, unsigned long, double, std::__1::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > > const&) [/opt/shared/broadcaster56_latest_all/Linux/Broadcaster_5_4/Binaries/Linux/Broadcaster_5_4:-1]
0x00000000122d7748 Broadcaster_5_4!EpicRtc::PS::SignallingSession::OnMessage(EpicRtcStringView) [/opt/shared/broadcaster56_latest_all/Linux/Broadcaster_5_4/Binaries/Linux/Broadcaster_5_4:-1]
0x0000000012301845 Broadcaster_5_4!EpicRtc::WebsocketObserverWrapper::OnMessage(EpicRtcStringView) [/opt/shared/broadcaster56_latest_all/Linux/Broadcaster_5_4/Binaries/Linux/Broadcaster_5_4:-1]
0x0000000012861414 Broadcaster_5_4!EpicRtc::TickableWebsocketWrapper::OnMessage(EpicRtcStringView)::$_0::operator()() const [/opt/shared/broadcaster56_latest_all/Linux/Broadcaster_5_4/Binaries/Linux/Broadcaster_5_4:-1]
0x00000000128613c5 Broadcaster_5_4!decltype(std::declval<EpicRtc::TickableWebsocketWrapper::OnMessage(EpicRtcStringView)::$_0&>()()) std::__1::__invoke[abi:v15001]

Oh and this happens when the streamer is running on Windows as well as Linux

Hi Paul. I am trying to reproduce the crash you are having but have been unable to reproduce it so far. I am hoping to get the full steps to reproduce and see what is different.

  • Does the crash happen with a fresh UE5 project?
  • Is this a packaged build, or are you attempting to stream from the editor?
  • Are any pixel streaming parameters being set (such as -PixelStreamingEncoderCodec=VP9) or left as default?
  • Are you connecting the streamer to an external signaling server such as the PixelStreamingInfrastructure (and if so, what version) or the internal signaling server?
  • Are the Streamer and the player on separate machines or the same machine?
  • For the PS player, when using UE 5.6.0, is that running PixelStreaming 2 or 1? Does the crash happen when connecting with the browser?

The UE logs could also be helpful. It may be worth setting the logging of LogPixelStreaming2EpicRtc and LogPixelStreaming2 up to VeryVerbose to get more detailed logs.

Regards
Eden