Media butler is composed by 2 workers roles: Watcher and Workflow role. First one take the new files and submit it to Workflow Manager by ButlerSend Queue. When a new job is summited, this role move the original files form Incoming folder to Processing. Once the process finish, success or fail, this role receive a message and process it. If the process was success, it will move the original date from Processing to Success folder. In the fail case, will move to Fail folder.
Workflow Manager is Media Butler's core, it is the workflow coordinator. It receives jobs from ButlerSend queue, and process it following the process definition in ButlerConfiguration table. This role, follow and control the process and execute each step. When the process finish, it sends the notification as is configured.
This version has this process steps ready to use:
- Select AMS account: you can select in each process which AMS account you want to use.
- Ingest mezzanine files: one or more mezzamine files, MP4 and json files with parameters for the process.
- Standard encoder: using AMS encoder with preset or custom xml encoding profiles
- Package: existing MP4 for streaming, you don’t need to re-encode if you have ready your M4P files.
- Index: indexing video asset, it generates Closed caption file in SAMI format, Closed caption file in Timed Text Markup Language (TTML) format, Keyword file (XML), Audio indexing blob file (AIB) for use with SQL server
- Clipping: Create/update ISMF files for clipping
- Delete original mezzanine files
- Create streaming Locator
- Create SaS locator
- Queue Notification
- Mail Notification
- Blob text Notification
- Replica: replicate videos from one AMS to another AMS for HA deployments
- Azure Subscription
- Azure Media Services Name and Key
- Empty Azure Storage Account Name for Media Butler Framework
- [Optional] SendGrid account
- Ingest the mezzanine file
- Encode using default profile
- Delete the original mezzanine asset
- Create a Streaming locator
- Create a SAS Locator
- Write the process output info in the LOG file
You only need to setup this variable
a. $azureSubscriptionName: Azure subscription name
b. $butlerStorageAccountName: Butler's storage account name
c. $MediaServiceAccountName: AMS account name
d. $PrimaryMediaServiceAccessKey: AMS access Key
e. $MediaStorageConn: AMS storage account connection string
f. $SendGridStepConfig: Options, if you want to use SendGrid Mail Notification yo need to add your step configuration here.
g. $serviceName: Cloud Services Name for Media Butler
h. $slot="Production"
i. $serviceLocation: Cloud Services Location, it must be in the same AMS's location
Execute the script, and that is!
- Upload MP4 for “testbasicprocess” container in “Incoming” folder.
- Check in Media Services content a new asset with pattern name “testbasicprocess_[your MP4 video Name]Butler[GUID]”
- Check in Media Services JOB list a new job
- When the job finish, check the final asset Encoded and published with the patter name “testbasicprocess_[your MP4 video Name]_Butler[GUID]_mb”
- Now, your could go to the Media Butler Storage, and review the output info in the file testbasicprocess/Completed/_[your MP4 video Name].[date and time].log