Ooyala Flex Media Platform 7.0.0 Release Notes 2018-04-12

Ooyala Flex 7.0.0 Release Notes 2018-04-12

Purpose

Ooyala Flex 7.0.0 is a feature release. We have made the following changes:

(Please see the “What’s New” section for more details)

  • MAM:
    • Added the ability to run wizards against collections directly from the “Memberships” sub-tab.
  • Metadata Designer: Ability to re-order options.
  • Segment Proxy Plugin: Added the ability to assign language labels to audio tracks.
  • Hot Folders: Added a new source resource expression.
  • Segmented Asset Purge Action: We have made some changes related to the purging of segmented assets.
  • Ooyala Flex Publish: Support for publishing, unpublishing, and republishing collections. This includes:
    • Two new endpoints to retrieve collections.
    • Three new plugins: Publish Collections Action, Unpublish Collections Action, and Re-publish Collections Action.
  • Job Execution Framework:
    • Plugin Scope: We have added the ability to manage plugin scope visibility in Ooyala Flex Enterprise for available JEF plugins.
    • Job Async Executor: We have added the ability to run long running or multi-step asynchronous tasks.
    • Addition of a new resource which creates and updates resource plugins and configuration.
  • Analyse Media Plugin:
    • Result JSON In Context: We have removed the Result JSON In Context configuration field.
    • Auto Subtitle: Introduced auto subtitle generation. We have added a new complex called “Subtitle Generation” that enables auto subtitle generation in MAM.
    • Force Re-index: Added a “Force Re-index” configuration field to the configuration for the Analyse Media plugin.
  • Demux Action Plugin: Added support for video and audio codecs.

What’s New

Services: Updated the Stream Processor Service

We have updated the Stream Processor service to enable the transcoding of HLS files.

Auto Retry Checkbox for Action Edit Page

You can now select and deselect the “Auto Retry” checkbox while editing an existing action. Previously, the “Auto Retry” checkbox could only be selected during the creation of a new action.

MAM

  • Running Wizards Against Assets in MAM: We have added the ability to run a wizard against an entire collection of assets, or against assets in a particular workspace within a collection. In order to run a wizard against a collection, navigate to the Collection Summary panel.

  • Segmented Asset Live Icon: When you click on the “Live” icon, located on a segmented asset tile in MAM, you are automatically taken to the playhead (live point) in the live asset.

  • Groups: The suggestions listing for groups now shows the type (variant) and group asset ID, in the drop-down to help users correctly identify assets.
  • Memberships: You can see if an asset is a member of a collection in MAM, by navigating to the Collections Summary panel and clicking the Memberships sub-tab.

You can also remove an asset from a collection or group directly from the Memberships sub-tab.

Hot Folders: New Source Resource Expression in Import Actions for Growing Files We have changed the expression that is used for source resources in import actions. We have changed it from ${resourceId} to ${variables.resourceId}.

Reviewer

  • Search Box Filter: The Reviewer listing page has been updated to display a list with filters. When you enter a search term in the Reviewer search box, the list of reviews filters down to show results that match the search criteria you have entered.

Metadata Designer

Ability to Re-order Options: We have added the ability to re-order single-option and multi-option fields on the metadata definition edit page.

Ooyala Flex Publish

We have added the ability to manage collections in Publish.

We have added two new endpoints:

  • Retrieve an individual collection: http://<publish-url>/public/api/collections/{collectionId}
  • Retrieve all collections in an account: http://<publish-url>/public/api/collections

We have also added three new plugins:

  • Publish Collections Action: This plugin enables you to publish a collection. This plugin falls under the “Publish” category.
  • Unpublish Collections Action: This plugin enables you to unpublish a collection that you have previously published. This plugin falls under the “Unpublish” category.
  • Republish Collections Action: This plugin enables you to republish a collection that you have unpublished. This plugin falls under the “Republish” category.

Notes:

  • In order to use these plugins you must have Publish configured.
  • These are JEF plugins. In order to use these plugins, you must have the Job Execution Framework (JEF) enabled.
  • We have changed the way in which assets are deleted. From 7.0.0 onwards, when you delete an asset from Ooyala Flex, the asset is automatically unpublished. Please take this into consideration when deleting assets that have been published.

Segment Proxy Plugin: Language Labels

We have added an “Audio Stream Names” field to the configuration for the “Segment Proxy” plugin. The Audio Stream Names field enables you to apply language labels to audio tracks listed in an .m3u8 file.

Example: you might have a list of tracks in an .m3u8 file that do not have a language assigned to them and are therefore treated as “unrecognised”. You can use this field to add a label to each track so that you know what language the track is in.

Notes:

  • You must enter each language label separated by a comma. For example: eng, fr, spa, swe.
  • Currently only ASCII characters are supported in audio stream names.

Subtitles: Timed Text Markup Language Support

We have extended subtitles to include support for Timed Text Markup Language (TTML).

This allows styling and positional information to be rendered and displayed correctly when viewing subtitles in the player in both MAM and Reviewer.

To support this new format we have added a new “Read Xml Header” field to the configuration for the “Asset Import Action” plugin. If this field is set to “true”, the system looks for a header in the TTML file. If it starts with a tag, it will be imported as a subtitle asset.

Note:

  • The Read xml header” field is only intended for use with a TTML file that has an .xml extension. However, if you use .ttml/.dfxp extensions, Ooyala Flex will treat this as a subtitle asset without the need to enter a value in the “Read xml header” field.
  • If tags are not present in the file, it is automatically treated as a text asset.
  • TTML support is only applicable to well-formed, successfully validated TTML files.

Segmented Asset: Purge Action Purges all files in a Segmented Asset

From 7.0.0 onwards, whenever you run a purge action against a segmented asset (.m3u8) the whole folder structure will be purged including the folder in which the .m3u8 file exists. All the files and directories parallel to the master manifest file, including the master manifest will be purged.

Notes:

  • Ooyala Flex does not track any linked or referenced files.
  • If you do not want the .m3u8 files to be purged, It is important to place them in a separate folder. If it is placed in same directory along with the other media files ( such as.MP4, MOV) they be purged automatically.

Segmented Asset Hot Folders: New Workflow Variable

Segmented assets are delivered as part of a package and in most cases the master manifest files have the same name (example: master.m3u8). Ooyala Flex only tracks master manifest files, and so, all the segmented assets have same name (example: master.m3u8) which created confusion.

In order to solve this, we have added a new workflow variable:

${variables.directoryName}

This new variable gives you the ability to rename the manifest file using an expression in the configuration for the import action. When a workflow is launched by a new hot folder, a directory name can be set. You should enter this variable in the Asset Title field in the Import plugin configuration.

Analyse Media Plugin

  • Removal of the Result JSON in Context Field: We have removed the “Result JSON in Context” field from the Analyse Media plugin.
  • Auto Subtitle Generation: We have introduced auto subtitle generation. We have added a new complex called “Subtitle Generation”. This complex houses the fields that make it possible to auto generate subtitles for an asset in MAM. The Microsoft Video Indexer analyses the audio track in an asset and automatically creates a subtitle file.
  • Force Re-index: We have added a “Force Re-index” configuration field to the configuration for the Analyse Media plugin. If this field is set to “true”, you have already run the action and the asset asset has been uploaded to Microsoft, it will cause the asset to be re-uploaded to Microsoft for analysis. However, if this field is set to “false” and the asset has already been uploaded to Microsoft, and you run the action again, the asset will not be re-uploaded.

Job Execution Framework

We have made several changes to JEF in 7.0.0. These are as follows:

  • Plugin Scope Visibility: We have added the ability to manage plugin scope visibility in Ooyala Flex Enterprise for available JEF plugins.
  • Job Async Executor: We have added the ability to run long running or multi-step asynchronous tasks.
  • We have added a new resource that creates and updates resource plugins and configuration. Changes are dynamically updated, without the need to restart Ooyala Flex Enterprise.

Demux: Audio and Video Codec Fields

We have added “Video Codec” and “Audio Codec” configuration fields to the Demux plugin. These enable you to specify a video and audio codec respectively. The following codecs are supported for use with the Demux plugin:

  • Video Codecs: “h264”, “h265”, “vp8”, “vp9”, “mpeg2” and “copy”.
  • Audio Codecs: “mp3”, “aac”, “aaclc”, “vorbis”, “ac3”, “wav” and “copy”.

REST API: Endpoint to Approve a Review

We have added an endpoint to the assets resource, that enables you to approve an asset review session.

This is as follows:

Table 1.

Resource Endpoint Method
assets: /assets/{assetId}/reviews/{reviewId}/actions post

Example:

{
"action":"APPROVE"
}

The values that can be entered for this field are as follows:

  • APPROVE
  • DOWNLOADED
  • WATCHED

SDK: Support for Tag Variables

We have added support for tag variables in the SDK. This enables you to add new tag values to a metadata instance (by typing a name of a tag that is not currently in a tag collection - it will add it to the collection).

  • To obtain the tag: metadata.getField("tag-field").getValue() // Returns ["tag1", "tag2"]
  • To set the tag: metadata.getField("tag-field").setValue(["tag3", "tag4"])

Known Issues

Video Indexer Service: “Out of Memory” error occurs when uploading large files

It was found that when the file size was greater than 100MB, an “out of space” error would occur.

Resolution: This error has now been fixed.

Note: The upload will fail if the file is 1.5 GB or higher when the FILE option is chosen. However, if S3 is chosen the file will upload successfully.

Feature toggle to disable / enable Enterprise integration with Authentication service

There were issues related to the integration of Flex Enterprise with the Authentication service. To solve this, we have introduced a temporary feature toggle that disables or enables the integration.

We will introduce a permanent fix in future releases.

Note: The Enterprise integration with the Authentication service is disabled by default.

Issue with Playback of Proxy Content

Proxy content is not supported from S3 buckets, public or private. This will be rectified in future releases.

Metadata Merge Issue

Metadata merge does not work on assets with more than 5000 records.

Metadata Search Issue

Metadata search no longer works in Flex Console and REST API.

Arango: Object reference is not displayed if associated with any Asset

If any mio object is referenced under asset metadata, then it should be visible under the reference tab of that object. However, after Arango migration, it is no longer displayed.

Issues Fixed

HLS clipping of growing file does not consider earlier segments

While creating a clip from a growing HLS stream, clipping did not start from the first segment. Instead it was an offset of the current segment resulting in an incorrect clip.

Resolution: We have resolved the parameters in Stream Processor in order to resolve the bugs that were found in the previous release.

MAM: Proxy Error for Child Assets

Users found that if an asset had a child, and that child also had a child, then the proxy would not be present for the asset.

Resolution: This has now been fixed and the proxy is present for assets and their children in MAM.

Ooyala Flex live streams are stuck in loop

The Ooyala Flex player was stuck in a loop whilst playing the first segment of a live stream.

Resolution: This has now been fixed and the player is no longer stuck in a loop.

MAM: Child UDOs are not displaying in alphabetical order in the Asset Summary panel

User defined objects were not displaying in alphabetical order in the Asset Summary panel.

Resolution: This has now been fixed. Child UDOs in the UDO Summary panel are now displaying in alphabetical order.

Reviewer: Listing Filters

Users found that the filters on the listing page were not clear. We have made the following changes to the filter names so that users know what each filter does:

  • We have replaced the ‘Browse’ label with ‘Filters’.
  • We have changed the value defaults ‘All’ to ‘Any’ and ‘All’.
  • We have added ‘Type’ and ‘Status’ labels before the respective filter values.

Reviewer: Sorting functionality is not working on the landing page

The sorting functionality was not working correctly on the landing page in Reviewer.

Resolution: To solve this we have added sorting functionality to the Review Name column in the landing page.

Reviewer: Search is not working correctly on the review summary page

Users found that when they entered search criteria in the search box and pressed “Enter”, search results were not returned.

Resolution: This has now been fixed and the search is working correctly.

Hot Folders

The Hostname field would be set to “null” if a user configured a hot folder VFS location with a host name.

Resolution: While checking if the VFS location for the resource was valid, it was found that the VFS location object credentials were automatically overridden by the VFS location associated with the current VFS storage object, if both were of the same type.

To solve this we have implemented the following change: a check will be performed, and if the first VFS location is found to be valid, only then will it be overridden.

Upgrade Instructions

Notes:

  • We have updated the manner in which metadata is persisted. We have done this by migrating metadata persistence from MySQL to ArangoDB.
  • If ArangoDB is used to store metadata instances (via the metadataArangoUsage feature toggle), both the Ooyala Flex Enterprise API search end-point and Ooyala Flex Console will no longer return results if a metadata search is run.

Pre-Upgrade Checks

Metadata merges should not be in an “In Progress” or “Failed” state.

Pre-Upgrade Tasks (with all Flex apps and services stopped)

Delete the following RabbitMQ exchanges / queues:

  • flex.taxonomy.eventhandler.queue.1
  • flex.tag.eventhandler.queue.1, flex.tag.eventhandler.queue.2, flex.tag.eventhandler.queue.3
  • flex.job.create-proxy.segment-proxy.1-0-18, flex.job.create-proxy.segment-proxy.1-0-17

Execute the following query in MongoDB for flex-registry schema:

db.getCollection('actionDefinition').remove( { _id : "5a8b4b71-58be-4eb3-b741-93580a76ceaa" }, 1 )

Execute the following query in MongoDB to remove the Smoke and QA plugins from flex-registry schema (JEF):

db.actionDefinition.remove( { _id: { $in:["3ab237d4-0b19-4f01-8ded-396ee5444284", "23319bb1-0393-4086-8c64-3bc6fd472ccf", "085650e8-d66b-4970-8628-0fed120e7114", "465cbd15-e715-4dd5-8ec4-265186416f3d", "323a13f5-de73-4218-852d-b10d08c96b3f"] } } ) db.resourceDefinition.remove( { _id: { $in:["ab5bb353-daa1-4bc6-a93d-3fe2215691d7"] } } )

Post-Upgrade Tasks

Set the replication factor to 2 for all the Arango edge collections in flex-taxonomy and flex-thesaurus databases. For more information, please consult the official ArangoDB documentation.

Note: If ArangoDB is used to store metadata instances (via the metadataArangoUsage feature toggle), both the Ooyala Flex Enterprise API search end-point and Ooyala Flex Console will no longer return results if a metadata search is run.