설명 없음

Michelle Bu 38b21e1e3f Merge pull request #78 from peers/av-rewrite 12 년 전
bin 3d4ec9bc66 fix supports 12 년 전
deps c72a32fc80 use latest reliable 12 년 전
dist fbbfb5fead Build 12 년 전
docs 292681d74f fork 12 년 전
examples e64bde1dce all use remote 0.3 12 년 전
lib 602db8de7c INTEROP 12 년 전
test 4d6f655823 Remove most old tests 12 년 전
.gitignore 36291b993a #45 .gitignore bower 12 년 전
.gitmodules e65704ab15 use public submodule url for reliable 12 년 전
LICENSE 332f2d486f license 12 년 전
Makefile ea9a3207cb submodules, gitignore, make 12 년 전
README.md d1afa561a3 Update README.md 12 년 전
changelog.md 9821d3e35a version/date 12 년 전
package.json 8433a2fd18 Version bump 12 년 전

README.md

PeerJS: peer-to-peer in the browser

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.

http://peerjs.com

Setup

Include the library

<script src="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.

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

var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
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

var getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
peer.on('call', function(call) {
  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

Documentation / API Reference

WebRTC Browser compatibility status

PeerServer

Discuss PeerJS on our Google Group

Changelog