webrtcsink: Unreal Engine PixelStreaming Signalling
This MR adds a signaller to the webrtcsink element compliant with Unreal Engine Pixel Streaming signalling server : https://github.com/EpicGamesExt/PixelStreamingInfrastructure/tree/master/SignallingWebServer
Only the producer mode is implemented.
It was largely inspired by the default signaller implementation.
Unreal Engine Pixel Streaming infrastructure allows remote gaming through WebRTC with minimum latency.
The web frontend library is able to send all controller events (mouse, keyboard, gamepads, touch, ...) through a datachannel if created. A possible next step is to transform messages sent through this datachannel to Gstreamer's NavigationEvents.
But the main goal behind this MR is to provide a Bevy plugin ( https://bevyengine.org/ ) that streams directly Bevy to the browser. Proof of concept is already working, using Nvidia GPU for 3D and video encoding.
I'm first looking for review/advice to consolidate this work because it is my first MR to the GStreamer project.
Thank you.