OBS Studio recently added a PR called “Add WebRTC (WHIP) output support”, the main content is that contributors want to use Rust to add support for WebRTC to OBS Studio.

Specifically, this PR adds a plugin for extensible support, including:

  • WebRTC service type with recommended settings for maximum compatibility with webrtc peers
  • WebRTC output
  • Rust implementation of the WebRTC stack with FFI bindings

Contributors stated that the current initial version aims to support only output, and subsequent PRs will be submitted to add source code support.

Contributors also explain their reasons for adopting Rust. They initially evaluated Google’s implementation of libwebrtc, but they found it very slow to get and install and build:

Fetching the source of libwebrtc: 11 minutes 20 seconds
Installing the dependencies: 3 minutes and 30 seconds
Building libwebrtc: 7 minutes
Size added by libwebrtc: 35 megabytes

So they evaluated other options and finally settled on https://webrtc.rs/, which can be seen to be lighter weight and more accessible than libwebrtc.

Additional Build time: 40 seconds
Size Added: 25 Megabytes

Test data shows that sub-second latency can be achieved using WebRTC. From broadcast (Broadcaster) to playback (Playback) takes about 120 milliseconds, contributors said that this number can be further reduced.

Additionally, WebRTC will allow OBS users to experience newer codecs. The codecs supported by WebRTC are very flexible, so users can use H265 and AV1. WebRTC also supports multiple video streams in the same session. So OBS can try to play multiple scenes at once. Viewers can switch between scenes or different views within the same game.

Click here for details.

#OBS #Studio #support #WebRTC #Rust #implement #News Fast Delivery

Leave a Comment

Your email address will not be published. Required fields are marked *