Post

Integrating AMS Video Indexer with Scriptix for Filipino Speech-to-Text

Azure Video Indexer is a video-metadata extraction service from Azure Media Services (read more). One of its key features is that it runs the video through the Microsoft Cognitive Services Speech-to-Text API which will generate close captions for your video. This services supports a handful of languages today, but what do you do if it doesn’t support your native language?

This is where Scriptix comes in. Scriptix can create custom speech-to-text models with a sufficient amount of training data. Once the model is complete, you can subscribe to their API service to index your content, in your native language.

Integrating VideoIndexer.ai with Scriptix

Over the past couple of days, I’ve decided to build a demo which integrates VideoIndexer.ai with Scriptix. This is done primarily by reusing Victor Pikula’s powershell script and ARM template. In this post, I am sharing my actual experience in building this demo.

Step 1: Create the Accounts

Create an account in https://www.videoindexer.ai

Create an account in https://www.scriptix.io

  • Note that a free account will allow you to index up to 1 hour of content. If you want more, contact Scriptix.

Step 2: Get the API Keys

VideoIndexer: Go to the Dev API portal, Login, and copy the subscription primary or secondary key.

Scriptix: Login, go to API Tokens, and create a new token with Token Type = batch.

This step is also illustrated here.

Step 3: Clone and Run the Scripts

Clone the scripts from https://github.com/victorp13/videoindexer-zoommedia.git

And follow the deployment instructions in https://github.com/victorp13/videoindexer-zoommedia#deployment

After running the scripts, you should see the resources provisioned according to this diagram: solution-architecture

In Azure, this looks like this:

Scriptix-azureresources

Step 4: Check if the keys are properly configured

I’m not sure if this is a bug in the script; but in my case, the Scriptix key was not properly entered in logicapp_2. Validate other keys as well.

Scriptix-logicapp2

Step 5: Check the Language Codes

At the time of this post, the languages that VI supports are the following:

English (en-US), German (de-DE), Spanish (es-SP), Arabic (ar-EG), French (fr-FR), Hindi (hi-HI), Italian (it-IT), Japanese (ja-JP), Portuguese (pt-BR), Russian (ru-RU), and Chinese (zh-CN)

In my experience, I encountered run errors if the language code passed isn’t in the above list. Therefore, if it’s not in the above, choose 1. In my case, I chose “en-US” for both logicapp_1 and logicapp_3.

Scriptix-logicapp1

Scriptix-logicapp

*UPDATE: There was a bug which is now fixed. Captions Language can be changed to “Filipino”*

Testing the Integration

First, find a short (1-5 minute) video clip in your target language.

Then, upload the video clip to the upload container of the created blob storage account.

Scriptix-storageupload

Go to https://www.videoindexer.ai and wait. After some time, you should see the indexing complete and then you can play the video.

videoindexer

videoindexer-transcript

UPDATE: Scriptix now in the Azure Marketplace!

Posting this update – Azure customers can now by indexing minute bundles on a monthly PAYG basis through the Azure Marketplace. This makes it even easier for everyone to start now!

At the time of this writing, Scriptix supports the following languages:

  • Danish
  • US English
  • Dutch
  • Flemish
  • Norwegian
  • Swedish
  • Filipino
This post is licensed under CC BY 4.0 by the author.