Skip to content

Files

Failed to load latest commit information.

Latest commit

 Cannot retrieve latest commit at this time.

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

sfu-ws

sfu-ws is a many-to-many websocket based SFU. This is a more advanced version of broadcast and demonstrates the following features.

  • Trickle ICE
  • Re-negotiation
  • Basic RTCP
  • Multiple inbound/outbound tracks per PeerConnection
  • No codec restriction per call. You can have H264 and VP8 in the same conference.
  • Support for multiple browsers

We also provide a flutter client that supports the following platforms

  • Android, iOS
  • Web
  • MacOS (Windows, Linux and Fuschia in the future)

For a production application you should also explore simulcast, metrics and robust error handling.

Instructions

Download sfu-ws

This example requires you to clone the repo since it is serving static HTML.

mkdir -p $GOPATH/src/github.com/pion
cd $GOPATH/src/github.com/pion
git clone https://github.com/pion/example-webrtc-applications.git
cd example-webrtc-applications/sfu-ws

Run sfu-ws

# Run sfu-ws
go run *.go

# Run sfu-ws with logs
PION_LOG_INFO=sfu-ws go run *.go

# Run sfu-ws with all logs
PION_LOG_TRACE=all go run *.go

Open the Web UI

Open http://localhost:8080. This will automatically connect and send your video. Now join from other tabs and browsers!

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