Skip to main content
Skip table of contents

Subtitles [VE OG]

Subtitling and Closed Captions are essential use cases needed for video production in the field of linear television as well as when distributing to web. Therefor VidiEditor allows for the use of VidiCore Metadata Groups to create different types for subtitles or closed caption use cases. This section explains the technical relationships as well as configuration parameters that can be adjusted in ConfigPortal.

Architecture

Subtitles might come from different sources such as subtitle side car files, embedded subtitles extracted from videos, AI generated transcripts or manually created data. VidiEditor supports this while allowing to use any metadata group of a media as subtitle source. The creation of this data is outside of the VidiEditor scope and it is assumed in the following that suitable data exists. See VidiCore for additional information about importing and exporting subtitles: https://apidoc.vidispine.com/latest/item/metadata/subtitles.html and https://apidoc.vidispine.com/latest/ref/metadata/subtitle.html .

The image below offers a high level overview of how it can be thought of in a system design.

In this image, different sources for subtitles exist that all are ingested in some way to VidiCore metadata groups. Those metadata groups can be configured to be usable in VidiEditor via the ConfigPortal. It must also be defined if the metadata groups are used as subtitle sources or as normal events or markers as explained in Timeline Marker Configuration and in Event List View Configuration. The following differences exist when metadata groups are defined as subtitle:

  • Subtitles occur as source media events as well as timeline markers

  • One configurable text field can be used for display in the players

  • Subtitles will be labelled under the groups of subtitles in VidiEditor

  • Appearance parameters become relevant for display when existing on the metadata group

Assuming only metadata group 1 in above picture is configured to be usable, it will show up in the source medias event list view Event List View and can additionally be selected in the source player to preview the configured text on top of the video.


To reuse those subtitles of the source media on a timeline where a mixing and editing of different scenes is usually happening, a copy functionality is available allowing to select a metadata group and copy its data from the source media to the timeline at the correct timecode positions.

Executing this import option will copy all of the selected metadata groups to the timeline that will be presented there as marker. A result might look as follows:

From this point on the metadata groups are related to the timeline and not to the source media so every change will not reflect back to the source media and will only be applied for the timeline. A user can independently edit this data for example to adjust the text, the appearance of the text, the duration or position of the blend in on timeline.

Assuming the user is done with editing, the subtitles will be handled on the publish in following way:

  • VidiEditor creates a new item with the metadata from VidiEditor that should be used to attach the media in subsequent processes.

  • Markers existing on the timeline will be persisted as metadata groups to the new item.

  • Optionally, the user can choose to burn subtitles in to the video resulting in a control instruction for VidiCoder being able to encode the subtitle to the video https://legacy1-kb.vidinet.net/ckb/how-to-burn-in-subtitles-to-a-video-file .

  • A workflow can also be started if VidiEditor is used in combination with VidiFlow. This should be mentioned here as it might be needed to read the metadata group again to extract it to a subtitle side car file which is a subsequent functionality not done by VidiEditor.

Timecode representation Subtitles

As explained above subtitles are stored in Metadata Groups on Item level. The timecode information about the subtitles is stored here too. Assuming an Item having different shapes all in same frame rate matching this data will work in a consistent way and is very much recommended.

Anyway 2 scenarios are relevant where the system design matters and massaging of the Timecode data might be needed in a connected workflow:

  1. Frame rate conversion on publish

The VidiEditor timeline is counting always in one frame rate set by the user (see Project Creation Configuration). When the user adds subtitles or other timecode based metadata groups on to the timeline their timecode will be converted to the timelines frame rate. As soon as the publish process is started VidiEditor will write an item containing the subtitle information. Those are written to the item always based on the frame rate set for the project.

Assuming that on Publish also a conforming of the timeline will be initiated it depends on the transcoding preset (ShapeTag) if the resulting media will be in the timelines frame rate or if it will be converted into another frame rate. In the second case the data of the subtitle is still stored in the timelines frame rate. It might be needed to massage this data in process chain then.

VidiEditor cannot set the frame rate in this case depending on the transcoding preset chosen as it might be the preset is set via a backend workflow or while the system design will lead to a result of different shapes with different frame rates.

  1. Mutliple Frame Rates on an Item

Even if not recommended it is possible and sometimes needed to build system in a way where an Item has Shapes in different frame rates - for example when:

  • Normalizing media on Ingest

  • Doing sample rate conversion of proxy files

  • Delivering the same media for different platforms

In this case the subtitle data written for Items created by VidiEditor still follows the timelines frame rate. The VidiEditor GUI itself can transform the timecodes in the GUI into another frame rate to present it to the user as expected. For example if subtitle data is stored in 25 fps but a proxy media in 29,97 for is used in source player. Anyway the data persisted is reflecting the state of the VidiEditor timeline when the item was written.

Aspects and Limitations

The usage of subtitles comes with some aspects worth to mention understanding what kind of specific logics and limitations exist.

stl_Subtitle metadata groups for burn in

If the burn in option is used by the user, it is required to use the metadata group named “stl_subtitle” in the backend to make the encoding of the text into the video possible. This means: If a subtitle list is selected for burn in that is not “stl_subtilte”, the the selected marker list will overwrite the stl_subtitle metadata group for the publish item.

Appearance options

If the metadata group “stl_subtilte” is used, it usually comes with formatting options like the text colour etc. For supported attributes, VidiEditor will display the text based on the appearance set on the metadata groups. If no appearance is set, then it will fallback to settings made in ConfigPortal.

Line breaking text

For longer text, even if no line breaking is set in appearance parameters then VidiEditor will calculate line breaking in source and timeline player trying to adjust the text in a way where is is useful on the screen. This does mean the text will not be exactly shown as defined in the data to support the user.

Marker moving

As timelines can become quiet complex the handover from source media to timeline is a import functionality copying over the data. When moving the media on timeline the markers will not moved automatically. The user is responsible to adjust the markers when adjusting the media. It is recommended just doing the subtitle editing in the very end of the editing process.

Overlapping Markers

While normal markers are allowed to overlap each other, this is not allowed for markers defined as subtitle. It simply makes no sense having various text layers printed on top of each other. Therefor the GUI blocks the user on creating this when using subtitle markers. Anyway it still can happen in case of such data coming in as source. The user the will be warned on the publish process.

stl_subtitle default

If the metadata group “stl_subtilte” exists on some media, it is usable without any mapping configuration in VidiEditor and will work by default.

Configuration

Two configuration pages in VidiEditor are needed to define subtitles for VidiEditor usage. These are explained in the following sections:

Mapping

Config Portal → VidiEditor → Subtitle → Mapping

This page allows one to define the metadata groups being usable as subtitle sources for VidiEditor different than the default subtitle group “stl_subtitle“. Simply click on the plus button to add a metadata groups to be used:

The following parameters exist:

  • Metadata Field Group - The metadata group to be used

  • Subtitle text - One metadata field of the selected metadata group to be used as source for the text

  • Status - A switch allowing to turn on/off the usability of this group

Default Settings

Config Portal → VidiEditor → Subtitle → Default Settings

This page allows to turn the complete feature on or off as well as defining default settings for the appearance of the text in case those are not set which is usually the cases for metadata groups different the “stl_subtitle”.

Following parameters exist:

  • Enable Subtitle - Turns the feature on or off

  • Font - One of 3 fonts to be used if not set on the metadata group

  • Color - One of 2 colours to be used if not set on the metadata group

  • Alignment - One of 3 orientations to be used if not set on the metadata group

  • Outline - Defines if no outline, bar or storke if not set on the metadata group

  • Font height - Defines the font height if not set on the metadata group

  • Vertical Position - Defines if the font appears at top or bottom if not set on the metadata group

  • Vertical margin - Defines space to be kept in percentage to get some space of the text to the player borders

  • Horizontal margin - Defines space to be kept in percentage to get some space of the text to the player borders

  • Accepted Subtitle Languages - Defines the languages prefixes to be usable in VidiEditor by the user.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.