WebRTC APIs
A few resources for this lesson:
- Getting started - Google's official "getting started" page for WebRTC
- Codelabs - Google's quick tutorial of the WebRTC APIs (and the updated one)
- The missing codelab - our own Codelab training
- WebRTC fiddle of the month - part of the Codelab training (but free for all)
- Adapter.js - Google's shim to make things work smoother across browsers. Make sure you use it (more on adapter.js here)
- Samples - Google's official samples repository with good clean code for you to use as reference (this is what I used in the recording above)
- The future of ORTC with WebRTC - a YouTube session from Kranky Geek SF 2015
- To give some context, ORTC no longer exist
- The ideas and techniques of ORTC got wrapped into WebRTC itself, aligning all players on a single standard
- High Performance Browser Networking book
- Common (beginner) mistakes in WebRTC
- Some interesting analysis of the API landscape:
Whenever I find good resources on using the APIs in specific ways, I put them here:
- getUserMedia
- Supported Audio Constraints in getUserMedia()
- getUserMedia() Video Constraints
- GetUserMedia Constraints explained
- Common getUserMedia() Errors
- Pan/Tilt/Zoom camera controls
- Ways to save an image from your webcam in 2022
- Building the best camera & microphone selector
- How WebRTC speaker selection works
- Controlling Microphone and Camera In-Use Indicators When Muting
- A 2025 update
- getStats
- Miscellaneous
- Managing Devices in WebRTC
- A good explainer for the <audio> tag
- Example of using Web Audio API
- Web Audio API: Cool stuff that you didn’t know that you can do with the web
- Blur camera background
- Understanding Audio Frequency Analysis in JavaScript
- State of a MediaStreamTrack
- Anatomy of a WebRTC Connection
Questions & answers
Should I use ORTC or WebRTC?
WebRTC. ORTC does not really exist. It was an attempt to build a competing / different API for RTC in the browser, which ended up being wrapped back into WebRTC.
Whatever the future holds, WebRTC will have Object RTC based APIs that you will be able to use and direct adoption of the original ORTC spec/draft will be limited at best.
I found this great signaling server on github. Should I use it?
Maybe.
Things to consider in such a case:
- Make sure they make use of adapter.js
- Check how popular it is
- Make sure they had some activity in the past 3 months. WebRTC changes so fast that longer than that should be a warning signal for you
Resources31
Q&A Videos
Kranky Geek Videos
- WebRTC Update (SF 2014)
- What's next for WebRTC? (SF 2015)
- WebRTC: News, Stats, and Audio Processing Internals (SF 2016)
- WebRTC Update (Brazil 2016)
- WebRTC Update (SF 2017)
- WebRTC 1.0 and Audio in Chrome (SF 2018)
- Google WebRTC project update & Stadia review (SF 2019)
- Google WebRTC project updates (Virtual 2020)
WebRTC Fiddle of the Month
It was hard to cherry pick the ones that make sense to add here, since most of our WebRTC Fiddle of the Month sessions cover the WebRTC API itself.
Just head over to our WebRTC Fiddle of the Month landing page to learn more.