Integrating Cantemo iconik with Brightcove OVP

Cantemo iconik is a hybrid cloud media management solution that offers review and approve, 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 offer an online video platform (OVP) with a 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 are able to 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 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 a HTTP POST from the Iconik webhook we will create later.  

The Lambda is setup 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 in 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 straight forward 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 https://app.iconik.io/docs/webhooks.html.

Seeing the integration in action  

Now that the webhook and Lambda function 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 asset's 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.

Screenshot of an approved asset in iconik with Brightcove metadata.

Screenshot of a new Brightcove asset created from data in iconik.

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