Skip to content

awaemmanuel/webrtc

 
 

Repository files navigation

Build Status

WebRTC code samples

This is a repository for client-side WebRTC code samples and the AppRTC video chat client.

Some of the samples use new browser features. They may only work in Chrome Canary and/or Firefox Beta, and may require flags to be set.

All 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/interop.

NB: all samples that use getUserMedia() must be run from a server. Calling getUserMedia() from a file:// URL will result in a PermissionDeniedError NavigatorUserMediaError. See What are some chromium command-line flags relevant to WebRTC development/testing? for relevant flags.

For more information about WebRTC, we maintain a list of WebRTC Resources. If you've never worked with WebRTC, we recommend you start with the 2013 Google I/O WebRTC presentation.

Patches and issues welcome!

The demos

getUserMedia

Basic getUserMedia demo

getUserMedia + canvas

getUserMedia + canvas + CSS Filters

getUserMedia with resolution constraints

getUserMedia with camera/mic selection

Audio-only getUserMedia output to local audio element

Audio-only getUserMedia displaying volume

Face tracking

RTCPeerConnection

Basic peer connection

Audio-only peer connection

Multiple peer connections at once

Forward output of one peer connection into another

Munge SDP parameters

Use pranswer when setting up a peer connection

Adjust constraints, view stats

Display createOffer output

Use RTCDTMFSender

Display peer connection states

ICE candidate gathering from STUN/TURN servers

Web Audio output as input to peer connection

RTCDataChannel

Data channels

Video chat

Complete video chat client (based on Google App Engine)

Test pages

Audio and Video streams

Constraints

Iframe apprtc

Iframe video

Multiple audio streams

Multiple peerconnections

Multiple video devices

Multiple video streams

Peer2peer

Peer2peer iframe

Single audio stream

Single video stream

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 69.9%
  • Python 19.0%
  • Shell 11.1%