VidiFlow Release Notes [VF RN]
The following items on the list encompass breaking changes, features, and fixes that are relevant for the major release.
Release 22.2.141
Breaking Changes
Location Awareness
For the new feature Location Awareness, a migration script has to be manually executed during an update to VidiFlow 22.2. For more details, please refer to VidiFlow Release Notes [VF RN] | Location-Awareness.1 .
Announcements for VidiFlow 22.3
The following topics are not related to the current VidiFlow version 22.2, but to future versions.
Discontinuation of Microsoft Internet Explorer 11 support
Internet Explorer 11 is no longer supported by Microsoft from June 2022 on. This also affects common frontend libraries like Angular, which do not support IE 11 in newer versions.
For these reasons, VidiFlow will no longer support Internet Explorer 11 as of Release 22.3.
Discontinuation of Service Fabric
Service Fabric used to be the standard environment for running VidiFlow. For various reasons, it has since been migrated to Kubernetes. In order to reduce the effort for the maintenance of several versions, it is currently planned to discontinue the support of Service Fabric as of VidiFlow Release 22.3.
Customers who are still using Service Fabric are invited to discuss the consequences and solutions with the product management.
Setup and Operations
Dependencies and component updates
The following central components were updated and will be shipped in the noted version, along with relevant product and service dependencies:
Dependencies with Products and Services | Version |
---|---|
VidiCore | 22.2-3 (server) 22.2 (agent) |
AuthService | 22.2.5 |
ConfigPortal | 22.2.31 |
Kubernetes | 1.21 - 1.23 |
Components | Version |
---|---|
MediaFramework (Windows) | 22.2.1 |
VideoEngine Images | 22.2.33 (transcoders4m) 22.2.34 (mediaframeworkcommandline) |
Angular | 12.0.3 |
BPMN.io | 8.6.1 |
RabbitMQ | 3.9.1-management |
RabbitMQ Operator | 1.8.2 |
Camunda | 7.16 |
Powershell | 7.22 |
OpenSearch | 1.2.4 |
OpenSearch dashboards | 1.2.0 |
Hangfire | 1.7.28 |
Migration from ElasticSearch to OpenSearch
VidiFlow now supports OpenSearch instead of ElasticSearch. OpenSearch (https://opensearch.org/ ) is a fork of ElasticSearch, but with a different license model.
This change impacts VidiFlow in the following way:
Search indices for workflow information and deletion monitor information now use OpenSearch.
Logfiles indices now use OpenSearch.
Kibana is replaced by OpenSearch Dashboards (https://opensearch.org/docs/latest/dashboards/index/ ).
Logfile collection by FluentD and Logstash now provides the data to OpenSearch indices.
A migration of the indices from ElasticSearch to OpenSearch has to be performed.
The Deployment of OpenSearch, OpenSearch Dashboards, etc. is no longer part of the VidiFlow deployment itself.
Features
New services, agents and tasks
VidiNet Cognitive Services
VidiFlow now supports the use VidiNet services, even if VidiFlow and VidiCore are running on-premise or in a non-VidiNet cloud environment. To support this, the desired services need to be assigned in the VidiNet dashboard, receiving some configuration data. This data can be used to create a new resource in ConfigPortal and can be used in the Workflow Designer as an input parameter for the tasks.
The following services are supported currently:
Task | Description |
---|---|
Execute Cognitive Speech to Text Recognition | Automatically convert speech to text |
Delete Tag From Shape
This new task allows for deleting a tag with the given name from the specified shape.
Trigger workflows based on quota notifications
VidiFlow now supports triggering workflows based on quota notifications. For configuration details, see Trigger workflows based on quota notifications [VF UG]
Create Sorted Sequence
This new task can be used to create a sequence for sequential recordings. It creates a sequence and attaches it to an item. The items will be sorted by a metadata value.
List of updated tasks
Trim MXF File Via Linux (Version 1.3)
Added a new parameter “AttachToItem” allowing to just create a trimmed file without attaching it to an item.
Added optional parameter “SourceStorage” to allow specifying the source storage to be used for accessing the files.
Transcode Proxy with TranscoderS4M via Linux (Version 1.3)
Added optional parameter “SourceStorage” to allow specifying the source storage to be used for accessing the files.
The new format of CommonIndex files (CIX/TIX) is now supported by the transcoder.
Copy File Via Agent (Version 1.1)
Added optional parameter “SourceStorage” to allow specifying the source storage to be used for accessing the files.
The method for storing shape updates has been changed from parallel to sequential, which improves performance in interaction with VidiCore.
Stitch Videos Via Linux (Version 1.1)
Added optional parameter “SourceStorage” to allow specifying the source storage to be used for accessing the files.
Normalize MXF File via Linux (Version 1.3)
Added optional parameter “SourceStorage” to allow specifying the source storage to be used for accessing the files.
Added optional parameter “TargetSubPath” to support sub-directories.
Adaptions to support third-party monitoring links
Many tasks were adapted to support monitoring links to be shown in the Workflow Monitor. For all these tasks, a new major version has been created including the generalized output parameter “Hyperlinks”, which is evaluated automatically by the Workflow Monitor. If one or more VidiCore jobs are called in the task execution, the links are shown in the Workflow Monitor details view. This may be delayed until the task finishes or fails or a boundary event is thrown.
The following tasks are affected:
Task name | Task version |
---|---|
Export Item | 2.0 |
Export Shape | 2.0 |
Import Metadata from SideCar Content | 2.0 |
Wait For Job State | 2.0 |
Create Image File From Poster | 2.0 |
Create Posters | 3.0 |
Control Vantage Workflow | 3.0 |
Transcode using Vantage | 4.0 |
Trim with Vantage | 3.0 |
Added header information to Generic REST Calls
The different tasks for Generic REST Calls have been extended by the possibility to pass HTTP header information. Those can be provided as JSON objects. Example:
{"x-request": "post", "x-help": "find the clue"}
The parameters “AcceptHeader” and “ContentHeader” were removed in the new task versions. The following table shows the new task versions:
Task name | Task version |
---|---|
Make HTTP DELETE call to an API endpoint | 2.0 |
Make HTTP GET api call to an API endpoint | 3.0 |
Make HTTP POST call to an API endpoint | 2.0 |
Make HTTP PUT call to an API endpoint | 2.0 |
Location Awareness
The new general feature of Location Awareness is introduced with VidiFlow and VidiCore 22.2. This allows specifying different locations for the deployment and in the case of VidiFlow for the task execution. As an example, a system could be primarily deployed to a cloud environment. If the customer has additional storages at an on-premise location containing a high amount of hires material, the transcoder could be deployed with some instances in the cloud and additional instances at the on-premise location.
The new task “Get Location from Storage” allows receiving the configured location for every storage. Tasks must explicitly support Location Awareness to benefit from the feature. Therefore, the following new task versions have been created providing the new input parameter “ExecutionLocation”:
Task name | Task version |
---|---|
Transcode Proxy with TranscoderS4M via Linux | 1.4 |
Transcode File with TranscoderS4M via Linux | 1.1 |
Transcode with TranscoderS4M via Linux | 1.4 |
A migration script is needed to manually proceed with the update to VidiFlow 22.2. For more details refer to the VidiFlow Setup Guide.
It is highly recommended to update all agents developed outside of the VidiFlow product team to the latest VidiFlow SDK.
Technically, the feature was implemented using additional message bus queues. This requires a migration to proceed with the update to VidiFlow 22.2.
Configurable thread timeout for tasks using the S4M transcoder
The generic use case definition of the TranscoderS4M has been extended to support a configurable thread synchronization timeout for all transcoder related tasks.
The affected tasks are:
Task name | Task version |
---|---|
Normalize MXF File via Linux | all versions |
Create MXF File from Binary File Via Linux | all versions |
Stitch Videos Via Linux | all versions |
Trim MXF File Via Linux | all versions |
Transcode File with TranscoderS4M via Linux | all versions |
Transcode with TranscoderS4M via Linux | all versions |
Transcode Proxy with TranscoderS4M via Linux | all versions |
List of new or adapted product workflows
CreateImageFromVideo
The workflow was adapted based on possible errors in the following way:
Update "Create Thumbnail with Transcoder" target shape tag to "__jpeg".
Move flow direction from "Create Thumbnail with Transcoder" target to the exclusive gateway, bypassing "Create Posters" activity.
Workflow Monitor
Renaming of field “Error Message” to Status Message”
Previously the field “Error Message” was introduced in Workflow Monitor and Designer. It allows to
It turned out that this field can be used more generally to create status messages inside the workflows that are shown in the Workflow Monitor. For that reason, the field was renamed in Workflow Monitor and Designer.
Workflows Designer
Renaming of field “Error Message” to Status Message”
Please refer to VidiFlow Release Notes [VF RN] | Renaming-of-field-“Error-Message”-to-Status-Message”
Rule Designer
VidiFlow Portal
VidiFlow Service name stored at PODs and link to agent logs
A VidiFlow service can implement one or more VidiFlow tasks, available to be used in the Workflow Designer. For each task, the name of the service implementing it can be seen in the VidiFlow portal in the view “Agent contracts”, column “Service Name”.
To find the corresponding POD in a Kubernetes cluster, it is now possible to directly search for the given name in Lens (PODs, “Search Pods”). This is made possible by adding the service name to each POD in an annotation called “VidiFlow.ServiceName“.
Additionally, the new action button “Open Agent Logs” can be used to directly open the logs of the agent in the OpenSearch Dashboard.
Remark: The filter to be applied in the OpenSearch Dashboard shows all log messages of all tasks and all their versions - not just the one shown in the row of the portal where the button was pressed (e.g. Add Delete Lock in the screenshot).
Performance, stabilization, and other improvements
Deployment for VidiCore parameter “skipIdenticalMetadataValues”
The previous VidiFlow version 21.4 introduced a setting for the VidiCore parameter “skipIdenticalMetadataValues” to true, instead of not setting it and keeping the default value). This setting is important for the VidiFlow feature of “Conditional workflows” (trigger workflows based on metadata changes) but can lead to issues in other products working with the VidiCore API.
For this reason, in VidiFlow 22.2 the setting is changed back to not set the parameter anymore. If the feature “Conditional workflows” should be used, it is highly recommended to set the parameter to true and test the overall system regarding metadata updates.
Existing systems will not be affected by the change, as the parameter is no longer set with the VidiFlow deployment.
Fixes
Item # | Item |
---|---|
201850 | WF-Monitor: Download logs does not download the Kubernetes logs |
201852 | WF-Monitor: Saved Query-Dialog don't seem to be modal |
202314 | WF-Monitor: Disable Button to navigate to sub-wf on loop of external services |
202313 | WF-Monitor: Saved queries do not support relatively saved time values |
203170 | WF-Monitor: Error in browser console when switch activity |
202325 | Set WatchfolderMediaIngest.bpmn TargetPlatformUri_21ipl09 as workflow variable. |
202271 | Extra variable in Watchfolder mediaingest and metadata ingest workflow |
201838 | Issues with file path on S3 for S4MTransoder |
202312 | Stitch Agent fails always in version 22.1.5. |
202835 | Platform.MediaAgents.Transcode trys to register mxf file when "Transcode: false" |
203096 | Platform.CommonIndexFile trys to register mxf file, what necessarily fails |
200171 | Vidispine agents not updating progress properly as 0.0 to 1.0, but int 0 to 100 |
200809 | ImageGrabbing is too slow |
201225 | Create Image from Video failed on "Transcode Item v3.0" step |
202907 | Trancoder Agent: Odd path for .cix-file |
202952 | MFT showing mandatory field error even when filled in subsequent dialog opening after 1st |
203013 | ManagePoster: wrong S3 path |
191540 | CPU and memory resources should have a limit set for every kubernetes container to prevent resource exhaustion. |
202928 | Portal: Display usage information for tasks, rules and workflows |
203485 | Camunda-Proxy: Liveness probe wrong settings |
202689 | Use new CommonIndex format (.tix- and .cix-files) in all tasks (e.g. TranscoderS4M) |
198307 | Parallel Startup of RabbitMQ Pods |
203375 | Platform.MediaAgents.TrimMxf provides wrong s3 uri |
204994 | VidiCore PostTranscode wrong query parameter name |
205247 | Find Metadata in Item Sequence Agent Fails |