Introduction

VideoRTC.js allows customers to add real-time communication capabilities into their applications and workflows by using a JavaScript client module/library.

Features

Some of the features include:

GetDevices

List the available devices (Audio and Video) known to the browser.

VideoRoom

Allows to join a public/private conference to until 6 users using a peer-to-peer connection.

SplitClient

Allows a User to make Calls or Videocalls over a WebRTC compliant Web Browser. This Webclient call the SPLIT module in order to join a Contact Center Popup-Agent peer.

SplitAgent

Allows to open the Pop-up Agent Windows that is required for get the video stream from SPLIT. You can enter the Session ID manual to test quickly this demo with a SIP call.

VideoMail

Allows to record a Video Message and post it by email or any kind of webservice.

VideoPlayer

Allows to play out any Video Message recorded previously by the Videomail or Split.

Installation

Several quick installation options are available:

Node Package

VideoRTC.js has been designed as a NPM package.

Download the package and install dependencies running the command below from your project directory:

    npm install

Then, in your code you can import the package directly how this:

    require('path/to/videortc/src/core');

JavaScript Library

If you prefer, you can add the following script tag on your web page:

    <script src="dist/videortc.js"></script>

A minified version of videortc.js, videortc.min.js, is available at:

    <script src="dist/videortc.min.js"></script>

Usage

First of all, you need to configure a connection with the Video Gateway. For that, instance a new VideoRTC:

var myVideoApp = new VideoRTC(endPoints, iceServers, debugLevel);
  • endPoints {string[]}: Array of Gateway Endpoints.
    • Example:
      • ["https://example.com:HTTPS_PORT/webrtc-gateway"]
      • ["wss://example.com:WSS_PORT/"]
  • iceServers {object[]}: List of ICE Servers.
    • Example:
      • [{url: "turn:server", username: "myuser", credential: "******"}]
      • [{url: "stun:server:port"}]
  • debugLevel {boolean|string}: Log level
    • Example:
      • "all", "trace", "debug", "log", "warn", "error", false

Changelog

See CHANGELOG.md

License

See LICENSE.md

Contributing

Bug fixes or suggestions are welcome! Contact us.

API Development

Gulp tasks

- gulp (default): gulp doc + gulp build
- gulp dev-mode: Development watcher. (Run default task when VideoRTC source files change)
- gulp doc: Generate the Development Documentation
- gulp build: Generate the Distribution Files