Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ninjasort/awesome-webrtc

A curated list of awesome WebRTC modules and resources.
https://github.com/ninjasort/awesome-webrtc

List: awesome-webrtc

Last synced: 16 days ago
JSON representation

A curated list of awesome WebRTC modules and resources.

Awesome Lists containing this project

README

        

# Awesome WebRTC [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

[![Build Status](https://travis-ci.org/OpenRTC-IO/awesome-webrtc.svg)](https://travis-ci.org/OpenRTC-IO/awesome-webrtc)

A curated list of awesome WebRTC modules and resources. Inspired by [awesome-python](https://github.com/vinta/awesome-python).

- [Awesome WebRTC](#awesome-webrtc)
- [Overview](#overview)
- [Demos and samples](#demos-and-samples)
- [Tutorials](#tutorials)
- [Codelab](#codelab)
- [Books](#books)
- [Developer tools and resources](#developer-tools-and-resources)
- [Standards and protocols](#standards-and-protocols)
- [Native APIs](#native-apis)
- [Discussion, blogs and articles](#discussion-blogs-and-articles)
- [Browser support](#browser-support)
- [JavaScript apps and frameworks](#javaScript-apps-and-frameworks)
- [Video chat](#video-chat)
- [Peer-to-peer data](#peer-to-peer-data)
- [VoIP/PSTN](#voip-pstn)
- [Face/head tracking](#face-head-tracking)
- [Node](#node)
- [Services](#services)
- [Applications: suggestions welcome!](#applications-suggestions-welcome)
- [getUserMedia](#getusermedia)
- [Web Audio integration](#web-audio-integration)
- [Recording](#recording)
- [Chat](#chat)
- [Games](#games)
- [Telehealth](#telehealth)
- [Phone](#phone)
- [File sharing and P2P](#file-sharing-and-p2p)
- [Other](#other)
- [Alternatives for IE and Safari](#alternatives-for-ie-and-safari)
- [Web Audio](#web-audio)
- [Demos](#demos)
- [Tutorials](#tutorials)
- [Reference](#reference)

- - -

## Overview

* [samples](https://github.com/webrtc/samples) - WebRTC code samples.
* [Live demos](https://webrtc.github.io/samples/) - WebRTC Live demos.
* [2013 Google I/O presentation](https://www.youtube.com/watch?v=p2HzZkd2A40) - If you've never worked with WebRTC, we recommend you start with it. [slides](http://io13webrtc.appspot.com/)
* [WebRTC official site](http://webrtc.org/)

## Demos and samples

* [List of WebRTC demos and apps](https://docs.google.com/document/d/1hNK15_cNx3CpYsro2TKwEbdFxLv5WFe8djGHdFeZBks/edit)
* [Simplest possible getUserMedia demo](http://simpl.info/getusermedia/)
* RTCPeerConnection 'on one page', i.e. without signaling:
* WebRTC video chat: . [source code](https://github.com/webrtc/apprtc)
* Simplest possible RTCDataChannel example::
* Data channel file transfer:
* RTCPeerConnection signaling example:
* Constraints:
* [Screen capture](https://html5-demos.appspot.com/static/getusermedia/screenshare.html)
* Muaz Khan maintains a mighty assortment of experiments at

## Tutorials

* [ ] Getting Started With WebRTC:
* [ ] [WebRTC in the real world: STUN, TURN and signaling](http://www.html5rocks.com/en/tutorials/webrtc/infrastructure/)
* [ ] [A practical guide to WebRTC](http://www.slideshare.net/vline/a-practical): presentation slides from vLine
* [ ] Capturing audio and video in HTML5:
* [ ] Excellent series of articles by Louis Stowasser and Robert Nyman:
* [ ] Justin Uberti at Google I/O 2012:
* [ ] Cullen Jennings video: HTML5 WebRTC:
* [ ] [WebRTC Fundamentals](http://bit.ly/learnwebrtc): online course.

## Codelab

* Walkthrough and code for setting up a server and client for video chat:
* [Google I/O 2014 file sharing codelab](http://io2014codelabs.appspot.com/static/codelabs/webrtc-file-sharing/#1)

## Books

* [ ]
* [ ] [Getting Started with WebRTC](http://www.packtpub.com/getting-started-with-webrtc/book)
* [ ] [Real-Time Communication with WebRTC](http://bloggeek.me/book-webrtc-salvatore-simon/)

## Developer tools and resources

* [adapter.js](https://github.com/webrtc/adapter): shim maintained by Google to cope with API changes and platform differences.
* [getUserMedia.js](https://github.com/addyosmani/getUserMedia.js): polyfill from Addy Osmani
* Chrome-Firefox:
* Stats and information for current RTCPeerConnection session:
* File bugs at

## Standards and protocols

* [Web Real-Time Communications Working Group](http://www.w3.org/2011/04/webrtc/)
* [W3C Working Draft: WebRTC 1.0: Real-time Communication Between Browsers](http://www.w3.org/TR/webrtc/)
* [Media Capture and Streams W3C Working Draft](http://www.w3.org/TR/mediacapture-streams/)
* [IETF RTCWEB](http://datatracker.ietf.org/wg/rtcweb/): protocol specifications

## Native APIs

* [Getting started with WebRTC on iOS](https://tech.appear.in/2015/05/25/Getting-started-with-WebRTC-on-iOS/)
* [Introduction to WebRTC on Android](https://tech.appear.in/2015/05/25/Introduction-to-WebRTC-on-Android/)
* [Getting Started](http://www.webrtc.org/reference/getting-started) - from
* [Build scripts from pristineio](https://github.com/pristineio/webrtc-build-scripts): repo with links to how-to guides for Android and iOS
* [Native API documentation](http://www.webrtc.org/native-code/native-apis)
* [libjingle Developer Guide](https://developers.google.com/talk/libjingle/developer_guide)
* [WebRTC shim for WKWebView](https://github.com/common-tater/wkwebview-webrtc-shim)

## Discussion, blogs and articles

* [discuss-webrtc](https://groups.google.com/forum/?fromgroups#!forum/discuss-webrtc)
* [@webrtc](https://twitter.com/webrtc)
* [+webrtc](https://plus.google.com/+WebRTCorg)
* [WebRTC on Stack Overflow](http://stackoverflow.com/tags/webrtc)
* [WebRTC Weekly](https://webrtcweekly.com/)
* [WebRTCHacks](https://webrtchacks.com/)

## Browser support

*

## JavaScript apps and frameworks

*Also take a look at the webrtcHacks [article about JavaScript libraries](https://webrtchacks.com/whats-in-a-webrtc-javascript-library/)*

### Video chat

* [appear.in](https://developer.appear.in/)
* [SimpleWebRTC](https://github.com/andyet/SimpleWebRTC)
* [EasyRTC](https://github.com/priologic/easyrtc)
* [LyteSpark](http://lytespark.com/)

### Peer-to-peer data

* [PeerJS](http://peerjs.com/): data channel abstraction
* [Sharefest](https://github.com/peer5/sharefest): share files via data channels
* [Peer5 Downloader](https://www.peer5.com/downloader): P2P file download
* [ShareDrop](https://github.com/cowbell/sharedrop): file sharing between devices on the same network

### VoIP/PSTN

* Open source JavaScript phone API: [Phono](http://phono.com/)
* Open source JavaScript SIP client: [sipML5](https://code.google.com/p/sipml5/)
* Open source JavaScript SIP library: [JsSIP](http://jssip.net/)
* Open source SIP proxy with WebSocket and SRTP support: [Kamailio](http://www.kamailio.org/w/)
* [FreeSWITCH](http://www.freeswitch.org/)

### Face/head tracking

* [clmtrackr](https://github.com/auduno/clmtrackr)
* [headtrackr](https://github.com/auduno/headtrackr/) - demo:

### Node

*
* [appear.in](https://www.npmjs.com/package/appearin-sdk)

## Services

* [OpenTok](http://www.tokbox.com/) - acquired by Telefonica Digital
* [vLine](http://www.vline.com/)
* [WebRTC Developer Tool Vendor Directory](https://webrtchacks.com/vendor-directory/)

## Applications: suggestions welcome!

### `getUserMedia`

* ASCII:
* Movement tracking slide page controller:
* Xylophone:
* Photobooth with filters:
* SVG filters:
* Face masking with WebGL:
* Face deformation with WebGL:
* Screen capture:

### Web Audio integration

* Music production:
* Chris Wilson's input demos at
* Paul Lewis's gUM/WebGL demo:
* RTCPeerConnection integration:
* Theremin: getUserMedia + tracking + Web Audio:
*

### Recording

* Record and download:
* RecordRTC:

### Chat

*
*
*
* [Twelephone](http://blog.twelephone.com/): chat with Twitter contacts
*
* : job interview tool with live coding
*
*
*
* : high quality audio

### Games

* [Who Am I?](http://www.designweek.co.uk/news/magneticnorth-creates-who-am-i-game-for-google/3034813.article): second ever WebRTC game, no longer online
* WebRTC + Web Audio + WebGL: [Cube Slam](http://cubeslam.com/)
* Face tracking:
* RTCDataChannel + WebGL: [ ananaBread](https://hacks.mozilla.org/2013/03/webrtc-data-channels-for-great-multiplayer/)

### Telehealth

* [Regional Cystic Fibrosis Program](http://www.pulseitmagazine.com.au/index.php?option=com_content&view=article&id=1382:cystic-fibrosis-project-to-trial-webrtc-home-monitoring-and-shared-ehr&catid=16:australian-ehealth&Itemid=327)
*

### Phone

* [Zingaya](http://demos.zingaya.com/webrtc-pstn/)
* Disaster communications: [Tethr](http://tethr.tumblr.com/post/25513708436/tethr-and-tropo-in-the-google-i-o-sandbox)

### File sharing and P2P

* [Sharefest](http://sharefest.me/): share file by uploading and sharing link.
* : get a file by sending a link to a share page
* [peerCDN](https://github.com/PeerCDN): P2P CDN
* [WebTorrent](http://webtorrent.io/): BitTorrent over WebRTC
* : P2P video
*
* : add P2P file download to your web page

### Other

* [Internet-less WebRTC](https://plus.google.com/+JohannCampbell/posts/WEmRsCfuCEb)
* [Video call between Qt app and web app](http://research.edm.uhasselt.be/~jori/page/index.php?n=Misc.QtWebRTC)

### Alternatives for IE and Safari

* [Temasys Plugin](https://temasys.atlassian.net/wiki/display/TWPP/WebRTC+Plugins)

## Web Audio

### Demos

*
*

### Tutorials

* Getting started with the Web Audio API:
* Audio input (with links to good, simple demos):
*

### Newsletters

* [Web Audio Weekly](http://blog.chrislowis.co.uk/waw.html)

### Reference

*
*