Introduction

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

Features / UseCases

  • GetDevices: Gets the list of available media devices in the browser/app

  • SplitAgent: Allows to open a Pop-up Agent Window that is required for get the Video stream from SPLIT. In addition, it has extra features like ScreenSharing, FileSharing and Recording.

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

  • VideoCall: Allows to make a VideoCall between peers full WebRTC (peer-to-peer).

  • VideoMail: Allows to record a Video Message and post it in the VideoGateway.

  • VideoPlayer: Allows to play out any Video Message recorded previously by the VideoMail or Split.

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

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, you can import the package directly like this:

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

JavaScript Browser Library

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

    <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 VideoGateway:

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 are modified)
  • gulp doc: Generate the Development Documentation
  • gulp build: Generate the Distribution Files