Skip to content

Navigation Menu

Sign in
Sign up

Repository files navigation

PeerJS: Simple peer-to-peer with WebRTC

Backers on Open Collective Sponsors on Open Collective

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

with modules: npm install peerjs or yarn add peerjs and the usage:

import Peer from 'peerjs';

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

var peer = new Peer('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

var conn = 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) {
 var call = 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

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

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

AltStyle によって変換されたページ (->オリジナル) /