Introduction
Flex Package Solutions delivers a set of pre-configured packaged workflows that allow quick deployment and reduce time to value. The solution introduces a fully configured Dalet Flex environment that includes all the prerequisite configuration objects required to support the delivered workflows. Updating and modifying the environment is simple, quick and easy using a set of bundles that contain all objects and their dependencies.
This article explains the high level design solution and workflows delivered as part of the Flex Package Solution. For each workflow, the article provides a description, and highlights some relevant dependencies and restrictions.
Delivered Prerequisites
The Package Solution delivers the infrastructure required to support the workflows including:
- Resources
- Object Types
- Metadata – metadata definitions, metadata fields, tags
- Workspaces
- Account Properties
- Roles and Groups
- Actions - the actions delivered as part of the Package Solution are listed in the relevant workflow
- Wizards – the wizards delivered as part of the Package Solution are listed in the relevant workflow
Storage/Folder Resources
The Dalet Flex Solution is hosted on AWS.
The following Storage Resources and Folder Resources are created to support the delivered workflows:
- flex.proxy-storage + flex.proxy-folder
- assets-storage + flex.assets-folder
- flex.review.cdn
- flex.keyframes-storage + flex.keyframes-folder
- flex.waveforms-folder + flex.waveforms-storage
- flex.account-folder + flex.account-storage
- flex.cut-storage + flex.cut-folder
Resources
The following Base Resources are created to support multiple actions and workflows delivered in the Dalet Flex Package Solution.
- System REST Transcode
- flex.stream-processor
- flex.file-processor
Actions
The following Base Actions are created to support extract workflows delivered in the Dalet Flex Package Solution.
- System REST Extract Keyframe
- System REST Extract Thumbnail
Object Types
- Default Variants are:
- Adobe Project – Project Asset
- Audio - Media Asset
- Document - Text Asset
- Edit - Edit Asset
- File – Text Asset
- Image - Image Asset
- Live - Media Asset
- Live - Segmented Asset
- PDF – Text Asset
- Subtitle - Subtitle asset
- Video - Media Asset
Metadata – metadata definitions, metadata fields, tags
The following Metadata Definitions are created to support the delivered workflows. This indicates which workflows/wizards the metadata definitions are used in.
- flex.asset.metadata – standard metadata for assets in Dalet Flex
- flex.inbox.schema – metadata definition used for the Ingest Flex Move WF
- flex.wizard.conform-edit – wizard for launching the Conform Dalet Cut EDL WF
- flex.adobe.import.render.form – metadata definition used for Importing rendered media asset from Adobe Premiere via XTEND
- flex.wizard.e2c - wizard for launching Export to Cloud WF
- flex.wizard.review – wizard for launching the Review workflow for images/audios/videos WF
- flex.restoreNonAdmin – wizard for users launching the Restore WF
- flex.wizard.conform.clip – wizard for launching the Conform Clip WF
- flex.archive – wizard for launching Archive on S3 storage WF
- flex.wizard.purge – wizard for launching Purge Aset WF
- flex.review.onhold – wizard for Continuing the review of an asset that has been set On Hold
- flex.publishToSocialMedia – wizard for Publish to Social WF
- flex.restore – wizard for administrators launching the Restore WF
- flex.wizard.amberfin – wizard for triggering the AmberFin WF
Workspaces
A single default workspace corresponding to the account name is deployed
Account, Roles and Groups
On deployment, the source environment contains:
- Account – flexdefault
- User – flexdefault
- Role – flexdefault Default Role
Delivered Workflows
Two types of workflows are delivered:
Ready to Use (RU) – No additional configuration required
Ready to Modify (RM) – Additional configuration is required, such as credentials
Ingest Flex Move RU (flex.ingest)
Ingest workflow for multimedia and file ingest from FlexMOVE. Supports single and batch imports.
Imports media/file and creates an asset in Dalet Flex, extracts the technical metadata from the file and launches the proxy generation workflow (if relevant). This workflow matches the file to an existing placeholder or creates a new asset.
Proxy generation workflow RU (flex.proxy)
Proxy generation workflow is a standalone workflow. It is triggered by the ingest workflow and by other workflows, such as Adobe Import Render, Integration with AmberFin, Import media file from hotfolder with sidecar XML/JSON etc.
Extracts waveform from audio and video files, extracts keyfames from video files, creates video/audio/image proxy assets.
Technical Details
These two workflows are delivered by the flex-solution-packages-ingest-cmbundle that creates these objects:
Action - flex.import.bootstrap, flex.extract-keyframe, flex.extract.technical.metadata, flex.launch.proxy, flex.create-proxy, flex.extract-audio-waveform, flex.import, flex.extract-image-technical-metadata, flex.check-asset-type, flex.create-image-proxy, flex.no-ops-script.
Resource - Default Inbox, flex.http-transfer, inbox-storage.
WorkflowDefinition - flex.proxy, flex.ingest
Ingest caption with wizard – RU (flex.import-caption)
Ingest workflow to associate subtitles/captions to existing media assets. Triggered using flex.import-caption wizard.
In the wizard, select a file to import and the subtitle language.
Imports caption file to Dalet Flex, extracts the subtitle technical metadata from the file. Determines the format of the caption file and transcodes to VTT for Preview in FlexMAM if required. Associates the caption asset to the parent asset.
Restrictions
Supports WebVTT, SRT, STL & TTML source files.
Technical Details
Workflow delivered by the flex-solution-packages-import-caption-cmbundle that creates these objects:
Action - flex.extract-subtitle-tech-metadata, flex.update-vtt-name, flex.ingest-caption-decision-require-conversion-to-vtt, flex.non-asset-purge, flex.import-caption-bootstrap, flex.encode-subtitle, flex.associate-vtt-parent-asset, flex.import-source-subtitle-file.
MetadataDefinition - flex.wizard-import-caption.
Wizard - flex.import-caption.
WorkflowDefinition - flex.import-caption
Ingest growing file HLS or MPEGDASH – RU (flex.live-ingest)
Ingest workflow for growing files of format HLS and MPEG-DASH compatible transport streams. Files of these formats can be previewed directly in Dalet Flex.
Imports media detected in a hotfolder and creates an asset in Dalet Flex, extracts the technical metadata from the file This workflow matches the file to an existing placeholder or creates a new asset. The assets are associated to a high-res asset.
Technical Details
Workflow delivered by the flex-solution-packages-live-ingest-cmbundle that creates these objects:
Action - flex.live.extract-technical-metadata, flex.live-asset-import.
WorkflowDefinition - flex.live-ingest
Resource - flex.live.ingest-storage, flex.hotfolder-live-ingest, flex.live.ingest-folder
Ingest growing file MXF + Proxy MPEGDASH (Brio/InStream) – RU (flex.instream-brio-live-ingest)
Ingest workflow for growing files of format MXF that are delivered with a sidecar MPEG-DASH file that can be used directly for preview. The files are recorded using Brio/InStream.
Imports growing media detected in a hotfolder , extracts the technical metadata from the file and creates the asset. This workflow matches the file to an existing placeholder or creates a new asset.
Technical Details
Workflow delivered by the flex-solution-packages-brio-instream-cmbundle that creates these objects:
Action - flex.bootstrap-import-brio-Instream, flex.brio-asset-import, Preload Technical Metadata - variant (Live), flex.extract-technical-metadata-brio.
WorkflowDefinition - flex.instream-brio-live-ingest.
Resource - Brio Storage Resource, Brio HotFolder, Brio Folder Resource
Ingest growing file MXF + Proxy MPEGDASH (Non-Brio ingest) – RU (flex-solution-packages-open-instream-cmbundle )
Ingest workflow for growing files of format MXF that are delivered with a sidecar MPEG-DASH file that can be used directly for preview. The files are recorded using solutions OTHER than Brio/Instream, for example Lightspeed Live Capture (Telestream Vantage).
Imports growing media detected in a hotfolder, extracts the technical metadata from the file and creates the asset. This workflow matches the file to an existing placeholder or creates a new asset.
Technical Details
Workflow delivered by the flex-solution-packages-open-instream-cmbundle that creates these objects:
Action – Open Stream - Prepare Import from Live Recording, Open Stream - Extract Technical Metadata, Open Stream - Preload Technical Metadata, Open Stream - Asset Import, Open Stream - Post-Extract Updates.
WorkflowDefinition - Open Stream - Import Workflow.
Resource - Open Stream - FSP Resource, Open Stream - Hot Folder, flex.live.ingest-storage-openstream, flex.live.ingest-folder-openstream
Import media file from hotfolder with sidecar XML/JSON RU (flex.ingest-hotfolder-sidecar)
Ingest workflow for media files that have an XML/JSON sidecar associated with them.
Imports files detected in a hotfolder. If the file is an xml/json, it looks for an existing matching placeholder and updates the metadata, otherwise it creates a new asset. If the file is a media file, the workflow looks for an existing matching placeholder and imports the media to it, otherwise it creates a new asset. Once the media file is imported, the workflow sets an external ID on the asset if relevant and launches the generate proxy workflow, including extracting waveforms/keyframes and creates a proxy asset.
Technical Details
Workflow delivered by the flex-solution-packages-ingest-hotfolder-cmbundle that creates these objects:
Action - flex.ingest-hs-bootstrap, flex.ingest-hs-decision, flex.ingest-hs-import-action, flex.ingest-hs-external-id, flex.ingest-hs-launch-proxy.
WorkflowDefinition - flex.ingest-hotfolder-sidecar.
Resource - flex.sidecar-storage, flex.hotfolder-sidecar, flex.sidecar-folder
Cortex transcript and caption – RU (flex.analyse-mediacortex)
If Media Cortex is integrated with Dalet Flex, this workflow uses AI to analyze the source media to automatically generate captions/subtitles and perform video analysis to add metadata tags that enrich assets. The analysis is performed on a proxy version of the media. Triggered using flex.analyse-mediacortex wizard.
Detects whether a proxy version that can be used for Media Cortex analysis exists, if it does, Media Cortex performs the analysis. If it does not exist, a proxy version is generated.
In the wizard, select a types of analysis All, Speech to Text or Video Indexer and the language for the analysis. Based on what you set in the flex.analyse-mediacortex wizard, the workflow:
- Automatically converts spoken audio in video or audio files into text and generates searchable transcripts, subtitles, or closed captions for content for Dalet CUT and FlexMAM.
- Identifies and tags visual elements
- Detects and identifies faces
- Performs scene analysis
- Performs feeling detection
- Performs Optical Character Recognition (OCR) to extract and digitize text that appears on-screen
Prerequisite
Credentials for working with Media Cortex must be supplied and Media Cortex must be integrated with the system.
Technical Details
Workflow delivered by the flex-solution-packages-analyse-mediacortex-cmbundle that creates these objects:
Action - flex.extract-subtitle-tech-metadata, flex.update-vtt-name, flex.analyse-mediacortex-stt, flex.analysis-mediacortex-vi, flex.analyse-mediacortex-return-job-id, flex.create-ai-temp-mp4-proxy, flex.analyse-mediacortex-bootstrap, flex.encode-subtitle, flex.associate-vtt-parent-asset, flex.analyse-mediacortex-subtitle-import.
Profile - flex.proxy-HD-MP4.
Wizard - flex.analyse-mediacortex
WorkflowDefinition - flex.analyse-mediacortex
Clipping video/audio, as new asset or child asset – RU (flex.conform-clip)
Workflow to render a clip to create a new asset, set the new asset as a child of the parent asset and launch the proxy generation workflow.
This workflow is used for video and audio clips and is triggered using the flex.conform.clip wizard on a clip asset. In the wizard, set the name for the new asset.
The workflow extracts the TimeCode information from the clip and creates a new asset with the name supplied in the wizard. After creating the new asset in Dalet Flex the proxy generation workflow is triggered. See above for details of this workflow.
Technical Details
Workflow delivered by the flex-solution-packages-conform-clip-cmbundle that creates these objects:
Action - flex.prepare.clip.to.media, flex.conformClip, flex.update.clip
Profile - flex.clip-profile
WorkflowDefinition - flex.conform-clip
Watermarking video/images based on profiles – RU (flex.watermark)
Workflow to add a watermark to video/image assets.
This workflow is used to add a watermark using a preconfigured transcode profile that you select in the flex.watermark wizard. Before performing the transcode the workflow checks that the transcode profile exists and that there is no asset with the same reference name attached to the same parent. After checking this the asset is transcoded and a new asset created and linked as a child of the parent asset.
Technical Details
Workflow delivered by the flex-solution-packages-watermark-cmbundle that creates these objects:
Action - flex.transcode, flex.boostrap.watermark
MetadataDefinition - flex.wizard.watermark
Profile - flex.watermark-dalet.
Wizard - flex.watermark
WorkflowDefinition - flex.watermark
Render cut edit via wizard (FlexCUT) – RU (flex.conform-edit)
Workflow to render a Flex Edit project created in Flex Cut to create a new asset, set the new asset as a child of the parent asset and launch the proxy generation workflow.
This workflow is used for rendering video and audio sequences created in Flex Cut and is triggered using the flex.conformEdit wizard on a clip asset. In the wizard, select the Transcode Profile and set the name for the new asset. After performing a transcode the new asset is imported to Dalet Flex and the proxy generation workflow is triggered. See above for details of this workflow.
Technical Details
Workflow delivered by the flex-solution-packages-conform-edit-cmbundle that creates these objects:
Action - flex.conform-edit-bootstrap, flex.edit-conform, flex.conform-edit-restore-conform-filename, flex.import-flexcut-edit-render.
Profile - master.conform-edit-profile.
WorkflowDefinition - flex.conform-edit
Archive on cloud object storage – RU (flex.archive)
Workflow to send media to one of two Tiers of cloud archive. The workflow is triggered using the flex.archive wizard.
In the wizard, select which Archive Tier the media is sent to: Standard or Deep. If you do not select either of these tiers, the media is sent to Cold archive. Once the media has been sent to archive, the metadata on the asset is updated to indicate that the Media Status is archived and which Archive Tier it has been sent to.
Technical Details
Workflow delivered by the flex-solution-packages-archive-cmbundle that creates these objects:
Action - flex.bootstrap.archive, flex.cloudArchive.archive, flex.updateAssetMetadata.archive
WorkflowDefinition - flex.archive
Restore - RU
Workflow to restore media that has been sent to Archive on AWS. The workflow is triggered by the flex.restore wizard.
In the wizard select the Restore Type: Expedited or Standard. If you do not select either of these methods Standard is used. You must also set how long the file is restored for, the default value is 7 days. Once the Restore time period has passed, the media is automatically removed from the online storage.
Technical Details
Workflow delivered by the flex-solution-packages-restore-cmbundle that creates these objects:
Action - flex.setRestoreAssetMetadata.restore, flex.restore.restore, flex.bootstrap.restore.
WorkflowDefinition - flex.restore
Review workflow for images/audios/videos – RU (flex.review/flex review.sub)
Workflow to review video, audio and image asset using FlexREVIEW to set a review status of Approved, Rejected, OnHold. The workflow is triggered using the flex.review wizard.
In the wizard you must select the User Group the review is assigned to and the Target Date for the completion of the review. You can also set the Priority of the review and add some instructions for the reviewer.
On submitting the information in the wizard, the flex.review workflow is launched and the bootstrap script checks whether the asset is already being reviewed. If the asset is already being reviewed, the workflow fails and completes. If the asset is not being reviewed, a sub-workflow is launched. the flex.review.sub workflow is launched. The sub-workflow checks whether the asset is a media asset (video/audio) or an image asset and starts the review session. After receiving an indication that the review is complete, the flex.review workflow continues using the result of the flex.review.sub workflow.
Technical Details
Workflow delivered by the flex-solution-packages-review-cmbundle that creates these objects:
Group - flex.reviewer
MessageTemplate - flex.review.template.approved, flex.review.template.notification, flex.review.template.rejected.
Action - flex.review.unpublish, flex.review.republish, flex.review.publish, flex.review.subBootstrap, flex.review.type, flex.share.signal, flex.review.session.result, master.stop-image-review, flex.start.review.image, flex.review.stop.video, flex.start.review.video, flex.review.stop.image, flex.review.bootstrap, flex.review.launch, flex.review.decisions, flex.review.message.approved, flex.review.message.rejected.
WorkflowDefinition - flex.review.sub
Import from Adobe Premiere via XTEND – RU (flex.adobe-import-render)
Workflow to import assets rendered in Adobe Premiere using FlexXtend.
The workflow is triggered when a user clicks the Render button in the Export tab in FlexXtend. The workflow retrieves the configuration from the FlexXtend panel settings and imports the file that was rendered by Adobe Premiere AME. After importing the new asset to Dalet Flex , the proxy generation workflow is triggered.
Restrictions
This workflow only supports importing the file to an S3 storage location.
Technical Details
Workflow delivered by the flex-solution-packages-adobe-import-render-cmbundle that creates these objects:
Action - flex.prepare.adobe-render, flex.import.xtend.render
WorkflowDefinition - flex.adobe-import-render
Import Adobe project and edit with genealogy metadata – RU
Import Adobe project does not require a workflow.
To import an Adobe project, a dedicated Import Project action is delivered with the Package Solution.
The ID of the action must be configured in the FlexXtend Settings panel in the Project check-in section. The action is launched when clicking the Save As > Export Project button in FlexXtend.
Adobe Premiere Media check in via XTEND – RU
Media check-in via Xtend does not require a workflow.
Media Check in via Xtend is triggered automatically whenever you select Render or click Export Project/Save Project in FlexXtend.
To support Media check-in, a dedicated Import Asset action is delivered with the Package Solution.
The ID of the action must be configured in the FlexXtend Settings panel in the Media check-in section. The action is launched when Select Render or click Export Project/Save Project in FlexXtend.
Purge Asset – RU (flex.purge)
Workflow to manually purge assets/files from the system. This workflow is triggered by the flex.purge wizard and purge is performed based on these options displayed in the wizard.
- Purge file and metadata - Purges the asset and all its children assets
- Purge file only (keep metadata) - Purges the file on the disk/bucket only
- Purge asset only - Purge the asset (without its children)
Restrictions
The wizard is only displayed for assets which have not been published or for edit asset objects. This workflow can be run on 1 or more assets using Bulk selection.
Technical Details
Workflow delivered by the flex-solution-packages-purge-cmbundle that creates these objects:
Action - flex.purge-decision, flex.purge.assetfile, flex.purge.fileonly, flex.purge.assetonly
WorkflowDefinition - flex.purge
Export to cloud storage – RU (flex.export-cloud)
Workflow to manually export media to a VFS location on the cloud. This workflow is triggered by the flex.export wizard.
In the flex.export wizard, supply the information about the target VFS location. The workflow uses the information entered in the wizard and triggers an export action to export the media to the target location.
Technical Details
Workflow delivered by the flex-solution-packages-export-cloud-cmbundle that creates these objects:
Action - flex.e2c.bootstrap, flex.e2c.ressource-export
WorkflowDefinition - flex.export-cloud
Share assets – RU (flex.shareAsset)
Workflow to share assets with external third party/other users so they can preview or download a specific asset. The workflow is triggered by the flex.shareAsset wizard that is available for media (video/audio), image and text assets.
In the wizard add the email of the recipient that the asset is to be shared with. The workflow creates a presigned URL that points to the file on the storage and sends it to the mail of the recipient with a link to download the asset or preview it through the presigned link.
Technical Details
Workflow delivered by the flex-solution-packages-share-asset-cmbundle that creates these objects:
Action - flex.share.message.presignedURL, flex.share.presignedURL
WorkflowDefinition - flex.shareAsset
MessageTemplate - flex.share.template.notification
MetadataDefinition - flex.wizard.share-asset
Wizard - flex.shareAsset
Publish to Social – RM (flex.publish-socialmedia)
Workflow to share assets to social media platforms connected to the Dalet Flex account. The workflow is triggered by the flex.publish-social media wizard that is displayed for media (video/audio) and image assets.
Assets are published to social media via Ayrshare. Once the workflow is deployed, the credentials for connecting the account to Ayrshare must be added to Dalet Flex.
In the wizard, select the social media platform to publish the asset to: Facebook, Instagram, Tiktok, Youtube, Twitter. Add the text to the Post, Title and Description fields (optional). The workflow begins by evaluating :
Has the asset been published via Ayrshare - if it has been published the workflow ends
Is the asset ready to published/ is it publishable – if not, the workflow ends
Is the asset is in a publishable format – if it is in a publishable format, the workflow continues and publishes the asset and updates the metadata in Dalet Flex with the link to the asset. If it is not in a publishable format, the asset is transcoded to create a child asset of the correct format for the target platform and the workflow continues and publishes the asset and updates the metadata in Dalet Flex with the link to the asset.
NOTE: When publishing to TikTok, the publication is not immediate and the workflow waits to check if the publication has been successful.
Technical Details
Workflow delivered by the flex-solution-packages-publish-socialmedia-cmbundle that creates these objects:
Action - flex.publish.social.boostrap, flex.transcode.socialMedia, flex.message.publish.ayrshare, flex.publish.setMetadata profile - Social Media (720p, 25 fps, H.264, 10Mbps, stereo AAC 128)
WorkflowDefinition - flex.publish-socialmedia
Required Workflow Modifications - Ayrshare is used as middleware to publish to social media platforms, you MUST set the "ayrshare-key" as a system property.
Integration with AmberFin – RM* (flex.amberfin)
Workflow to transcode media using Dalet AmberFin as the transcode engine to harness more extensive transcode capabilities. This workflow is triggered by the flex.amberfin wizard on clips and video assets. The workflow can also be started on a selection in the Player or from another workflow.
In the wizard, select the Transcode Profile, to be used to transcode the asset: H264, H264 480p, ProRes Proxy SDR. These profiles are created in Dalet AmberFin and referenced in Dalet Flex. If no profile is supplied because the workflow was started by another workflow, the default H264 profile is used. The workflow begins with a script that creates a workflow variable from the information supplied by the wizard and converts TimeCode information to a format that can be sent to AmberFin. The workflow determines whether the asset being used is a full media or a clip.
Source asset is a full media – the transcoded media is imported as a child on the parent asset with Asset Origin=Transcode and referenceName=Transcode Profile used
Source asset is a clip – transcode is performed and a new asset is created and imported into Dalet Flex. The technical metadata is then extracted from the new asset and the Proxy generation workflow is launched.
Restrictions
The source media must be Online in the storage (not Archived/Archived and Restored).
Technical Details
Workflow delivered by the flex-solution-packages-amberfin-cmbundle that creates these objects:
Action - flex.extract.technical.metadata, flex.no-ops-script, flex.extract-audio-waveform, flex.extract-keyframe, flex.check-asset-type, flex.create-proxy, flex.launch.proxy, flex.create-image-proxy, flex.extract-image-technical-metadata, flex.checkIsClip.integrationWithAmberfin, flex.transcode.amberfin.import, flex.bootstrap.amberfin.set-variables, flex.rename-asset, flex.bootstrap.amberfin
MetadataDefinition - flex.wizard.amberfin resource - master.amberfin.ovh.global
WorkflowDefinition - flex.proxy, flex.amberfin
Required Workflow Modifications - To work with the integrate with AmberFin workflow, you must create an Amberfin JEF Resource that connects to the AmberFin server, add the host URL and the port. The AmberFin transcode profiles and workflows used in the Dalet Flex workflows MUST be configured correctly on the AmberFin platform.
Comments
0 comments
Please sign in to leave a comment.