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