Setting Up an Azure Blob Storage Input
Overview
Azure Blob Storage is a scalable object storage service provided by Microsoft Azure. Bitmovin's Encoding API supports Azure Blob Storage as an input source, allowing you to encode media files stored in your Azure containers.
This guide shows you how to configure an Azure Blob Storage input for use with Bitmovin encodings.
IMPORTANT: This tutorial assumes you already have an Azure Storage Account and a Blob container created. If you don't have these set up yet, please refer to Microsoft's Azure documentation to create them first.
Prerequisites
Before creating a Bitmovin Azure Blob Storage input, you need to gather the following information from your Azure portal:
- Storage Account Name (e.g., 'mystorageaccount')
- Container Name (e.g., 'myinputcontainer')
- Account Key (primary or secondary access key from your storage account)
To find these in the Azure portal:
- Navigate to your Storage Account
- For Account Name: visible at the top of the storage account overview
- For Container Name: go to 'Containers' in the left menu
- For Account Key: go to 'Access keys' in the left menu under 'Security + networking'
Create a Bitmovin Azure Blob Storage Input
To create a Bitmovin Azure Input configuration that can be used by the encoding service, you need the Storage Account Name, Container Name, and Account Key.
Use the Dashboard UI
- Select the 'Encoding' menu on the left and go to 'Inputs'
- Click on 'Create' in the upper right corner of the Inputs overview
- Select 'Azure' as Input type
- Enter all required fields:
- Name: A descriptive name for this input
- Account Name: Your Azure storage account name
- Container: Your blob container name
- Account Key: Your storage account access key
- Click on 'Create'
Use a Bitmovin API SDK
Each of our Open API SDKs implements the Bitmovin API, making it easy to integrate with your project. Use them to create reusable input resources for your encodings:
Bitmovin API SDK - Input example
AzureInput input = new AzureInput();
input.setAccountName(AZURE_STORAGE_ACCOUNT_NAME);
input.setContainer(AZURE_CONTAINER_NAME);
input.setAccountKey(AZURE_ACCOUNT_KEY);
input = bitmovinApi.encoding.inputs.azure.create(input);from bitmovin_api_sdk import BitmovinApi, AzureInput
bitmovin_api = BitmovinApi(api_key='YOUR_BITMOVIN_API_KEY')
def create_azure_input(storage_account_name, container_name, account_key):
azure_input = AzureInput(
name=storage_account_name,
account_name=storage_account_name,
container=container_name,
account_key=account_key
)
return bitmovin_api.encoding.inputs.azure.create(azure_input)
# Usage
azure_input = create_azure_input(
storage_account_name='mystorageaccount',
container_name='my-input-container',
account_key='YOUR_ACCOUNT_KEY'
)See all available examples for each of our Bitmovin API SDKs in our GitHub Example Repository.
Using SAS URLs as Input
Alternatively, you can use a direct Azure Blob SAS (Shared Access Signature) URL as the input path when creating an encoding job:
# Example SAS URL format
input_path = 'https://mystorageaccount.blob.core.windows.net/mycontainer/video.mp4?sp=r&st=2026-01-01T00:00:00Z&se=2026-02-01T00:00:00Z&spr=https&sv=2024-11-04&sr=b&sig=YOUR_SIGNATURE'When using SAS URLs, ensure the token has read permissions and has not expired before the encoding job completes.
Common Issues
Authentication failure on encoding:
The most common cause is an incorrectly formatted account key. Always copy the key directly from the Azure portal without adding spaces, line breaks, or modifying the base64 string.
File transfer failure with special characters:
Filenames containing spaces or special characters (e.g., 'ProRes 8 channels.mov') can cause transfer failures. Best practice: use only alphanumeric characters, hyphens, and underscores in filenames.
Further Reading
For a full list of supported inputs and outputs, see the Bitmovin Supported Input and Output Storages documentation.
SDK code examples (Python, Java, .NET, and more) are available in the Bitmovin API SDK Examples repository on GitHub.
Updated about 4 hours ago