Qencode + DigitalOcean

Transcode and deliver video to DigitalOcean Spaces — S3-compatible storage with built-in CDN.

Overview

What This Integration Does

Qencode integrates with DigitalOcean Spaces as both a source and destination for video transcoding jobs. Spaces provides an S3-compatible API, so configuring Qencode is a usual S3 setup — just point to your Spaces endpoint. Pull source video from any Space, transcode it, and write the output back automatically. Spaces includes a built-in CDN at no extra cost, making it a simple and affordable option for video delivery.

Architecture

How the Integration Works

Source

DO Space or URL

Qencode pulls your source video from a DigitalOcean Space (or any URL).

Process

Transcode & package

Qencode transcodes, encrypts, and packages the video per your job configuration.

Deliver

Destination Space

Encoded files are written directly to your destination Space.

Serve

Via Spaces CDN

Serve via the built-in Spaces CDN endpoint, or any HTTP endpoint pointing to your Space.

Getting Started

Setup Steps

  1. Create your DigitalOcean Space

    In the DigitalOcean Control Panel, go to Storage → Spaces Object Storage, in Buckets tab click “Create Bucket“ to create a new Spaces bucket in your preferred datacenter region. Enable the CDN if you want edge-cached delivery.

    This step is completed in the DigitalOcean Control Panel — see Spaces documentation

  2. Generate Spaces access keys

    In the DigitalOcean Control Panel, go to Storage → Spaces Object Storage, in AccessKeys tab click “Create access key“. Specify key name, select “Limited Access“ and choose previously created bucket name in the list. Click “Create Access Key“ and save generated key and secret.

    Store your access key and secret as environment variables. Never commit credentials to source control.

  3. Add credentials to Qencode

    In Transcode Media, go to Third-Party Storage and select DigitalOcean. Enter your Bucket Name, Region name, Access Key ID, and Secret Access Key. Enable Public permissions only if needed.

  4. Set destination in your transcode job

    In your API request, set the destination parameter to your Spaces URL with the desired output path. Use the S3-compatible endpoint format.

  5. Verify the output

    After the job completes, check your Space for the encoded files. Qencode sends a webhook notification when writing is complete.

Implementation

Code Example

Request Example

MP4 output to DigitalOcean Spaces

{
  "query": {
    "source": "https://[region].digitaloceanspaces.com/my-source-bucket/folder/input.mov",
    "format": [
      {
        "output": "mp4",
        "destination": {
          "url": "s3://[region].digitaloceanspaces.com/my-bucket/folder/output.mp4",
          "key": "YOUR_ACCESS_KEY",
          "secret": "YOUR_SECRET_KEY",
          "permissions": "public-read"
        }
      }
    ]
  }
}

Replace placeholder credentials with your actual Spaces access key and secret. Use environment variables in production.

For a step-by-step walkthrough, see Tutorial: DigitalOcean Spaces Integration

Pricing

Cost Context

Storage costs at DigitalOcean

  • Spaces starts at $5/month for 250 GB of storage and 1 TB of outbound transfer.
  • Additional storage is $0.02/GB/month and additional transfer is $0.01/GB.
  • The built-in CDN is included at no extra charge.
See DigitalOcean Spaces pricing for current rates.

Estimated total cost per hour of 1080p video

Qencode transcoding (HLS, H.264)

~$1.80


Spaces storage (1 GB encoded output)

~$0.02/GB/month


Spaces CDN delivery (100 viewers × 1 GB)

~$1.00

Estimates based on standard configurations. Actual costs vary with codec, resolution, and encoding features. See Qencode pricing

We love creating powerful solutions that are aligned with the needs of your business.

Please send us a message if you have a question or Schedule a call for a demo to discuss your integration.

Let's talk

First Name
Last Name
Company
Email
Your Message

Contact us with any questions. We'd love to help.

Los Angeles, CA - (HQ)

San Francisco, CA

New York, NY