Integrating Cantemo iconik with Brightcove OVP

Published on 24 July 2019 Enterprise IT, Media, Entertainment & Creative

Cantemo Iconik is a hybrid cloud media management solution that offers review and approval, metadata, Adobe Creative Cloud integration, including Adobe Premiere Pro and support for cloud and on-prem storage. iconik offers a full API set and webhooks, making it simple to build integrations.

Brightcove offers an online video platform (OVP) with an HTML5 player, SSI, OTT and Analytics. The Brightcove platform offers a feature-rich set of APIs for getting your content into their service.

This blog outlines how simple it is to integrate the Cantemo iconik platform with Brightcove’s OVP.

A typical use case would be to use Iconik for the content preparation and approval processes, with approved content passed to Brightcove for web publication and monetisation.

How we did it

By using the combination of iconik’s webhooks, AWS Lambda and Brightcove’s API we can ingest iconik assets into Brightcove and have Brightcove metadata returned to the original iconik asset.

This allows Iconik users to publish content directly to Brightcove and then have a link to the content in Brightcove added to the Iconik asset's metadata.

To achieve this, we need to create the following:

  • An AWS Lambda is connected to an API gateway.
  • A webhook in Iconik which points at our Lambda function.

Setting up the AWS Lambda

The first part of the integration is to create a Lambda function which will handle data being sent via an HTTP POST from the Iconik webhook we will create later.

The Lambda is set up to execute a custom Python script which consumes the iconik and Brightcove APIs to fetch the relevant data from the POST request and create a video asset in Brightcove with the relevant source URI from iconik. The script finally publishes Brightcove information back to Iconik so the user can reference the Brightcove video asset.

Here you also create an API gateway and specify any logging you require.

Setting up the Webhook

The next part of the integration is to create the Iconik webhook.

For this integration, our webhook will be triggered once an asset's approval status has been updated.

It is very straightforward to set this up once you have configured the trigger criteria for the webhook you just need to point it towards the Lambda endpoint.

Here are the docs for Iconik’s webhooks

Seeing the integration in action

Now that the webhook and Lambda functions are complete we can publish content from Iconik to Brightcove once an asset has been approved.

This is the completed flow:

  • An iconik asset is approved.
  • The iconik webhook makes a POST to our Lambda endpoint.
  • Our Lambda makes an API request to Iconik and retrieves metadata about the approved asset.
  • This metadata is used to create two POST requests. One to Brightcove’s CMS API to create a video asset and one to Brightcove's ingest API to upload the source file.
  • A final POST is made to the iconik assets metadata API endpoint updating the asset with a link to the item in Brightcove and the assets Brightcove ID.

We have now created an asset in Brightcove, uploaded the source file from Iconik’s storage and synced the Brightcove metadata back to the asset in Iconik.

An approved asset in iconik with Brightcove metadata.
An approved asset in Iconik with Brightcove metadata.

A new Brightcove asset created from data in iconik.
A new Brightcove asset was created from data in Iconik.

Example of iconik metadata which has been sent to Brightcove
Example of iconik metadata which has been sent to Brightcove

To talk to a member of the team for more information and an online demo contact us TODAY.