AWS Elemental - Setup, Connect and Transcoding


First things first

The first step to configure Elemental correctly is to make sure there is a custom endpoint in the region you wish to use. The easiest way to do this is to open the MediaConvert web console in that region, this will automatically create the required endpoint.

MediaConvert

MediaConvert example: https://eu-west-2.console.aws.amazon.com/mediaconvert/home?region=eu-west-2#/welcome.elemental_preset_standardelemental_preset_wav


Configuring Elemental


When you have aquired a custom endpoint, the next step is to create an IAM (Identity Access Management) role.

The IAM role is required because when a job is queued in Elemental, you need to supply an IAM role that Elemental can use to access the media locations (both input and output locations).

The requirements of the IAM role are the folllowing:

  • Needs a trust relationship for mediaconvert.amazonaws.com .
  • Needs permissions to read from the buckets with inputs.
  • Needs permission to write to the buckets with outputs.

In addition the user/role used by the AV runner need the following permissions:

  • PassRole permissions for the IAM role above.
  • Permissions to read/write presets, queue jobs and monitor jobs in Elemental.



Configuring AV runner


Now it's time for you to configure the AV runner. For the runner to be able to integrate with Elemental you need to fix the following:

First you need to supply a black frame file, since Elemental doesn't have support for gaps in the timeline. This needs to be placed in an S3 bucket that the created IAM role have read permissions on.

The next step is to set the following runner configuration parameters:

av.runner.black_frame_location=s3://bucket/black/frame/file/location

av.runner.black_frame_duration=numberofframes

av.runner.black_frame_numerator=frameratenumerator

Framerate numerator is default set to 25.

av.runner.black_frame_denominator=frameratedenominator

Framereate denominator is default set to 1.

av.runner.aws_role=rolearn

This is the ARN for the role created above.
Example: arn:aws:iam::010652268016:role/test-media-convert

av.runner.elemental_queue=queuename (This is optional, and will use default queue if not configured)



Presets


When running a render/transcode job in Elemental, you can use any preset that is available in AWS Elemental. Currently there is two presets that we've created that we know for sure work well with browsers. These are recommended to use for transcoding during ingest.

Here are the two mentioned presets:

standard_h264_follow
wav


To import presets, head to AWS MediaConvert Console -> Output presets and “Import preset”.
Set the name of the preset to the filename without '.json'.

Example: standard_h264_follow.json -> standard_h264_follow


Next, set these presets as the default configuration on the AV runner:

av.runner.lowres_template_id=standard_h264_follow

av.runner.audio_extract_template_id=wav

To create other custom presets, it's highly recommended to use the AWS console.


This will conclude the guide for setting up and connecting AWS Elemental.

Accurate Video S3 Storages