New codelab: Realtime communication with WebRTC
This is a repository for the WebRTC Javascript code samples. The source for these samples is available at github.com/webrtc/samples.
Some of the samples use new browser features. They may only work in Chrome Canary, Firefox Beta or Microsoft Edge (available with Windows 10), and may require flags to be set.
Most of the samples use adapter.js, a shim to insulate apps from spec changes and prefix differences. (In fact, the standards and protocols used for WebRTC implementations are highly stable, and there are only a few prefixed names. For full interop information, see webrtc.org/web-apis/interop.)
In Chrome and Opera, all samples that use getUserMedia()
must be run from a server. Calling getUserMedia()
from a file:// URL will work in Firefox, but fail silently in Chrome and Opera.
webrtc.org/testing lists command line flags useful for development and testing with Chrome.
For more information about WebRTC, we maintain a list of resources at g.co/webrtc. If you've never worked with WebRTC, we recommend you start with the 2013 Google I/O WebRTC presentation.
Patches and issues welcome! See CONTRIBUTING.md for instructions. The Developer's Guide for this repo has more information about code style, structure and validation. Head over to test/README.md and get started developing.
Warning: some of these demos will result in loud feedback if used without headphones.
Use getUserMedia with canvas and CSS filters
Audio-only getUserMedia() output to local audio element
Audio-only getUserMedia() displaying volume
Face tracking, using getUserMedia and canvas
Stream from a video element to a video element
Stream from a video element to a peer connection
Stream from a canvas element to a video element
Stream from a canvas element to a peer connection
Record a stream from a canvas element
Guiding video encoding with content hints
Choose camera, microphone and speaker
Choose media source and audio output
Audio-only peer connection demo
Multiple peer connections at once
Forward the output of one PC into another
Use pranswer when setting up a peer connection
Display createOffer output for various scenarios
Display peer connection states
ICE candidate gathering from STUN/TURN servers
Web Audio output as input to peer connection
Peer connection as input to Web Audio
AppRTC video chat client powered by Google App Engine