Bitmovin Javascript API Client

README.md

Bitmovin Javascript API Client

bitmovin codecov npm version Build Status

Javascript-API-Client which enables you to seamlessly integrate the Bitmovin API into your projects. Using this API client requires an active account.

Sign up for a Bitmovin Account!

The full API reference can be found here.

Installation

npm install bitmovin-javascript

or with yarnpkg

yarn add bitmovin-javascript

Initialization

Node

Using ES6 import

import Bitmovin from 'bitmovin-javascript';
const bitmovin = Bitmovin({'apiKey': '<YOUR_API_KEY>'});

With require

const Bitmovin = require('bitmovin-javascript').default;
const bitmovin = Bitmovin({'apiKey': '<YOUR_API_KEY>'});

Browser

Use bitmovin-javascript/dist/bitmovin.browser.js or bitmovin.browser.min.js for the minified version.

ES5 with Modules (CommonJS)

Import bitmovin-javascript/dist/index.js.

Types

  • Typescript (bitmovin-javascript/dist/index.d.ts)

Usage

The Bitmovin-Javascript API Client is closely modeled after our Bitmovin API Reference Bitmovin API. Each resource in the API Reference has a 1:1 mapping in our API Client.

All methods return a Promise Object that will return the fetched result values from the API.

So for example the list all inputs call is defined as GET v1/encoding/inputs in our API-Reference and simply corresponds to:

const limit = 100;
const offset = 0;
bitmovin.encoding.inputs.list(limit, offset).then(result => {
  const {items} = result;
  items.forEach(input => {
    console.log(input.name);
  });
});

Examples

An sample DASH & HLS encoding sample can be found in examples/encoding/01_simple_encoding_dash_manifest.js

For more examples visit our example page.

Contributing

If you want to contribute feel free to send pull requests. Code quality is ensured through lint-staged, please make sure all tests are passing with yarn test.

Upgrade from v1

Version 2 of the Bitmovin JavaScript client still has the same 1:1 mapping as v1. With v2 we improved the bundling and changed the default export to not require a new to create a Bitmovin "object". Internally the client changed quite a lot as you can see in this pull request.

License

MIT