/kurento-client-js

Primary LanguageJavaScriptApache License 2.0Apache-2.0

License badge Documentation badge Docker badge Support badge

Copyright © 2013-2016 Kurento. Licensed under Apache 2.0 License.

JavaScript Kurento Client

The project contains the implementation of the JavaScript Kurento Client for web applications and Node.js.

The source code of this project can be cloned from the GitHub repository.

Installation instructions

These instructions are intended for code contributors or people willing to compile the browser version themselves. If you are a browser-only developer, it's better that you have a look at the JavaScript Kurento Client for Bower instructions.

Node.js

Be sure to have installed Node.js in your system:

curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -
sudo apt-get install -y nodejs

To install the library, it's recommended to do that from the NPM repository :

npm install kurento-client

Alternatively, or if you want to modify the JavaScript Kurento Client code or generate yourself the browser version of the library, you can download the development code files using git and install manually its dependencies:

git clone https://github.com/Kurento/kurento-client-js
cd kurento-client-js
npm install

In this last case, you will also need to have installed Kurento Module Creator so you can be able to generate the client libraries code.

Browser

To build the browser version of the library, after downloading the development code files, you'll only need to exec the grunt task runner from the root of the project and they will be generated on the dist folder. Alternatively, if you don't have it globally installed, you can run a local copy by executing

node_modules/.bin/grunt

How to test

Tests are autonomous and based on QUnit testing framework. Their only requirement is to exec previously npm install to have installed all the dev dependencies.

Browser

After building the web browser version of the library, just open the file test/index.html with any browser, and the tests will launch automatically. In case of the browser raise some security policy errors, you can host the tests code by running any static web server at the source code root folder, for example by launching the command

python -m SimpleHTTPServer 8000

You can be able to configure to what WebSocket endpoint you want to connect on the dropdown list at the top of the tests page.

Node.js

To exec test in Node.js, you only need to exec npm test, that will launch all the tests automatically using QUnit-cli.

At this moment, the default WebSocket endpoint can not be changed due to limits of the current implementation of NPM. If you need to use a different WebSocket endpoint from the default one, you can exec the underlying test command and append a ws_uri parameter pointing to the alternative WebSocket endpoint:

node_modules/.bin/qunit-cli -c kurentoClient:. -c wock:node_modules/wock -c test/_common.js -c test/_proxy.js test/*.js --ws_uri=ws://localhost:8080

Kurento

What is Kurento

Kurento is an open source software project providing a platform suitable for creating modular applications with advanced real-time communication capabilities. For knowing more about Kurento, please visit the Kurento project website: http://www.kurento.org.

Kurento is part of FIWARE. For further information on the relationship of FIWARE and Kurento check the Kurento FIWARE Catalog Entry

Kurento is part of the NUBOMEDIA research initiative.

Documentation

The Kurento project provides detailed documentation including tutorials, installation and development guides. A simplified version of the documentation can be found on readthedocs.org. The Open API specification a.k.a. Kurento Protocol is also available on apiary.io.

Source

Code for other Kurento projects can be found in the GitHub Kurento Group.

News and Website

Check the Kurento blog Follow us on Twitter @kurentoms.

Issue tracker

Issues and bug reports should be posted to the GitHub Kurento bugtracker

Licensing and distribution

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Contribution policy

You can contribute to the Kurento community through bug-reports, bug-fixes, new code or new documentation. For contributing to the Kurento community, drop a post to the Kurento Public Mailing List providing full information about your contribution and its value. In your contributions, you must comply with the following guidelines

  • You must specify the specific contents of your contribution either through a detailed bug description, through a pull-request or through a patch.
  • You must specify the licensing restrictions of the code you contribute.
  • For newly created code to be incorporated in the Kurento code-base, you must accept Kurento to own the code copyright, so that its open source nature is guaranteed.
  • You must justify appropriately the need and value of your contribution. The Kurento project has no obligations in relation to accepting contributions from third parties.
  • The Kurento project leaders have the right of asking for further explanations, tests or validations of any code contributed to the community before it being incorporated into the Kurento code-base. You must be ready to addressing all these kind of concerns before having your code approved.

Support

The Kurento project provides community support through the Kurento Public Mailing List and through StackOverflow using the tags kurento and fiware-kurento.

Before asking for support, please read first the Kurento Netiquette Guidelines