Aucune description

Jairo Caro-Accino Viciana 393af2ab9d Update README.md il y a 7 ans
dist 37016f06aa Better to avoid 'compress' option at all to keep it behave as by default il y a 9 ans
docs 70b0861488 Update docs il y a 11 ans
examples 600045c609 Correct language in chat.html example il y a 8 ans
lib 065d767ae8 Merge pull request #352 from barsteadr/fix-undefined-pcreadystate il y a 7 ans
test 00e59f60be Make exports browserify compatible il y a 11 ans
.gitignore 81f3429c7c Add dist back il y a 10 ans
.npmignore 00e59f60be Make exports browserify compatible il y a 11 ans
Gruntfile.js 37016f06aa Better to avoid 'compress' option at all to keep it behave as by default il y a 9 ans
LICENSE fc7c88d3e3 Update LICENSE il y a 10 ans
Makefile 00e59f60be Make exports browserify compatible il y a 11 ans
README.md 393af2ab9d Update README.md il y a 7 ans
changelog.md aa281474cf 0.3.14 il y a 10 ans
index.d.ts 8ee1e46b29 Add module-based TypeScript declarations il y a 8 ans
package.json 8ee1e46b29 Add module-based TypeScript declarations il y a 8 ans

README.md

I will be maintaining with the help of this awesome community. Please give me a few days until I review all the PRs and put the website online again. Of course any help is welcome.

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.

http://peerjs.com

Setup

Include the library

from the cdn:

<script src="https://cdnjs.cloudflare.com/ajax/libs/peerjs/0.3.14/peer.js"></script>

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

Documentation / API Reference

WebRTC Browser compatibility status

PeerServer

Discuss PeerJS on our Google Group

Changelog

License

PeerJS is licensed under the MIT License.