Skip to content

Content Engine Primer

Each content engine has its own page, and they are structured similarly. We begin with a brief summary and a screenshot followed by YAML code that shows how to use the engine in a channel.

For instance, you might see something like this:

image: /content/images/my-image.jpg

To use it, put it in a channel:

channels:
- number: 123
name: My channel
abbr: EXAMPLE
image: /content/image/my-image.jpg # <-- the content engine goes here

Or in a layout:

channels:
- number: 123
name: My channel
abbr: EXAMPLE
loop:
- image: /content/images/my-image.jpg # <-- here
duration: 10
- image: /content/images/my-image-2.jpg
duration: 5

Or even in a reference:

refs:
ad1:
image: /content/images/my-image.jpg # <-- here
channels:
- number: 123
name: My channel
abbr: EXAMPLE
ref: ad1

After the examples you’ll get an exhaustive list of unique properties for each content engine. These properties can be used to customize the behavior and appearance of the engine in your channels and layouts.

Properties that can apply to any engine won’t be displayed on every page but instead are available below:

Type: object

Since: TVS 5.11.0

Beginning in TVS 5.11.0, the _component property groups options that can apply to any content engine. Right now it contains the dimensions property, which lets you define a virtual video signal for the component.

This is useful when you need to render content for a specific target resolution while still letting the containing channel, layout, or parent component scale it to fit the available space.

generator:
type: test-pattern
_component:
dimensions:
width: 1280
height: 720
aspectRatioBehavior: contain

Type: object

Defines the size of the component’s internal work area in pixels. Think of this as a simulated video signal that the component renders into before it is scaled into its container.

Type: number

Width of the work area in pixels.

Type: number

Height of the work area in pixels.

Type: 'stretch' | 'cover' | 'contain'

Default: contain

Controls how the virtual video signal is fitted into its container, which may be the root channel area, a layout region, or another component.

  • stretch: Warps the signal to the exact size of the container. This can distort the aspect ratio.
  • cover: Scales the signal until the entire container is covered. This can crop the image.
  • contain: Scales the signal to fit entirely within the container. This can add letterboxing or pillarboxing.

Type:: true | false

Whether the component takes precedence over the channel’s background audio and mutes it while being displayed.

shorthand properties are marked in blue and are properties that can be set using shorthand syntax; instead of saying:

image:
src: /content/images/my-image.jpg

you can simply write:

image: /content/images/my-image.jpg

You can’t provide any other options with this shorthand syntax, but it is useful for simple cases such as when you just want to display an image or a video without any additional configuration.

If there are multiple options for an optional property the default value will be labeled like this. Other available values will be in gray.