twilio-video.js allows you to add real-time voice and video to your web apps.
Note that this is a beta release. You may encounter bugs and instability, and the APIs available in this release may change in subsequent releases.
We want your feedback! Email Rob Brazier, Product Manager for Programmable Video at [email protected] with suggested improvements, feature requests and general feedback. If you need technical support, contact [email protected].
npm install twilio-video --save
bower install twilio-video --save
Releases of twilio-video.js are hosted on a CDN, and you can include these directly in your web app using a <script> tag.
<script src="//media.twiliocdn.com/sdk/js/video/v1/twilio-video.min.js"></script>
The following is a simple example showing a Client connecting to a Room. For more information, refer to the API Docs.
const Video = require('twilio-video');
const client = new Video.Client('$TOKEN');
client.connect({ to: 'room-name' }).then(room => {
console.log('Connected to Room "%s"', room.name);
room.participants.forEach(participant => {
console.log('Participant "%s" is connected', participant.identity);
participant.media.attach(document.body);
});
room.on('participantConnected', participant => {
console.log('Participant "%s" connected', participant.identity);
participant.media.attach(document.body);
});
room.on('participantDisconnected', participant => {
console.log('Participant "%s" disconnected', participant.identity);
});
});
See CHANGELOG.md.
See LICENSE.md.
Fork and clone the repository. Then, install dependencies with
npm install
npm install gulp -g
Part of the build process involves running integration tests against Twilio. In order to run these, you will need a Twilio account and you will need to set the following environment variables:
ACCOUNT_SID
SIGNING_KEY_SID
SIGNING_KEY_SECRET
CONFIGURATION_PROFILE_SID
Alternatively, you can skip the integration tests by setting SKIP_INTEGRATION
to "true". Then, run
gulp
The builds and docs will be placed in the dist/
directory.
Bug fixes welcome! If you're not familiar with the GitHub pull request/contribution process, this is a nice tutorial.