services | platforms | author |
---|---|---|
media-services, functions, comsmosdb, search |
dotnet, python |
shigeyf, yoichika |
A sample demo application for AI powered digitial video library portal on Microsoft Azure cloud platform.
This sample demo application shall focus on:
- Transforming customer’s digital media assets on-prem into Azure
- Driving media intelligence leveraged by Video AI
- Online Video Portal (OVP) with indexing and search capability
- Hybrid Storage (StorSimple)
- StorSimple Data Transformation Manager
- Azure Media Services
- Azure Media Analytics
- Azure Functions
- Azure Logic Apps
- Azure Search
- Azure Web App for Container
- Cosmos DB
1. Fork this to your own repo
Create a Media Services account in your subscription if don't have it already.
- Settings
- Media Services Account Name: specify any name
- Storage Account Name: specify any name
- Storage Option: Starndard_LSR is enough for this demo
Create a Service Principal and save the password. It will be needed in step 6. To do so, go to the API tab in the account (follow this article)
To enable streaming, go to the Azure portal, select the Azure Media Services account which has been created, and start the default streaming endpoint.
Create a Azure Search accountin your subscription.
- Settings
- Name: specify any name
- Sku: basic is enough for this demo
- Replica Count: 1 is enough for this demo
- Partition Count: 1 is enough for this demo
- Hosting Mode: default is enough for this demo
Create a Cosmos DB accountin your subscription.
- Settings
- Database Account Name: specify any name
Create a Function account with this sample code of media functions in your subscription.
-
This deployment script will not create an Azure Media Services account and an Azure Storage account
-
Please consider Consumption Plan or App Service Plan if you will deploy manually
- Consumption Plan – Timeout of function will be 5 mins
- App Service Plan (Dedicated Plan) – There is no timeout (if AlwaysOn is enabled)
-
If a deployment target resource group already contains an App Service Plan (Dedicated Plan), Azure Functions app will be contained in that App Service Plan (Dedicated Plan)
-
Settings
- Function App Name: specify any name
- Function Key: Use as is
- Source Code Repository URL: Use your github repo
- Source Code Branch: Use your branch in your github repo
- Media Services Account Azure Active Directory Tenant Domain: specify your own Azure AD domain for AMS account access
- Media Services Account Rest Api Endpoint: specify your own AMS Api Endpoint (see Step 3)
- Media Services Account Service Principal Client Id: specify your own SPN for AMS access (see Step 3)
- Media Services Account Service Principal Client Secret: specify your own SPN for AMS access (see Step 3)
- Media Services Storage Account Name: specify your AMS storage account created at Step 2
- Cosmosdb Account Name: specify your COSMOS DB account name created at Step 6
- Search Service Name: specify your Azure Search account name created at Step 5
Create a container for importing media files in mediaimportXXX Azure Blob Storage account (XXX is random string).
Create a Logic App account with sample media workflow in your subscription.
- Settings
- Logic App Name: specify any name
- Function Deployment Resource Group: Specify Resource Group used in Step 7
- Function Deployment Name: Specify created Function App Name created in Step 7
- Source Asses Storage Account Name: Specify created Storage Account Name created in Step 7
- IngestMedia Watch Container: Specify container name created in Step 8
Create a Web App account with sample portal app code in your subscription.
- Settings
- Site Name: specify web site name
- Hostting Plan Name: specify Linux App Service Plan Name
- Sku: specify Linux App Service Plan pricing tier
- Worker Size: 0 is enough for this demo
- Repo URL: Use your github repo
- Branch: Use your branch in your github repo
- Cosmosdb Account Name: specify your COSMOS DB account name created at Step 6
- Search Service Name: specify your Azure Search account name created at Step 5
- Open deployed web site http://sitename.azurewebsites.net/ (*) sitename is specified at Step 10.
- When opening the web site, the message "Action Required" will be shown, then click "Start Service" button in the web site.
- Click "Continue".
- Upload video files into blob container specified at Step 8.