Skip to main content

FAQ

1. Key words

key wordsfull wordsinfo
RTCReal-Time CommunicationRTC system scenes: conference/live-broadcasting/voip..
SignalSignal serversupport signal logic
RoomRoom serversupport room logic
ISLBIntelligent server load balancing serversupport node-discovery/load-bancing..
SFUSelective Forwarding Unitbroadcasting media streams
AVPAudio video process serverVideo Recoder/Audio Video Mixer/ AI Processor
MCUMultipoint Control UnitAudio Video Mixer and broadcasting

2. WebRTC sites

sitesinfo
WebRTC For The Curioushttps://webrtcforthecurious.comWebRTC For The Curious is an Open Source book written for those that are always looking for more
webrtc.orghttps://webrtc.orgwebrtc website
webrtc sampleshttps://webrtc.github.io/sampleswebrtc demos
pion-webrtchttps://github.com/pion/webrtcgolang webrtc statck
ionhttps://github.com/pion/iondistributed rtc system

3. How to develop

  • Start from the quick start page
  • Learn Golang/WebRTC/SFU/Docker/GRPC/Nats/Redis if you are a backend developer
  • Learn NodeJS/NPM/JS/TS if you are a frontend developer
  • Learn Flutter/Android/iOS if you are a mobile/pc app developer
  • Learn above all if you are full-stack developer

4. How script works

  • scripts follow these steps:
    • build modules from source
    • start them by nohup and save pid to file
  • stop scripts follow these steps:
    • find pid from pid file
    • kill process by pid

5. Docker build blocked

Try add a goproxy in Dockerfile, example:

RUN GOPROXY="https://goproxy.io" CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o /biz .

6. "Process already started" when using scripts

That means the process didn't closed in right way, you shoud kill it by hand. use ps -ef|grep -E "islb|biz|sfu|avp" to see which one is alive

7. How to deploy behind a nat?

Two ways:

  1. set stun server in sfu.toml
[[webrtc.iceserver]]
urls = ["stun:stun.stunprotocol.org:3478"]
  1. set nat1to1 in sfu.toml if you mapped WAN_IP to LAN_IP
[webrtc.candidates]
nat1to1 = ["your_WAN_ip"]
icelite = true