twilio-video.js
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 rbrazier@twilio.com with suggested improvements, feature requests and general feedback. If you need technical support, contact help@twilio.com.
Installation
NPM
npm install twilio-video --saveBower
bower install twilio-video --saveCDN
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>Usage
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);
});
});Changelog
See CHANGELOG.md.
License
See LICENSE.md.
Building
Fork and clone the repository. Then, install dependencies with
npm install
npm install gulp -gPart 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_SIDSIGNING_KEY_SIDSIGNING_KEY_SECRETCONFIGURATION_PROFILE_SID
Alternatively, you can skip the integration tests by setting SKIP_INTEGRATION
to "true". Then, run
gulpThe builds and docs will be placed in the dist/ directory.
Contributing
Bug fixes welcome! If you're not familiar with the GitHub pull request/contribution process, this is a nice tutorial.