Setting Up an OCI Object Storage Input
Overview
Oracle Cloud Infrastructure (OCI) Object Storage is a scalable, secure object storage service provided by Oracle. Bitmovin's Encoding API supports OCI Object Storage as an input source, allowing you to encode media files stored in your OCI buckets.
This guide covers configuring an OCI Object Storage input for use with Bitmovin encodings.
IMPORTANT: This tutorial assumes you already have an OCI tenancy, a configured compartment, and an Object Storage bucket created. Refer to Oracle's OCI documentation to create these resources before proceeding.
Prerequisites
Before creating a Bitmovin OCI Object Storage input, gather the following information from the OCI Console:
- Namespace (your tenancy's Object Storage namespace)
- Bucket Name (e.g., my-input-bucket)
- Region (e.g., us-ashburn-1)
- Access Key & Secret Key
To find these in the OCI Console:
- Namespace: Click your Profile icon (top right) → Tenancy. The Object Storage Namespace is listed on that page. It is also visible on the Buckets list page.
- Bucket Name: Go to Storage → Object Storage → Buckets and copy the name of your bucket.
- Region: Found in the OCI Console URL or on the bucket details page. It follows the format us-ashburn-1. Alternatively, infer it from the bucket's OCID — for example, oc1.iad in the OCID corresponds to us-ashburn-1.
- Access Key & Secret Key: These come from OCI's Customer Secret Keys (OCI's S3-compatible authentication):
- Click your Profile icon → User Settings
In the left menu under Resources, click Customer Secret Keys - Click Generate Secret Key, give it a name (e.g. "Bitmovin"), and click Generate Secret Key
- Copy the Secret Key immediately — it is only shown once
- Click Close — the Access Key is the value shown in the table next to your key's name
- Click your Profile icon → User Settings
Create a Bitmovin OCI Object Storage Input
To create a Bitmovin OCI input configuration, have the credentials and storage details gathered above ready before proceeding.
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 OCI Object Storage as the Input type
- Enter all required fields:
- Name: A descriptive name for this input
- Description: An optional description
- Namespace: Your Object Storage namespace
- Bucket Name: Your OCI bucket name
- Access Key: Your Customer Secret Key access key
- Secret Key: Your Customer Secret Key secret key
- Region: The OCI region where your bucket resides (e.g. us-ashburn-1)
- 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 — OCI Input example
const input = new GenericS3Input({
name: "my-oci-input",
bucketName: BUCKET_NAME,
accessKey: ACCESS_KEY,
secretKey: SECRET_KEY,
host: `${NAMESPACE}.compat.objectstorage.${REGION}.oraclecloud.com`,
ssl: true,
port: 443,
signatureVersion: S3SignatureVersion.V4,
});
const createdInput =
await bitmovinApi.encoding.inputs.genericS3.create(input);See all available examples for each of our Bitmovin API SDKs in our GitHub Example Repository.
Creating a VOD Encoding with an OCI Input
Once your OCI input is created, reference it when defining streams for a VOD encoding job. Specify the path to your source file within the bucket:
Common Issues
Authentication failure on encoding:
The most common cause is an incorrectly formatted private key or mismatched fingerprint. Ensure the private key is in PEM format, includes the -----BEGIN RSA PRIVATE KEY----- header and footer, and corresponds to the fingerprint registered in OCI. Copy values directly from the OCI Console without introducing extra whitespace or line breaks.
Region mismatch error:
The region specified in your Bitmovin input configuration must exactly match the region where your OCI bucket resides. Using a region identifier from a different format (e.g., us-ashburn-1 vs iad) may cause resolution failures.
File transfer failure with special characters:
Filenames containing spaces or special characters (e.g., ProRes 8 channels.mov) cause transfer failures. Best practice: use only alphanumeric characters, hyphens, and underscores in object names.
Insufficient IAM permissions:
The OCI user associated with the API key must have the appropriate IAM policies to read objects from the bucket. Ensure a policy such as Allow group
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 1 month ago