Skip to content

Get Started with Consuo

Introduction

Consuo is a software component to enable the functionality to create linear TV channels online based on an existing VOD library. Using a technique commonly referred to as VOD to Live this is possible without requiring any live transcoding. A benefit that makes it possible to scale this to a large number of channels to a fraction of the cost compared to live 24/7 transcoding.

The component consists of two microservices running in seperate containers: Schedule and Channel Manager and the Channel Engine.

Quick Install

If you want to quickly be up and running to try out this concept follow these instructions. For more permanent and persistent setup visit the installation guide. This guide assumes that you already have Docker engine and docker-compose installed.

Start Containers

Use a docker-compose configuration file to setup and run the two Docker containers.

version: "3.7"
networks:
  app-tier:
    driver: bridge

services:
  channelmgr:
    image: "eyevinntechnology/consuo-schedule:v1.2.0"
    environment:
      - PORT=8001
      - KEY=<LICENSEKEY>
    networks:
      - app-tier
    volumes:
      - /tmp:/data/db
    ports:
      - 8001:8001
  engine:
    image: "eyevinntechnology/consuo-engine:v1.2.0"
    depends_on:
      - channelmgr
    environment:
      - PORT=8000
      - CHANNELMGRAPI=http://channelmgr:8001
      - KEY=<LICENSEKEY>
    networks:
      - app-tier
    ports:
      - 8000:8000
  ui:
    image: "eyevinntechnology/consuo-ui:v1.2.0"
    depends_on:
      - channelmgr
    environment:
      - CHANNELMGRAPI=http://channelmgr:8001
      - CHANNELENGINE=http://localhost:8000
    networks:
      - app-tier
    ports:
      - 8080:8080      

Copy the above text into a YAML configuration file called docker-compose.yml and replace <LICENSEKEY> with the key that you have received. Then simply start the containers with this command:

docker-compose up -d

With this configuration you access the Schedule Manager on http://localhost:8001/ and the Channel Engine on http://localhost:8000/. Replace {SCHEDULE_HOST} and {ENGINE_HOST} with localhost in the examples below.

From version v1.2.0 a web-based user interface is available. Use your browser and go to http://localhost:8080. For more information how to use the user interface read the User Manual.

Create an auto-populated channel

An auto-populated channel is the quickest way to create a channel. Based on an Atom RSS feed the auto-scheduler will populate the channel with events based on a random selection of assets from the RSS feed.

To create a channel that is auto-populated with content from http://testcontent.eyevinn.technology/atom/feed-eyevinn.xml the /channels API is used. For example using curl:

curl -X POST "http://{SCHEDULE_HOST}:8001/channels" -H "accept: application/json" -H "Content-Type: application/json" -d "{\"id\":\"test\",\"config\":{\"auto_populate\":true,\"auto_populate_content\":\"http://testcontent.eyevinn.technology/atom/feed-eyevinn.xml\"}}"

API documentation is available on http://{SCHEDULE_HOST}:8001/api/docs/.

Verify that the channels has been created:

curl -X GET "http://{SCHEDULE_HOST}:8001/channels" -H "accept: application/json"

Watch the channel

Verify that the channel is playing using an HLS capable video player. You find an example to use at http://player.eyevinn.technology. Paste in the following link in the player http://{ENGINE_HOST}:8000/live/master.m3u8?channel=test to play the channel test that you just created.

You just created your first virtual channel!

Continue Reading

  • Installation : covers how to connect to an external Mongo DB and the available startup options.
  • Channel Manager : covers how to work with the Channel Manager API to create channels and schedule events.
  • Web User Interface : covers how to work with the Channel Manager web user interface.