Extract a WebRTC video call participant as a separate stream
WebRTC video calls are powerful on their own, but did you know that you can take any video call participant, turn their video stream into an SRT or RTMP output, and use it for further processing or streaming? This tutorial will guide you through setting up a WebRTC video call, isolating a participant’s stream as SRT, and previewing it as HLS.
Benefits of using separate streams for video call participants
✅ Individual Effects: Apply unique effects like overlays, filters, and audio enhancements to each participant individually.
✅ Multi-Camera Broadcast: Switch between participants smoothly to create engaging broadcasts in webinars and interviews.
✅ Flexible Layouts: Easily create split screens, custom backgrounds, and other composite layouts with isolated streams
✅ Separate Recordings: Record each participant’s video independently, simplifying post-production and archiving.
✅ Quality Optimization: Adjust quality for each stream based on the participant’s internet connection.
✅ Real-Time Monitoring: Track and troubleshoot connection quality for each participant stream separately.
0. Before you begin
For this tutorial, you will need :
▶ Callaba software
⬇️ Get Callaba on AWS Marketplace | 📖 Guide: How to launch
⬇️ Get a self-hosted license | 📖 Guide: How to install self-hosted
▶ Domain name
▶ SSL Certificate (optional - you can use a free one by Let's Encrypt)
1. Set up your video call
First, create a new video call:
In Callaba, go to Video Calls section and click "Add New"
In the page that opens:
Name your call session
Check or un-check recording
Save it
Note: To create WebRTC calls in Callaba, make sure you have a domain name with SSL already set up.
This is a requirement to ensure secure video calls, and we have a detailed guide on how to configure domain names and SSL. You can do it all within the UI, no SSH or consoles are needed.
Guide : 📖 How to manage SSL certificates for video calls
2. Create a Restream for the participant
Now that your video call is set up, let’s isolate a participant’s video stream.
To do that, we'll create a restream that'll fetch our chosen participant's video and then direct it to any destination we want.
Go to Restream section. Click "Add New".
Input
For the input type, select “Video Call Participant”.
From the list of video calls, pick the name of your video call.
Destination
Next, let’s configure where this stream will go.
Stream destination: Set up your desired destination. For the purpose of this tutorial, we'll send our stream to a local SRT server.
Save your restream.
Now that our restream is ready, Callaba will generate a personalized room URL.
This link is specifically for the participant you’d like to isolate.
4. Share the Personalized URL with the designated participant
Send the personalized room URL to the participant whose video stream you’d like to isolate.
Make sure that your restream is running.
When your chosen participant joins the video call through this personalized link, Callaba will route their video as an isolated SRT stream directly to your designated destination.
5. Check your SRT Stream
Once the participant has joined, verify that everything is working.
If your destination is a local SRT or RTMP server, you can preview the isolated stream as HLS, providing a convenient way to monitor and check its quality.
In the Stats section of Callaba's SRT Server, you’ll see the incoming stream as HLS.
Please keep in mind that HLS has in-built latency of about 15 seconds.
6. Use your stream
With this setup, you’re ready to capture and route individual participant streams as SRT or RTMP for various use cases—whether it’s production, streaming, or recording.
To get the links and use your stream, click "Info".
This is the end of our tutorial.
Using separate streams for each video call participant adds flexibility, control, and quality to your video production.
You can apply unique effects, manage privacy, and optimize performance for each participant easily.
Callaba makes setting up these isolated streams straightforward, so you can focus on delivering a great viewing experience.
Learn more
- How to launch Callaba on Amazon Web Services
- How to create a playlist of videos with Pay Per View monetization
- Multilingual Web Player
- Set up SRT backup stream in case of main stream interruption
Follow us on social media
LinkedIn • Reddit • Instagram • Facebook • Youtube • X (Twitter) • Discord