Video Editor Workflow Operation
ID: editor
Description
The editor operation cuts the source file(s) according to the given SMIL file(s). SMIL file(s) are usually generated by the video editor frontend.
It expects a SMIL catalog (smil-flavors) describing one or more segments to keep, and one or more source tracks
(source-flavors) to cut. For every matching source track it produces a new, derived track whose flavor subtype is
replaced with target-flavor-subtype (e.g. presenter/source becomes presenter/trimmed), containing only the
segments the SMIL defines. The SMIL catalog itself is rewritten in place under target-smil-flavor with the source
tracks it references resolved to the actual tracks that were cut.
If skip-if-not-trimmed is enabled and the SMIL contains only a single segment spanning the entire recording (i.e.
nothing was actually cut), no encoding is performed. Instead, the tracks named by skipped-flavors are cloned
directly to the target flavor, unchanged. The same cloning happens if the operation is configured to run
non-interactively and no SMIL catalog has been created for the media package yet, in which case cutting is skipped
entirely.
Parameter Table
| configuration keys | example | description |
|---|---|---|
| source-flavors | */work |
The flavor(s) of all media files to process |
| smil-flavors | */smil |
The flavor(s) of the SMIL file(s) to be used |
| skipped-flavors | */work |
(Optional) The flavor(s) of the media files to clone to the target flavor when the editor operation is skipped (see skip-if-not-trimmed) or run non-interactively without ever holding for edits. Defaults to the value of source-flavors. This only needs to be set to something different from source-flavors when the tracks used for interactive editing are not the tracks that should continue through the workflow when no trimming happens, e.g. when source-flavors points at lower-resolution */preview tracks used just for the editor UI, but skipping should pass through the full-quality */work tracks instead. |
| target-flavor-subtype | trimmed |
The flavor subtype to be applied to all resulting videos, e.g. for a value of baz, a track with flavor foo/bar will generate another track with flavor foo/baz |
| target-smil-flavor | smil/cutting |
the flavor of the SMIL file containing the final video segments. Should be the same as the smil.catalog.flavor property in etc/org.opencastproject.editor.EditorServiceImpl.cfg |
| skip-if-not-trimmed | false |
(Optional) if set to true, the track encoding will be skipped if no trimming points were defined (i.e. there is only one segment from the very beginning to the very end of the video). Defaults to true |
| skip-processing | true |
Do not do the actual encoding, just create the smil file and exit. This option is used with process-smil workflow operation, which will use the smil to run the encodings then. Default is false. |
| preview_flavors | */preview |
(Legacy) Flavors used to preview the video in the editor. Currently has no effect. Preview flavors are now configured in the file etc/org.opencastproject.editor.EditorServiceImpl.cfg |
| interactive | false |
(Legacy) If true make the operation interactive, i.e. pause and wait for user input.Do not use. Interactive operations are deprecated in the current API. |
Operation Example
`yaml
- id: editor
description: Waiting for user to review / video edit recording
configurations:
- source-flavors: '*/work'
- skipped-flavors: '*/work'
- smil-flavors: '*/smil'
- target-smil-flavor: smil/cutting
- target-flavor-subtype: trimmed