Developers can make their app users broadcast live video not only from their browser with WebRTC but also from OBS, thanks to WebRTC Adapter. Let’s start with introducing OBS which stands for Open Broadcaster Software.
OBS (Open Broadcaster Software) is a free open-source software for video recording and live streaming. You can use either your PC’s embedded camera or externally connected one as a video source with OBS. Sound sources also can be configured with it. Ant Media Server Enterprise is fully compatible with OBS.
A step-by-step guide on how to use OBS for WebRTC streaming
1. Install the OBS
Download Open Broadcaster Software from obsproject.com and install it.
2. Provide sources
Open OBS. By default, OBS starts to capture from your built-in camera if it exists. You can add or remove video/audio sources from the Sources section.
3. Configure OBS
We assume that your Ant Media Server accepts all streams (e.g there is no security option enabled.)
Settingsin the OBS Window and then Select
Streamon the left side menu.
Custom Streaming Serverin the
Stream Typedropdown menu.
- In the URL box, type your RTMP URL without stream id. It’s like
- In the Stream key, you can write any stream id because we assume that no security option is enabled.
When you use tokens you need to generate a publish token and use it in this format inside the stream key: streamdid?token=tokenid
Tune for ultra-low latency streaming
OBS by default is not optimized for ultra-low latency streaming. If you push RTMP stream with OBS and play with WebRTC, please open
Settings > Output and make the rate control
CBR (Constant Bitrate) and tune for
zerolatency. Also, you can configure the bitrate according to your quality and internet bandwidth requirements. Additionally,
keyframe interval should be adjusted to 1.
Please keep in mind that if your network is not stable to send the requested bitrate all the time, you may see freezes in playing the stream.
4: Start streaming
Settings window and just click the “Start Streaming” button in the main window of OBS.
Congrats! You’re publishing a live stream with OBS.
If you have had problems with stream quality, you should check the following indicators in OBS.
Stream health parameters are located at the bottom right. There are 3 stream health parameters:
Stream health color.
- Dropped frames: This value should be 0. If it increases, you may decrease your FPS or bitrate parameters in OBS settings.
- CPU: CPU value is important for streaming quality. We recommend that it never exceeds 70%.
- Stream health color: This color should be green. If it has a color between yellow and red you may have problems with your stream quality.
OBS encoding overloaded warning
If your PC cannot handle the stream with the parameters you set, this warning appears. In this case, you may want to decrease the resolution and bitrate or change the encoder preset value to one with high speed and low quality.
Streaming recorded VoD files
If you want to stream your VoD files, please consider your VoD encoder settings as below:
You can change your VoD encoder settings as below:
ffmpeg -i input.mp4 -profile baseline -tune zerolatency output.mp4
We hope this tutorial will be helpful for you. Please feel free in case you have any questions, just send an email (firstname.lastname@example.org).