Image Workflow Operation

ID: image

Description

The image operation will extract still images from a video using FFmpeg and a list of given encoding profiles. Both absolute and relative positions can be used.

Parameter Table

configuration keys example description
source-flavor presenter/source Specifies which media should be processed.
source-flavors presenter/source, presentation/source Specifies a list of media which should be processed. In case a flavor has been specified in source-flavor, it will be added to this list.
source-tags engage Specifies which media should be processed.
target-flavor presenter/work Specifies the flavor the new files will get.
target-tags engage Specifies the tags the new files will get.
encoding-profile search-cover.http Comma-separated list of encoding profiles to use.
time 1 or 5% Comma-separated list of times in seconds or as percentage of the source track duration where the images should be extracted
target-base-name-format-second thumbnail_%.0f%s Used to control the target filenames for images extracted at absolute times. Mainly helpful when integrating third-party applications that prefer to use filename to distinguish individual images
target-base-name-format-percent thumbnail_%.3f%s Used to control the target filenames for images extracted at relative times. Mainly helpful when integrating third-party applications that prefer to use filename to distinguish individual images
end-margin 500 Safety margin at the end of the track. Sometimes, image extraction is critical at the end of the file. Using end-margin ensures, that no images are being extracted near the end of the video file to avoid problems with defective inputs.
(Default: 100)

Notes:

  • Absolute and relative position may be mixed up in the configuration key time

Operation Example

Extract one image at position 1 second using the encoding profile search-cover.http.

<operation
    id="image"
    description="Encoding presenter preview image">
  <configurations>
    <configuration key="source-flavor">presenter/trimmed</configuration>
    <configuration key="source-tags"></configuration>
    <configuration key="target-flavor">presenter/search+preview</configuration>
    <configuration key="target-tags">engage</configuration>
    <configuration key="encoding-profile">search-cover.http</configuration>
    <configuration key="time">1</configuration>
  </configurations>
</operation>

Extract images at three relative positions (1%, 50%, 100%) from the presenter/trimmed track. For each position, we use three different encoding profiles (example.encoding.profile.*). This operation therefore generates nine images in total. The target filenames will be formed based on the target-base-name-format-* configuration keys (prefix) and the configuration of the encoding profiles (file extension and possibly suffix).

<operation
    id="image"
    description="Extract set of thumbnails">
  <configurations>
    <configuration key="source-flavor">presenter/trimmed</configuration>
    <configuration key="target-flavor">presenter/thumbnails</configuration>
    <configuration key="target-base-name-format-second">thumbnail_%.3f%s</configuration>
    <configuration key="target-base-name-format-percent">thumbnail_%.0f%s</configuration>
    <configuration key="encoding-profile"> example.encoding.profile.small, example.encoding.profile.medium, example.encoding.profile.large</configuration>
    <configuration key="time">1%, 50%, 100%</configuration>
    <configuration key="end-margin">1000</configuration>
  </configurations>
</operation>