Universal JavaScript Client for the 3D Streaming Toolkit - Supports Node.js, Browser and React-Native.
npm install js-3dstknpm install command.
bash
$ npm install js-3dstk
`
Getting Started on the Browser
To add to your browser, you have a few options.
1. You can either clone the repository and use the existing webpack build config to build a production version.
1. You can require the ThreeDStreamingClient into your existing modern web app.
1. You can link to the built version in dist/ on GitHub (not recommended for production).
` js
var streamingClient = new ThreeDToolkit.ThreeDStreamingClient({
'serverUrl': server,
'peerConnectionConfig': {
'iceServers': [{
'urls': 'turn:turnserver.server.com:5349',
'username': 'user',
'credential': 'password123',
'credentialType': 'password'
}],
'iceTransportPolicy': 'relay'
}
}, {
RTCPeerConnection: window.mozRTCPeerConnection || window.webkitRTCPeerConnection || RTCPeerConnection,
RTCSessionDescription: window.mozRTCSessionDescription || window.RTCSessionDescription || RTCSessionDescription,
RTCIceCandidate: window.mozRTCIceCandidate || window.RTCIceCandidate || RTCIceCandidate
});
streamingClient.signIn(localName,
{
onaddstream: onRemoteStreamAdded.bind(this),
onremovestream: onRemoteStreamRemoved,
onopen: onSessionOpened,
onclose: onSessionClosed,
onconnecting: onSessionConnecting,
onupdatepeers: updatePeerList.bind(this)
})
.then(streamingClient.startHeartbeat.bind(streamingClient))
.then(streamingClient.pollSignalingServer.bind(streamingClient, true));
// Join a peer
streamingClient.joinPeer(streamingClient.getPeerIdByName(peerName));
`
$3
For Node.js, simply replace how you import the client class.
`js
const { ThreeDStreamingClient } = require('js-3dstk');
var streamingClient = new ThreeDStreamingClient(...);
`
Testing
Testing is done via tape and mocking. To run the tests:
`bash
$ npm run test
``