Skip to content

Repository files navigation

PeerJS: Simple peer-to-peer with WebRTC

PeerJS provides a complete, configurable, and easy-to-use peer-to-peer API built on top of WebRTC, supporting both data channels and media streams.

Setup

Include the library

<scriptsrc="http://cdn.peerjs.com/0.3/peer.js"></script>

Create a Peer
Get a free API key. Your id only needs to be unique to the namespace of your API key.

varpeer=newPeer('pick-an-id',{key: 'myapikey'});// You can pick your own id or omit the id if you want to get a random one from the server.

Data connections

Connect

varconn=peer.connect('another-peers-id');conn.on('open',function(){conn.send('hi!');});

Receive

peer.on('connection',function(conn){conn.on('data',function(data){// Will print 'hi!'console.log(data);});});

Media calls

Call

navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia;navigator.getUserMedia({video: true,audio: true},function(stream){varcall=peer.call('another-peers-id',stream);call.on('stream',function(remoteStream){// Show stream in some <video> element.});},function(err){console.log('Failed to get local stream',err);});

Answer

navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia;peer.on('call',function(call){navigator.getUserMedia({video: true,audio: true},function(stream){call.answer(stream);// Answer the call with an A/V stream.call.on('stream',function(remoteStream){// Show stream in some <video> element.});},function(err){console.log('Failed to get local stream',err);});});

Links

##License PeerJS is licensed under the MIT License.

About

Peer-to-peer data in the browser.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages