Overview

Before a video is playing, the content is often represented visually by using an image. This image is referred to as a thumbnail.

Since having high quality thumbnails is important, the Opencast comes with built-in support for thumbnails. Thumbnails can not only show up in the engage player, but other places too! (The video editor, the engage ui or the ltitools for example).

Default Thumbnail

The default workflows come with workflow operations that automatically provide your videos with thumbnails. The operation may look something like this:

  - id: image
    if: ${straightToPublishing}
    fail-on-error: true
    exception-handler-workflow: partial-error
    description: Creating Engage player preview image
    configurations:
      - source-flavor: '*/source'
      - target-flavor: '*/player+preview'
      - target-tags: engage-download
      - encoding-profile: player-preview.http
      - time: 1

Per convention, the flavor for a thumbnail is of the form

{flavor.type}/player+preview

so for example presenter/player+preview. The flavor type must always match to one of the tracks, e.g. presenter. The flavor subtype can theoretically be changed. However, this requires touching quite a few configuration files and is thus usually not worth it.

The engage ui and ltitools use a different flavor

{flavor.type}/search+preview

If you need thumbnails in additional resolutions (e.g. for a custom UI or export), add another image workflow operation with its own target-flavor and a dedicated encoding profile. The resolution is fixed by that profile's ffmpeg.command (see the scale filter), not by any runtime configuration. For example, the default player-preview.http profile produces 1280x720 images for */player+preview, while search-cover.http produces 160x90 images for */search+preview (see etc/encoding/opencast.properties). There is currently no mechanism to resize an existing thumbnail on demand — every resolution you need must be generated by its own workflow operation and stored under its own flavor.

If a media package contains preview thumbnails for more than one flavor type (e.g. both presenter/search+preview and presentation/search+preview), which one gets shown is decided independently by each UI component and is not currently consistent across Opencast:

If your workflow generates thumbnails for multiple flavor types, be aware that different tools embedding Opencast content may display different thumbnails for the same event. When in doubt, only publish one */search+preview and one */player+preview attachment per event to guarantee consistent thumbnails everywhere.

Editor

The editor allows for generating or uploading new thumbnails. To enable thumbnail editing, set

[thumbnail]
show = true

in etc/ui-config/mh_default_org/editor/editor-settings.toml.

It is currently a known issue that thumbnails generated by workflows do not show in the editor.

Changing the thumbnail of a track will cause the editor to add a workflow variable to the next workflow.
The workflow variable is of the shape {flavor.type}/thumbnail_edited and is used to the tell workflow to use the thumbnail from the editor instead of the default generated one.

You can find further settings in this config file etc/org.opencastproject.editor.EditorServiceImpl.cfg. Normally you will not need to touch these.