Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

eyevinn-channel-engine

Package Overview
Dependencies
Maintainers
1
Versions
250
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eyevinn-channel-engine

OTT TV Channel Engine

  • 1.0.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
77
decreased by-79.36%
Maintainers
1
Weekly downloads
 
Created
Source

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);

FAQs

Package last updated on 28 Oct 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc