Files
upstream-mirror 8acb1a3a29
Some checks failed
REUSE Compliance Check / lint (push) Failing after 0s
Browser E2E / Test (push) Failing after 3s
Test / test (1.24) (push) Failing after 0s
Test / test-i386 (1.25) (push) Failing after 0s
Test / test-i386 (1.24) (push) Failing after 0s
Test / test-windows (1.25) (push) Failing after 0s
Test / test-windows (1.24) (push) Failing after 0s
Test / test (1.25) (push) Failing after 0s
Examples Tests / Test (push) Failing after 3s
Test / test-macos (1.25) (push) Failing after 0s
Test / test-macos (1.24) (push) Failing after 0s
Go mod tidy / tidy (push) Failing after 0s
Test / test-wasm (push) Failing after 0s
CodeQL / analyze (push) Failing after 1s
Fuzz / fuzz (push) Failing after 0s
snapshot of https://github.com/pion/webrtc.git (main, 2026-09-15; blobs > 131072B omitted)
2026-09-15 20:06:07 +05:00
..

simulcast

demonstrates of how to handle incoming track with multiple simulcast rtp streams and show all them back.

The browser will not send higher quality streams unless it has the available bandwidth. You can look at the bandwidth estimation in chrome://webrtc-internals. It is under VideoBwe when Read Stats From: Legacy non-Standard is selected.

Instructions

Download simulcast

go install github.com/pion/webrtc/v4/examples/simulcast@latest

Open simulcast example page

jsfiddle.net you should see two text-areas and two buttons: Copy browser SDP to clipboard, Start Session.

Run simulcast, with your browsers SessionDescription as stdin

In the jsfiddle the top textarea is your browser's Session Description. Press Copy browser SDP to clipboard or copy the base64 string manually. We will use this value in the next step.

Linux/macOS

Run echo $BROWSER_SDP | simulcast

Windows

  1. Paste the SessionDescription into a file.
  2. Run simulcast < my_file

Input simulcast's SessionDescription into your browser

Copy the text that simulcast just emitted and copy into second text area

Hit 'Start Session' in jsfiddle, enjoy your video!

Your browser should send a simulcast track to Pion, and then all 3 incoming streams will be relayed back.

Congrats, you have used Pion WebRTC! Now start building something cool