Library to enable the Sofie TV Automation system to control a Vizrt Media Sequencer Engine (MSE), to be implemented in Node.js with Typescript.
This library is currently experimental. It currently contains:
- blog about what has been discovered so far;
- terminology related to the VDOM tree;
- simple prototype application that has been used to control a Viz Engine via MSE;
- draft typescript interface.
This library bridges the Vizrt Media Sequencer Engine and typescript to all the Sofie TV Automation system to control graphics generation.
- Vizrt Media Sequencer Engine to control Viz Engine.
- This addon has been developed with Node.js v8.1.15 LTS.
- Install the yarn package manager.
Having checked out this project from git, install packages and build the native extension:
yarn install
Build the typescript interface module:
yarn build
This package has automated tests that run with jest. Test with:
yarn test
Add this module to your project with one of:
npm install @tv2media/v-connection
yarn add @tv2media/v-connection
Import into your project with one of:
const { createMSE, MSE } = require('@tv2media/v-connection')
import { createMSE, MSE } from '@tv2media/v-connection'
Use factory createMSE
to create a connection to a running MSE, e.g.:
let mse: MSE = createMSE('hostname.domain', restPort, wsPort)
Note that restPort
and wsPort
are optional. If omitted, the default port numbers will be used.
This version of the library assumes the following setup are has been done within an MSE in advance:
- handlers describing connections to VizEngines have been created.
- handlers for external elements, e.g. pilot database, have been created (typically named
namespace_...
). - a profile has been created to specify the relationship between channel names and engines and to represent the state of a running show.
- one or more shows that contain scenes and master templates that can be used be this library to build internal element instances.
Given that setup, the steps to use the library are:
- Create an MSE instance (see above) to manage all communications with the MSE server.
- Discover the details of available shows, Viz Engines and profiles.
- Use the MSE to create a rundown, a v-connection concept that represents the linking of its own MSE playlist, a show and a profile.
- Add all the graphical elements to be used in the rundown.
- Activate the rundown and initialize heavy graphical elements to pre-load them.
- Query elements to check they are loaded and send commands to take graphics in and out, or continue through their animation states.
- During an active rundown, create new elements and initialize each one as required. Take care not to affect engine output. Repeat steps 6 & 7 as required.
- Deactivate a rundown and then purge all associated elements and clean up the VizEngine renderers.
This library is in no way associated with, or endorsed by, Vizrt.