Overview
Video content is often represented visually by using thumbnail images and metadata. Think of, for example, of list of videos displayed as a thumbnail image together with the title and description for each video.
On this page, this is the image that we refer to as thumbnail.
Since having high quality thumbnails is important, the Opencast video editor comes with built-in support for thumbnails. We distinguish between three kinds of thumbnails:
- The Thumbnail Preview is a preview of the thumbnail shown in the video editor only
- The Default Thumbnail is automatically generated
- A Snapshot Thumbnail can be extracted from the video by the user
- An Uploaded Thumbnail is uploaded by the user
As both the video editor and your workflows need to work together to enable full support of this feature, the Admin UI comes with a number of configuration options that allows this feature to be integrated into your workflow configuration.
This page describes the configuration options of the Admin UI relevant for the thumbnail support of the video editor.
These options can be adjusted in the configuration file etc/org.opencastproject.adminui.cfg
.
Thumbnail Preview
The video editor displays a preview of the actual thumbnail at any time. This preview image is expected to be published
in the publication channel internal
as attachment with the flavor as specified in the Admin UI configuration:
# Default: thumbnail/preview
#thumbnail.preview.flavor=thumbnail/preview
The initial thumbnail preview image is generated by the workflow that creates and publishes the distribution
artefacts required by the video editor (e.g. etc/workflows/partial-preview.xml
).
If the user uploads a thumbnail in the video editor, the thumbnail preview is created by converting the uploaded thumbnail using the following encoding profile:
# Default: editor.thumbnail.preview.downscale
#thumbnail.preview.profile.downscale=editor.thumbnail.preview.downscale
If the user selects the default thumbnail or a snapshot thumbnail in the video editor, the update of the thumbnail preview is done differently depending on whether automatic distribution is enabled or not.
In case that automatic distribution is disabled, the thumbnail preview is extracted from the source track using the following encoding profile:
# Default: editor.thumbnail.preview
#thumbnail.preview.profile=editor.thumbnail.preview
In case that automatic distribution is enabled, a master thumbnail image is extracted. The thumbnail preview image is then created by downscaling this master thumbnail image using the following encoding profile:
# Default: editor.thumbnail.preview.downscale
#thumbnail.preview.profile.downscale=editor.thumbnail.preview.downscale
Note that the thumbnail preview image is supposed to be used by the Admin UI only.
Default Thumbnail
This thumbnail is supposed to be automatically generated without user interaction.
When the user chooses the default thumbnail in the video editor, Opencast will automatically generate and publish an updated thumbnail preview image.
The default thumbnail image is extracted from a track identified by the following configuration:
# Default: presenter
#thumbnail.source.flavor.type.primary=presenter
# Default: presentation
#thumbnail.source.flavor.type.secondary=presentation
# Default: source
#thumbnail.source.flavor.subtype=source
In this example, the default thumbnail would be extracted from the track with the flavor presenter/source
or, if
no such track is available, a track with the flavor presentation/source
.
The relative position within the edited video where the default thumbnail is extracted can be configured:
# Default: 1.0
#thumbnail.default.position=1.0
Opencast will set the following processing settings for the event being edited:
- `thumbnailType` is set to `0` to indicate that the default thumbnail is used
- `thumbnailPosition` is set to the absolute position of the video where the default thumbnail should be extracted
Snapshot Thumbnail
In case the user is not happy with the automatically generated default thumbnail, the user can extract a thumbnail at an arbitrary position within the video.
The snapshot thumbnail will be extracted from tracks identified by the following configuration properties:
# Default: presenter/source
#sourcetrack.left.flavor=presenter/source
# Default: presentation/source
#sourcetrack.right.flavor=presentation/source
Note that the user can choose between "Extract from video", "Extract from left video" and "Extract from right video". In any case, the video editor ensures that the correct source track flavor is used.
Opencast will set the following processing settings for the event being edited:
- `thumbnailType` is set to `1` to indicate that a snapshot thumbnail is used
- `thumbnailPosition` is set to the absolute position of the video where the snapshot thumbnail should be extracted
- `thumbnailTrack` is set to the type of the flavor of the source track which is `presenter` or `presentation`
Uploaded Thumbnail
The most flexible option is to upload an image to be used as thumbnail.
When the user uploads an image in the video editor, Opencast will automatically generate and publish the thumbnail preview and creates a new media package snapshot after adding the uploaded image as attachment to the media package.
This attachment will have the following flavor:
# Default: thumbnail/source
#thumbnail.uploaded.flavor=thumbnail/source
Additionally, the following tags are added to the attachment:
# Default: archive
#thumbnail.uploaded.tags=archive
IMPORTANT: Please ensure that all workflows in your setup will always include this attachment when taking
snapshots using the workflow operation snapshot by setting its
configuration key source-tags
and/or source-flavor
appropriately.
Opencast will set the following processing settings for the event being edited:
- `thumbnailType` is set to `2` to indicate that an uploaded thumbnail is used
Automatic Distribution
To avoid the situation that a user needs to start a workflow just to update the thumbnail on the publication channels, Opencast supports automatic distribution of thumbnail images for publication channels that support incremental publication.
This is currently supported by the following kinds of publication channels:
- Configurable publication channels (used by the External API)
- OAI-PMH publication channels
Note that this mechanism is currently limited to at most one publication channel per kind.
The automatic distribution of thumbnail images can be enabled in the configuration:
# Default: false
#thumbnail.distribution.auto=false
If automatic distribution is enabled, Opencast will automatically create and publish the thumbnail. Note that the generation of multiple thumbnails is based on a master image that will be extracted using the following encoding profile:
# Default: editor.thumbnail.master
#thumbnail.master.profile=editor.thumbnail.master
This master image will be converted into all the different formats required.
For the automatic distribution to the OAI-PMH publication channel, the following settings are available:
# The ID of the OAI-PMH publication channel
# Default: oaipmh-default
#thumbnail.distribution.oaipmh.channel=oaipmh-default
# The flavor of the attachment
# Default: */search+preview
#thumbnail.distribution.oaipmh.flavor=*/search+preview
# Comma-separated list of tags
# Default:engage-download
#thumbnail.distribution.oaipmh.tags=engage-download
# Comma-separated list of encoding profiles
# Default: search-cover.http.downscale
#thumbnail.distribution.oaipmh.profiles=search-cover.http.downscale
To enable automatic distribution to the OAI-PMH channel, thumbnail.distribution.auto
must be set to true
and
thumbnail.distribution.oaipmh.channel
must be set to a non-empty string.
For the automatic distribution to the configurable publication channel, the following settings are available:
# The ID of the configurable publication channel
# Default: api
#thumbnail.distribution.configurable.channel=api
# The flavor of the attachment
# Default: */search+preview
#thumbnail.distribution.configurable.flavor=*/search+preview
# Comma-separated list of tags
# Default:engage-download
#thumbnail.distribution.configurable.tags=engage-download
# Comma-separated list of encoding profiles
# Default: search-cover.http.downscale
#thumbnail.distribution.configurable.profiles=search-cover.http.downscale
To enable automatic distribution to the configurable publication channel, thumbnail.distribution.auto
must be set to
true
and thumbnail.distribution.configurable.channel
must be set to a non-empty string.