This document describes how to configure Curator to deliver subclips of an asset as rendered files to a pre-configured destination.
This document is correct for Curator 3.3 and beyond.
Overview
This workflow is a way to deliver subclips as a file to a fixed destination, eg so they can be delivered to a third party manually, or added to an external watchfolder.
The asset will be downloaded to storage if necessary, then either transcoded or remixed to make a new file that contains only the part of the media covered by the subclip.
This workflow can make use of partial file restore from some archives, so we only restore the necessary part of the asset to make a new media file.
In more detail, we use a source chained transfer in order to use one MediaStore to generate the subclip and a second MediaStore to deliver the subclip files.
Requirements
This is basic behavior that is available in the Core workflows.
Only single file assets that can be indexed can be used for Xfer MUD subclips; these are currently only MXF and quicktime (mov) assets, and not all assets in these containers can be indexed.
Files must be available on local storage; these workflows cannot access cloud storage such as S3 directly.
Types of Delivery
There are different types of delivery that can be used:
- Direct delivery
- In this case we deliver the asset to it’s final location directly.
- Cached file delivery
- In this case we make a subclip, attach it to an asset and then transfer the file using a Delivery store to a final destination.
- This allows us to deliver the same file to several destinations.
- This may require additional purging.
Send To Destination
We will need a send to destination plugin which is configured to accept subclips.
This means it must have the following filters - note that SubClip is case sensitive:
<filters> <classes> <allow type="SubClip"/> </classes> <instances> </instances> </filters>
Other than this it is a normal Send To Destination plugin, e.g.,:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <filters> <classes> <allow type="SubClip"/> </classes> <instances> </instances> </filters> <PEServiceConfiguration processDefinitionName="Plug-in - Send to GenericV4"/> <SendAssetToDestinationConfiguration> <Destinations> <!-- User --> <Destination name="Export Subclip MP4" locationPath="DELIVER-SUBCLIP-LONDON" /> <Destination name="Export Subclip MXF" locationPath="DELIVER-SUBCLIP-NEWYORK" /> </Destinations> </SendAssetToDestinationConfiguration> <LibraryFiles> <File name="kendo.2019.1.220.min" path="Plugins/Scripts" type="js"/> <File name="PEArgumentHelpers" path="Plugins/Scripts" type="js"/> <File name="PluginUtilities" path="Plugins/Scripts" type="js"/> <File name="CuratorEnums" path="Plugins/Scripts" type="js"/> </LibraryFiles> <PluginUIConfiguration filename="DeliverClipmark" folder="SendToDestination" icon="SendToDestination.svg" namespace="SendToDestination" contextMenuTitle="Deliver Subclip" tooltip="Deliver Subclip" alwaysEnabled="true" hideOkCancel="false" hideHeader="false"/> </configuration>
MediaStores
This section describes the MediaStore configuration.
AME Subclip
Key
|
Description
|
Example
|
FileExtension |
See Output Naming below. The correct value depends on the type of subclip generated by the transcoder. |
.mxf |
FileNamePattern |
See Output Naming below. |
{asset.name}-{asset.asset_id} |
FolderPattern |
See Output Naming below. |
{System.DateTime} |
OutputProfileSubClip |
The name of the Device Director profile to use. Note this is different to the standard profile as this is for a subclip. This profile contains the EPR file that is used for this transcode. |
TRANSCODE-AME |
Path |
The location to place the output - see Output Naming below. This is a storage location for cached delivery or the destination for direct delivery. |
\\server\path\to\export\location\ |
PathMetadataKey |
The metadata name where the path will be stored. This should be blank if this is direct delivery. |
SubclipPath |
PurgeWorkflow |
The name of the workflow which deletes the files from disk once they are no longer used. This is not required for direct delivery. |
Spawn - Delete File From Spinning Disc |
Source |
The source from which to make the subclip - usually HI-RES. This must be a local filesystem storage store. |
HI-RES |
StoreType |
The store type. This is either Vault for cached delivery or blank for direct delivery. |
Vault |
Workflow |
The name of the workflow to use - always Spawn - Transcode XCodeAME |
Spawn - Transcode XCodeAME |
MUD-Subclip
Key
|
Description
|
Example
|
DeviceGroup |
The device group to use. |
|
FileExtension |
See Output Naming below. |
.mxf |
FileNamePattern |
See Output Naming below. |
{asset.name} |
FolderPattern |
See Output Naming below. |
{user.name} |
IndexMediaStore |
The name of the MedaiStore used to generate indexes if the asset does not yet have one. |
INDEX |
MUD-TargetProfile |
The name of the Device Director profile which will be used for partial file restoration. This has to be a Xfer MUD type profile with the job type MUD. |
Xfer MUD |
OutputProfileSubClip |
The name of the Device Director profile which will be used to read the index file |
Read Index |
Path |
The location to place the output - see Output Naming below. This is a storage location for cached delivery or the destination for direct delivery. |
\\server\path\to\export\location\ |
PathMetadataKey |
The metadata name where the path will be stored. This should be blank if this is direct delivery. |
SubclipPath |
PurgeWorkflow |
The name of the workflow which deletes the files from disk once they are no longer used. This is not required for direct delivery. |
Spawn - Delete File From Spinning Disc |
Source |
The source from which to make the subclip - usually HI-RES. This must be a local filesystem storage store. |
HI-RES |
StoreType |
The store type. This is either Vault for cached delivery or blank for direct delivery. |
Vault |
Workflow |
The name of the workflow to use - always Spawn - MUD Partial File Retrieval |
Spawn - MUD Partial File Retrieval |
Cached delivery
Key
|
Description
|
Example
|
FileExtension |
See Output Naming below. The correct value depends on the type of subclip generated by the SourceSubclip MediaStore |
.mxf |
FileNamePattern |
See Output Naming below. |
{asset.name} |
FolderPattern |
See Output Naming below. |
{user.name} |
OutputProfileSubClip |
The name of the Device Director profile to use. Note this is different to the standard profile as this is for a subclip. This would normally be Xfer Copy - we are managing the cached delivery source. |
Xfer Copy |
Path |
The location to place the output - see Output Naming below. |
\\server\path\to\export\location\ |
SourceSubclip |
The name of the source to use when transferring a subclip to this store. Note this is a slightly different name to the normal Source store. SENDSUBCLIPMXF is a default configured store to make an AME subclip, but you can use a store as configured in the above sections for cached delivery. |
SENDSUBCLIPMXF |
StoreType |
The store type. This must be left blank for this workflow. |
|
Workflow |
The name of the workflow to use - in this case we are simply transferring the store. |
Spawn - Xfer TransferV5 |
This store can be used as the target of both a subclip and an asset; if the Source key is added as (eg) HI-RES then a hi-res will be delivered if this is the target of a send to for a parent asset.
Note: For this delivery, the subclip generates a metadata field which it uses to store the subclip file, then delivers it.
Other Configuration
Purges
If we are using Cached delivery, we should purge the subclips periodically.
Device Director
For AME subclips, an additional profile is required which contains a path to a suitable EPR file.
For MUD subclips, the profiles are set up by default.
Things to know
- MUD-based clips are not clipped to the subclip frames precisely - they are taken from the source directly with no transcoding. This means that they must include a whole GOP (Group of Pictures) which is usually between 0-15 extra frames on either end of the clip. However, these clips include only unmodified frames from the original asset.