/channel-engine

OTT TV Channel Engine

Primary LanguageJavaScriptOtherNOASSERTION

The Eyevinn Channel Engine is a microservice that offers the functionality to generate personalized live streams from available VOD content.

system description

A live demonstration of the Channel Engine is available at https://tv.eyevinn.technology/

Running

To install and run an instance of the Eyevinn Channel Engine we have a Docker image available that can be used. The Channel Engine requests from an Asset Manager API what content to play next. This API is not included in this package and needs to be provided seperately. The Asset Manager API needs to provide the Channel Engine with an endpoint /nextVod/PLAYLIST that returns an JSON object in the following format:

{
  "id": ASSETID,
  "uri": URI-TO-VOD-HLS,
  "title": TITLE
}

This will be the next content to be stitched into the live stream by the engine. To start the Channel Engine run the Docker container and specify with an environment variable the address to the Asset Manager API.

$ docker run -e ASSETMGR_URI=https://assetmgr.example.com -p 8000:8000 eyevinntechnology/channelengine:v1.0.2

The point an HLS video player to playback the URL http://localhost:8000/live/master.m3u8

Node Module

$ npm install --save eyevinn-channel-engine

To use the Channel Engine in your NodeJS code you initiate the engine like this, and where you also have the possibility to provide a custom asset manager that you have built:

  const ChannelEngine = require('eyevinn-channel-engine');
  const MyAssetManager = require('./my_asset_manager.js');

  /**
   * Implements the interface:
   *
   * getNextVod(sessionId, category) -> { id, title, uri }
   * getNextVodById(sessionId, id) -> { id, title, uri }
   *
   * Example in ./assetmanagers/default.js
   */
  const assetManager = new MyAssetManager();
  const engine = new ChannelEngine(assetManager);
  engine.listen(process.env.PORT || 8000);

About Eyevinn Technology

Eyevinn Technology is an independent consultant firm specialized in video and streaming. Independent in a way that we are not commercially tied to any platform or technology vendor.

At Eyevinn, every software developer consultant has a dedicated budget reserved for open source development and contribution to the open source community. This give us room for innovation, team building and personal competence development. And also gives us as a company a way to contribute back to the open source community.

Want to know more about Eyevinn and how it is to work here. Contact us at work@eyevinn.se!