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
Detect: Allows to know information about the local browser and media devices connected.
EchoTest: To establish a P2P connection between the client and the VideoGateway.
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/"]
- Example:
- iceServers {object[]}: List of ICE Servers.
- Example:
[{url: "turn:server", username: "myuser", credential: "******"}]
[{url: "stun:server:port"}]
- Example:
- debugLevel {boolean|string}: Log level
- Example:
"all", "trace", "debug", "log", "warn", "error", false
- Example:
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