New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

skyway-multiparty

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

skyway-multiparty

SkyWay js library for multi party apps

  • 1.0.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4
decreased by-33.33%
Maintainers
1
Weekly downloads
 
Created
Source

SkyWay MultiParty

日本語 | English

This is a library for easy implementation of group video chat with SkyWay(http://nttcom.github.io/skyway/).

Sample

// Generate a MultiParty instance.
multiparty = new MultiParty( {
  "key": "********-****-****-****-************"  /* SkyWay key */,
  "reliable": true /* Use reliable communication(SCTP) in Data Channel. */
});

// for MediaStream
//

multiparty.on('my_ms', function(video) {
  // Show my video.
  var vNode = MultiParty.util.createVideoNode(video);
  vNode.volume = 0;
  $(vNode).appendTo("#streams");
}).on('peer_ms', function(video) {
  // Show peer's video.
  var vNode = MultiParty.util.createVideoNode(video);
  $(vNode).appendTo("#streams");
}).on('ms_close', function(peer_id) {
  // Remove the video node when peer is disconnected.
  $("#"+peer_id).remove();
})


// for DataChannel
//

$("button").on('click', function(ev) {
  multiparty.send('hello'); /* Send message to the connected peers. */
});

multiparty.on('message', function(mesg) {
  $("p.receive").append(mesg.data + "<br>"); /* Show the received message.  */
});

// Connect to the server and peers
multiparty.start()

Demo page(local test)

  1. update your own APIKEY in line 57 of examples/multiparty-sample.html. (Please be sure that localhost is registered in your APIKEY setting)
  2. $ npm install
  3. $ npm run webpack-dev-server
  4. open https://localhost:8081/examples/multiparty-sample.html in two browser window.

In case you don't have APIKEY, please sign-up SkyWay account and obtain API key at https://skyway.io/ds/.

Demo Page

Installing with NPM

$ npm install skyway-multiparty

Using with webpack etc.

const MultiParty = require('skyway-multiparty')

Download

API reference

MultiParty

var multiparty = new MultiParty([options]);
  • options

    • key (string)
    • room (string)
      • room name
    • id (string)
      • user id
    • reliable (boolean)
      • true indicates reliable data transfer (data channel). default : false
    • selialization (string)
      • set data selialization mode ( binary | binary-utf8 | json | none ). default : binary
    • video (boolean)
      • true indicates video streaming is enabled.default: true
    • audio (boolean)
      • true indicates audio streaming is enabled. default: true
    • polling (boolean)
      • true indicates check user list via server polling. default: true
    • polling_interval (number)
      • polling interval in msec order. default: 3000
    • debug (number)
      • debug log level appeared in console.
    0 Prints no logs.
    1 Prints only errors.
    2 Prints errors and warnings.
    3 Prints all logs.
    
    • host (string)
      • peer server host name.
    • port (number)
      • peer server port number.
    • secure (boolean)
      • true means peer server provide tls.
    • config (object)
      • passed to RTCPeerConnection. it indicates custom ICE server configuration. Defaults to { 'iceServers': [{ 'url': 'stun:stun.skyway.io:3478' }] }.

start

Connect to the SkyWay server and all peers.

multiparty.on

multiparty.on(event, callback);
'open'
multiparty.on('open', function(myid){ ... });
  • Emitted when a connection to SkyWay server has established.
  • id : id of current window.
'my_ms'
multiparty.on('my_ms', function({"src": <object url>, "id": <myid>}){...});
  • Emitted when this window's video/audio stream has setuped. object url is the url for captured stream. id is current window's id.
  • object url : url for captured stream.
  • id : current window's id.
'peer_ms'
multiparty.on('peer_ms', function({"src": <object url>, "id": <peer-id>, "reconnect": <true or false>}){ ... });
  • Emitted when peer's av stream has setuped.
  • src : Object URL of peer's stream.
  • id : peer's id.
  • reconnect : true when connected via reconnect method.
'peer_ss'
multiparty.on('peer_ss', function({"src": <object url>, "id": <peer-id>, "reconnect": <true or false>}){ ... });
  • Emitted when peer's screen captrure stream has setuped.
  • src : Object URL of peer's screen capture stream.
  • id : peer's id.
  • reconnect : true when connected via reconnect method.
'ms_close'
multiparty.on('ms_close', function(peer-id){ ... });
  • Emitted when peer's media stream has closed.
  • peer-id : peer's id.
'ss_close'
multiparty.on('ss_close', function(peer-id){ ... });
  • Emitted when peer's screen cast stream has closed.
  • peer-id : peer's id.
'dc_open'
multiparty.on('dc_open', function(peer-id){ ... });
  • Emitted when the connection for data channel with peer is setuped.
  • peer-id : peer's id.
'message'
multiparty.on('message', function({"id": <peer-id>, "data": <data>}){ ... });
  • Emitted when receive message from peer.
  • peer-id : peer's id.
  • data : Received data.
'dc_close'
multiparty.on('dc_close', function(peer-id){ ... });
  • Emitted when data connection has closed with peer.
  • peer-id : peer's id.
'error'
multiparty.on('error', function(error){ ... });
  • Emitted when an error occurs.
  • error : Error object.

mute

Mute current video/audio.

multiparty.mute({"video": <true of false>, "audio": <true or false>);

unmute

Unmute current video/audio.

multiparty.unmute({"video": <true of false>, "audio": <true or false>);

removePeer

Close peer's media stream and data stream.

multiparty.removePeer(peer-id);

send

Send data to every peer.

multiparty.send(data);

close

Close every connection.

multiparty.close();

startScreenShare

Start screen share.

multiparty.startScreenShare(function(stream){
  // success callback
}, function(err) {
  // error callback
});

stopScreenShare

Stop screen share.

multiparty.stopScreenShare();

listAllPeers

Get all of the connected peer ids.

multiparty.listAllPeers(function(lists) { ... });

reconnect

Reconnect the disconnected peer.

multiparty.reconnect(peer_id, function({"video": <boolean>, "screen": <boolean>, "data": <boolean>}){ ... });

MultiParty.util.createVideoNode

Create video node from Object URL.

var vNode = MultiParty.util.createVideoNode({"src": object_url, "id": peer_id}){ ... });

LICENSE

FAQs

Package last updated on 17 May 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc