# kurento-client

> JavaScript Client API for Kurento Media Server

Latest version **7.3.0** (published 2025-11-27) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install kurento-client
pnpm add kurento-client
yarn add kurento-client
bun add kurento-client
```

## Health

**Score 43/100 (D)** — status: stable.

Positive: has types package; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: insecure dependencies.

## Facts

| | |
|---|---|
| Version | 7.3.0 |
| Published | 2025-11-27 |
| First published | 2014-09-22 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | separate (@types/kurento-client) |
| Module format | CommonJS |
| Dependencies | 12 |
| Unpacked size | 63.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | yes |
| GitHub stars | 440 |
| Author | Kurento |
| Maintainers | kurento-maintainer-team |
| Keywords | kurento, mcu, sfu, rpc, mediaserver, pipe, audio, video, media, recording, stream, streaming, videoconference, broadcast, multicast, client, server, browser, chrome, edge, firefox, safari, webrtc, datachannel, sdp, ice, stun, turn, h264, h.264, opus, vp8, rtp, srtp, rtsp |

## Links

- npm: https://www.npmjs.com/package/kurento-client
- Repository: https://github.com/Kurento/kurento
- Homepage: https://kurento.openvidu.io/
- Issues: https://github.com/Kurento/kurento/issues
- npm.io page: https://npm.io/package/kurento-client

## Dependencies (12)

- [async](https://npm.io/package/async.md) ^2.0.1
- [extend](https://npm.io/package/extend.md) ^3.0.0
- [promise](https://npm.io/package/promise.md) 7.1.1
- [inherits](https://npm.io/package/inherits.md) ^2.0.0
- [minimist](https://npm.io/package/minimist.md) ^1.2.0
- [es6-promise](https://npm.io/package/es6-promise.md) ^4.0.5
- [reconnect-ws](https://npm.io/package/reconnect-ws.md) github:KurentoForks/reconnect-ws#master
- [kurento-jsonrpc](https://npm.io/package/kurento-jsonrpc.md) 7.3.0
- [promisecallback](https://npm.io/package/promisecallback.md) 0.0.4
- [kurento-client-core](https://npm.io/package/kurento-client-core.md) 7.3.0
- [kurento-client-filters](https://npm.io/package/kurento-client-filters.md) 7.3.0
- [kurento-client-elements](https://npm.io/package/kurento-client-elements.md) 7.3.0

## Alternatives

- [byte-size](https://npm.io/package/byte-size.md) — 2.1M weekly downloads
- [speed-limiter](https://npm.io/package/speed-limiter.md) — 16.0K weekly downloads
- [@powersync/node](https://npm.io/package/@powersync/node.md) — 10.9K weekly downloads
- [@ledgerhq/coin-cardano](https://npm.io/package/@ledgerhq/coin-cardano.md) — 1.0K weekly downloads
- [@jayesol/jayeson.lib.streamfinder](https://npm.io/package/@jayesol/jayeson.lib.streamfinder.md) — 1.0K weekly downloads

## Recent versions

- 7.3.0 (latest) — 2025-11-27
- 7.2.0 — 2025-03-19
- 7.1.0 — 2024-09-18
- 7.0.0 — 2023-03-16
- 6.18.0 — 2022-09-15
- 6.16.0 — 2021-03-02
- 6.15.0 — 2020-11-04
- 6.14.0 — 2020-06-17
- 6.13.0 — 2019-12-17
- 6.12.0 — 2019-10-15
- 6.11.0 — 2019-07-22
- 6.10.0 — 2019-04-05
- 6.9.0 — 2018-12-11
- 6.8.0 — 2018-09-28
- 6.6.0 — 2016-09-11
- … 10 more at https://npm.io/package/kurento-client/versions

## README

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

supports async-await out of the box

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:

```bash
curl -sSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
```

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

```bash
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:

```bash
git clone https://github.com/Kurento/kurento.git
cd kurento/clients/javascript/client/
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

```bash
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

```bash
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]. Note that a Kurento Media Server
instance must be also up, in order to have all tests run against it.

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:

```bash
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
```

---
_Source: https://npm.io/package/kurento-client · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
