Coder Social home page Coder Social logo

raffertyuy / videoindexer-zoommedia Goto Github PK

View Code? Open in Web Editor NEW

This project forked from victorp13/videoindexer-zoommedia

0.0 1.0 0.0 430 KB

Integration between Microsoft's Video Indexer and Zoom Media's speech-to-text service

PowerShell 100.00%

videoindexer-zoommedia's Introduction

Video Indexer + Zoom Media

Update August 6, 2018: This Logic App now uses the official Video Indexer V2 Connector for Logic Apps.

Introduction

The Microsoft Video Indexer service extracts valuable insights from videos, such as spoken words, faces, characters and emotions. The service supports many of the major world languages (but not every language, e.g. Dutch). But there are companies such as Zoom Media that offer a speech-to-text service in other languages (e.g. Dutch). Below is a description of how you can use a transcription service provider (such as Zoom Media) in conjunction with Microsoft Video Indexer.

The PowerShell script included in this repo will deploy a set of Azure resources that integrate the Microsoft Video Indexer service with Zoom Media's speech-to-text service. This script can be easily updated to work with other transcription service providers to cover a broader range of languages.

Deployment

Please ensure that you are logged into your Azure environment first in PowerShell using a command such as "Connect-AzureRmAccount".

Next we can deploy the required resources using the deploy.ps1 script:

.\deploy.ps1 -videoindexerregion aaaaa -videoindexeraccount bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb -videoindexerkey xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -zoommediatoken yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" -language nl-nl

The required parameters are:

  • videoindexerregion - can be found at the top of the page behind the Account name. The follow values are valid:
    • "trial"
    • "northeurope"
    • "westus2"
    • "eastasia"
  • videoindexeraccount - can be found on the Settings page
  • videoindexerkey - see "How to get the Video Indexer key" below
  • zoommediatoken - see "How to get the Zoom Media token" below
  • language - currently ZoomMedia supports:
    • Dutch: "nl-nl"
    • Norwegian: "nb-no"
    • Danish: "da-dk"
    • Swedish: "sv-se"

When running the script the following resources will be deployed:

  • Resource Group
  • Storage Account
  • API Connection
  • Three Logic Apps

Solution flow

  1. A file is added to the Blob Storage's "uploads" container
  2. Logic App #1 watches this container for new files and sends new files to Video Indexer
  3. Logic App #2 receives a callback from VI and sends the file to Zoom Media
  4. Logic App #3 receices a callback from ZM and sends the resulting VTT to Video Indexer
  5. Video Indexer will now show the video with transcript in the target language

Solution architecture

How to get the Video Indexer key

The Video Indexer service does not require signup; one can simply sign in using existing credentials. Once signed in navigate to the API Reference. Sign in here and register for the API on the Products page. Once this is done, the Profile page will show the primary and secondary key.

Video Indexer Profile

How to get the Zoom Media token

The Zoom Media service does require signup; please contact [email protected].

Once signed up, a token can be generated on the Settings page

Zoom Media settings

Additional notes

  • Note that the file will be indexed twice by VideoIndexer: Once during the initial upload, and once when the VTT is updated in the end. Please wait for the Logic App to completely finish before expecting the video Transcript to be correct in the Video Indexer UI.

Logic app flow

The template generates 3 separate Logic Apps, each taking care of one step in the total process. The relevant settings and keys are prefilledby the template into these logic apps.

Logic app #1: Uploads video file to Video Indexer

Logic App flow  #1

Logic app #2: Uploads video file to Zoom Media

Logic App flow  #2

Logic app #3_ Updates VTT file in Video Indexer

Logic App flow  #3

More information

For more information on how to use the Video Indexer API please see this blog post by Greg Oliver (@sebastus).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.