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
- Note that a free account will allow you to upload up to 10 hours of content. If you want more, you may connect it to your Azure account.
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:
In Azure, this looks like this:
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.
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.
*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.
Go to https://www.videoindexer.ai and wait. After some time, you should see the indexing complete and then you can play the video.
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