目次

ElasticTranscoderのプリセット作成

はじめに

ElasticTranscoderで変換する際に必須となるプリセットですが、インプットファイルのフォーマットによって
動的に指定したい要件があった際に作成したサンプルコードです。

サンプル

import boto3
import uuid
from botocore.client import ClientError

REGION_NAME = 'ap-northeast-1'                             #リージョン名
PRESET_NAME = str(uuid.uuid4())                            #プリセット名
def lambda_handler(event, context):
    transcoder = boto3.client('elastictranscoder', REGION_NAME)
    s3 = boto3.resource('s3')
    iam = boto3.resource('iam')

    # Create a preset
    preset = transcoder.create_preset(
    Name=PRESET_NAME,
    Description='string',
    Container='mp4',
    Video={
        'Codec': 'H.264',
        'CodecOptions': {
            "Profile":"high",
            "Level":"4.1",
            "BufferSize":"4800",
            "InterlacedMode":"Progressive",
            "MaxReferenceFrames":"16",
            "MaxBitRate":"480",
            "ColorSpaceConversionMode":"None",
        },
        'KeyframesMaxDist': '30',
        'FixedGOP': 'true',
        'BitRate': 'auto',
        'FrameRate': 'auto',
        'MaxFrameRate': '30',
        'MaxWidth': '560',
        'MaxHeight': '320',
        'DisplayAspectRatio': 'auto',
        'SizingPolicy': 'ShrinkToFit',
        'PaddingPolicy': 'NoPad',
    },
    Audio={
        'Codec': 'AAC',
        'SampleRate': 'auto',
        'BitRate': '80',
        'Channels': 'auto',
        'CodecOptions': {
            'Profile': 'auto',
        }
    },
    Thumbnails={
        'Format': 'jpg',
        'Interval': '1',
        'MaxWidth': '560',
        'MaxHeight': '320',
        'SizingPolicy': 'ShrinkToFit',
        'PaddingPolicy': 'NoPad'
    }
    )
    return (preset)