Skip to main content

Copy From Your Cloud

BlendVision One supports integration with your existing AWS S3 buckets, allowing secure access and utilization of video files directly from your S3 buckets for the encoding jobs, without the hassle of downloading and uploading.

File TypeAccepted FormatsMaximum Size
Videoavi,.mpg,.mp4,.ts,.m2ts,.mov,.mkv,.wmv,.bdav70 GB

Here are the steps to set it up:

Step 1. Secure AWS S3 Bucket Access

For security reasons and to avoid exposing your AWS credentials, we employ AWS IAM Roles to provide BlendVision One access to your S3 buckets. This approach ensures that only the necessary permissions are granted and maintained securely.

To be used as an input for encoding and/or output to receive encoded VODs without disclosing your AWS credentials, we will use AWS IAM Role to allow BlendVision One to access your AWS S3 bucket.

For more information about AWS IAM role, refer to Provide access to AWS account owned by third party.


Step 2. Obtain AWS Trust Policy Information

To obtain the necessary information for setting up permissions to access your AWS S3 bucket, make a GET request to the following API:

GET /bv/configuration/v1/cloud-storages/trust-policy

This will return a response containing:

{
"aws_account_arn": "string",
"role_arn": "string",
"external_id": "string"
}

This information is then used in a trust policy, which is a document that defines permissions for a user, group, or role. Here's an example of what a trust policy looks like:

{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"AWS":"{aws_account_arn}"
},
"Action":"sts:AssumeRole",
"Condition":{
"StringEquals":{
"sts:ExternalId":"{external_id}"
},
"ArnEquals":{
"aws:PrincipalArn":"{role_arn}"
}
}
}
]
}

Step 3. Create Cloud Storage

To create cloud storage where you will be storing your assets for encoding, make a POST request to the following API:

POST /bv/configuration/v1/cloud-storages

The parameters required for aws_storage to create the cloud storage for AWS S3 bucket:

nametypedescription
bucket_namestringAWS S3 bucket name
pathstringPath to AWS S3 bucket
regionstringThe region of AWS S3
user_role_arnstringThe user role ARN to set permissions to the bucket
external_idstringThe external ID to identify the AWS settings

Here is an example of the request body:

"cloud_storage":{
"name":"your cloud storage name",
"type":"CLOUD_STORAGE_TYPE_AWS",
"aws_storage":{
"bucket_name":"your AWS bucket name",
"path":"path to your AWS bucket",
"region":"region of your AWS S3",
"user_role_arn":"your user role ARN",
"external_id":"your external ID"
}
}

Upon successfully creating the cloud storage, the API will return a response containing the ID of the newly created cloud storage. Remember to set the permissions so the platform can fetch the assets or store outputs.


Step 4. Validate Cloud Storage

Before starting encoding, you can validate if the file exists in the cloud storage by using the following API:

POST /bv/cms/v1/cloud-storages/{id}:validate-file

Once the file in cloud storage can be fetched successfully, the response containing file_path, file_name, and file_size will be returned. Here's an example of a response:

{
"id":"string",
"file_path":"string",
"file_name":"string",
"file_size":"string"
}