/Azure-Automatic-Video-Converter

An automatic video converter using Azure Medias Services (AMS) with Azure Functions & Azure Logic Apps, running in the cloud.

Primary LanguageC#MIT LicenseMIT

Azure Automatic Video Converter

An automatic video converter using Azure Medias Services (AMS) with Azure Functions & Azure Logic Apps, running in the cloud.

Overview

Once the solution is all deployed and configure, to get starter you just need to upload a .mov file into the movs container inside the Azure Blob Storage. It can be done via the Azure portal or the Microsoft Azure Storage Explorer, or Azure CLI. It could easily change to use OneDrive, DropBox, or Google if you prefer.

After a few minutes (it depends on the size of you file), the file will be move to movarchive and you will found the converted equivalent in the mp4s container.

Note: This project uses some Azure Functions coming from the Azure-Sample GitHub repo. That project ad different objectives but function were repurposed for this converter tool.

Deployment

1. Create an Azure Media Services account

Create a Media Services account in your subscription if don't have it already (follow this article).

2. Create a Service Principal

Create a Service Principal and save the password. It will be needed in step #4. To do so, go to the API tab in the account (follow this article).

or execute this CLI command

az ams account sp create -a myAmsAccount -g myRG -n mySpName --password mySecret --role Owner

3. Make sure the AMS streaming endpoint is started

To enable streaming, go to the Azure portal, select the Azure Media Services account which has been created, and start the default streaming endpoint (follow this article).

4. Deploy the Azure functions

If not already done : fork the repo, deploy Azure Functions and select the right project (IMPORTANT!).

Note : if you never provided your GitHub account in the Azure portal before, the continuous integration probably will probably fail and you won't see the functions. In that case, you need to setup it manually. Go to your azure functions deployment / Functions app settings / Configure continuous integration. Select GitHub as a source and configure it to use your fork.