Elastic Transcoder

Get started with Elastic Transcoder on LocalStack

Introduction

Elastic Transcoder is a managed service that facilitates the transcoding of multimedia files into various formats to ensure compatibility across devices. Elastic Transcoder manages the underlying resources, ensuring high availability and fault tolerance. It also supports a wide range of input and output formats, enabling users to efficiently process and deliver video content at scale.

LocalStack allows you to mock the Elastic Transcoder APIs in your local environment. The supported APIs are available on our API coverage page, which provides information on the extent of Elastic Transcoder’s integration with LocalStack.

Getting started

This guide is designed for users new to Elastic Transcoder and assumes basic knowledge of the AWS CLI and our awslocal wrapper script.

Start your LocalStack container using your preferred method. We will demonstrate how to create an Elastic Transcoder pipeline, read the pipeline, and list all pipelines using the AWS CLI.

Create S3 buckets

You can create S3 buckets using the mb API. Execute the following command to create two buckets named elasticbucket and outputbucket:

$ awslocal s3 mb s3://elasticbucket
$ awslocal s3 mb s3://outputbucket

Create an Elastic Transcoder pipeline

You can create an Elastic Transcoder pipeline using the CreatePipeline API. Execute the following command to create a pipeline named test-pipeline:

$ awslocal elastictranscoder create-pipeline \
    --name Default \
    --input-bucket elasticbucket \
    --output-bucket outputbucket \
    --role arn:aws:iam::000000000000:role/Elastic_Transcoder_Default_Role

The following output would be retrieved:

{
    "Pipeline": {
        "Id": "0998507242379-vltecz",
        "Arn": "arn:aws:elastictranscoder:us-east-1:000000000000:pipeline/0998507242379-vltecz",
        "Name": "Default",
        "Status": "Active",
        "InputBucket": "elasticbucket",
        "OutputBucket": "outputbucket",
        "Role": "arn:aws:iam::000000000000:role/Elastic_Transcoder_Default_Role",
        "Notifications": {
            "Progressing": "",
            "Completed": "",
            "Warning": "",
            "Error": ""
        },
        "ContentConfig": {
            "Bucket": "outputbucket",
            "Permissions": []
        },
        "ThumbnailConfig": {
            "Bucket": "outputbucket",
            "Permissions": []
        }
    },
    "Warnings": []
}

List the pipelines

You can list all pipelines using the ListPipelines API. Execute the following command to list all pipelines:

$ awslocal elastictranscoder list-pipelines

The following output would be retrieved:

{
    "Pipelines": [
        {
            "Id": "0998507242379-vltecz",
            "Arn": "arn:aws:elastictranscoder:us-east-1:000000000000:pipeline/0998507242379-vltecz",
            "Name": "Default",
            "Status": "Active",
            "InputBucket": "elasticbucket",
            "OutputBucket": "outputbucket",
            "Role": "arn:aws:iam::000000000000:role/Elastic_Transcoder_Default_Role",
            "Notifications": {
                "Progressing": "",
                "Completed": "",
                "Warning": "",
                "Error": ""
            },
            "ContentConfig": {
                "Bucket": "outputbucket",
                "Permissions": []
            },
            "ThumbnailConfig": {
                "Bucket": "outputbucket",
                "Permissions": []
            }
        }
    ]
}

Read the pipeline

You can read a pipeline using the ReadPipeline API. Execute the following command to read the pipeline with the ID 0998507242379-vltecz:

$ awslocal elastictranscoder read-pipeline --id 0998507242379-vltecz

The following output would be retrieved:

{
    "Pipeline": {
        "Id": "0998507242379-vltecz",
        "Arn": "arn:aws:elastictranscoder:us-east-1:000000000000:pipeline/0998507242379-vltecz",
        "Name": "Default",
        "Status": "Active",
        "InputBucket": "elasticbucket",
        "OutputBucket": "outputbucket",
        "Role": "arn:aws:iam::000000000000:role/Elastic_Transcoder_Default_Role",
        "Notifications": {
            "Progressing": "",
            "Completed": "",
            "Warning": "",
            "Error": ""
        },
        "ContentConfig": {
            "Bucket": "outputbucket",
            "Permissions": []
        },
        "ThumbnailConfig": {
            "Bucket": "outputbucket",
            "Permissions": []
        }
    }
}