Last update:2025-09-05 17:24:30
This guide provides a comprehensive walkthrough for setting up low-latency WebRTC streaming. We will cover two primary workflows: RTMP-to-WebRTC and a pure WebRTC end-to-end setup.
For optimal performance and browser compatibility, your source stream must adhere to the following encoding standards.
Note on Transcoding: Low Latency Streaming can transcode streams that do not meet these requirements (e.g., video with B-frames or different audio codecs). However, transcoding adds latency and may incur additional costs. This feature is not enabled by default. To enable it, please contact our support team.
This workflow is ideal for users who want to integrate WebRTC playback with their existing RTMP publishing setup. It offers a balance of easy setup and low latency, with the only trade-off being the minor delay from the required AAC-to-Opus audio transcoding.
Audio Requirement for RTMP: If you use an RTMP encoder, you must use AAC audio, as RTMP does not support Opus. To ensure browser compatibility, please contact our support team to enable the transcoding service that converts AAC to Opus.
You must configure your encoder to send a WebRTC-compatible stream. The most critical setting is disabling B-frames. The following steps use OBS Studio, a popular and free encoder.
bframes=0. This explicitly disables B-frames. For other suggested configurations to help improve streaming performance, please refer to the image below.
rtmp://your-push-domain.com/appname/streamname
live). This name must be configured in the Low Latency Streaming product console, as it allows you to apply specific settings or view analytics for different stream categories.For the absolute lowest latency, this workflow uses WebRTC for both publishing (ingest) and playback. We support two protocols for WebRTC ingest:
Prerequisites:
Installation:
services.json from the plugin’s \data\obs-plugins\rtmp-services folder to your OBS installation directory at C:\Program Files\obs-studio\data\obs-plugins\rtmp-services, replacing the existing file.obs-webrtc.dll from the plugin’s \obs-plugins\64bit folder to your OBS installation directory at C:\Program Files\obs-studio\obs-plugins\64bit.Troubleshooting: If the new service option doesn’t appear in OBS, you may also need to replace services.json in the user-specific directory: C:\Users[Your Username]\AppData\Roaming\obs-studio\plugin_config\rtmp-services.
Configuration:
.sdp extension is required.http://your-push-domain.com/appname/streamname.sdpOnce your stream is active, you can use the following resources to test playback.