Skip to main content

SRS - Experience Ultra-Low Latency Live Streaming with OBS WHIP!

ยท 4 min read

OBS now features WHIP support, with the patch having been recently merged. This enables various new functions and possibilities with OBS WHIP, as the latency drops from 1 second to 200 milliseconds.

Without OBS WHIP, you can employ RTMP+WebRTC for live streaming, which results in a latency of approximately 500ms. However, by using OBS WHIP, you can achieve low-latency live streaming with a latency of around 200ms.

Furthermore, even in situations with poor network connections or when streaming over the internet, OBS WHIP maintains a consistently low and stable latency.

In this tutorial, I will demonstrate how to effortlessly utilize OBS WHIP with SRS in just three simple steps.

The Oryx also supports OBS WHIP, enabling you to establish a WHIP service with just one click. Refer to Effortlessly Create a Public Internet WHIP Service for OBS.

You can also watch the video on YouTube: Ultra Low Latency Streaming with OBS WHIP

Prerequisitesโ€‹

Please install the following software before proceeding:

Note: OBS WHIP has been merged into the master branch and will be released in OBS 30. You can download it from here.

Step 1: Run SRSโ€‹

Run the following command to start SRS:

CANDIDATE="192.168.1.10"
docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 \
--env CANDIDATE=$CANDIDATE -p 8000:8000/udp \
ossrs/srs:5 ./objs/srs -c conf/rtmp2rtc.conf

Note: Please set the CANDIDATE to your own IP. About CANDIDATE, please read CANDIDATE

For configuration details, refer to this post.

Step 2: Run OBSโ€‹

Open OBS and click Settings to configure the following:

  1. Open OBS and click Settings.
  2. Click Stream on the left sidebar.
  3. Select WHIP for Service.
  4. Set the Server to http://localhost:1985/rtc/v1/whip/?app=live&stream=livestream.
  5. Click OK to save the settings.
  6. Click Start Streaming to start streaming.
  7. If the latency is large, setup the OBS Output by: For OBS encoder, select the x264 encoder and in the advanced settings, set the GOP (Keyframe interval) to 1 s. Choose Preset as fast, Profile as baseline, and Tune as zerolatency.

Step 3: Play the Streamโ€‹

Open the following URL in your browser to play the stream:

http://localhost:8080/players/whep.html

Cloud Service and Supportโ€‹

I tested the TRTC cloud service and it works great with OBS WHIP. If you're looking for a WHIP cloud service that has 24/7 support, I definitely suggest trying TRTC. To see a demo, click here.

Cloud Serviceโ€‹

At SRS, our goal is to establish a non-profit, open-source community dedicated to creating an all-in-one, out-of-the-box, open-source video solution for live streaming and WebRTC online services.

Additionally, we offer a Cloud service for those who prefer to use cloud service instead of building from scratch. Our cloud service features global network acceleration, enhanced congestion control algorithms, client SDKs for all platforms, and some free quota.

To learn more about our cloud service, click here.

Conclusionโ€‹

In this tutorial, we explored the ultra-low latency live streaming capabilities of OBS WHIP and demonstrated how to set it up with SRS in just three simple steps. OBS WHIP significantly reduces latency, making it an excellent option for low-latency live streaming.

Contactโ€‹

If you're interested in discussing SRS, feel free to join us on Discord.