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)