twilio-video.js

NPM Build Status

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 --save

Bower

bower install twilio-video --save

CDN

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 -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.

Contributing

Bug fixes welcome! If you're not familiar with the GitHub pull request/contribution process, this is a nice tutorial.