以下是使用AWS SDK for Python(Boto3)将肖像视频转换为横向格式的示例代码:
import boto3
def convert_portrait_to_landscape(input_bucket, input_key, output_bucket, output_key):
mediaconvert_client = boto3.client('mediaconvert', region_name='us-west-2')
# 创建MediaConvert作业
response = mediaconvert_client.create_job(
Role='arn:aws:iam::123456789012:role/MediaConvertRole',
Settings={
'OutputGroups': [
{
'Name': 'File Group',
'Outputs': [
{
'OutputSettings': {
'VideoDescription': {
'ScalingBehavior': 'DEFAULT',
'TimecodeInsertion': 'DISABLED',
'AntiAlias': 'ENABLED',
'Sharpness': 50,
'CodecSettings': {
'Codec': 'H_264',
'H264Settings': {
'InterlaceMode': 'PROGRESSIVE',
'NumberReferenceFrames': 3,
'Syntax': 'DEFAULT',
'Softness': 0,
'GopClosedCadence': 1,
'GopSize': 90,
'Slices': 1,
'GopBReference': 'DISABLED',
'SlowPal': 'DISABLED',
'SpatialAdaptiveQuantization': 'ENABLED',
'TemporalAdaptiveQuantization': 'ENABLED',
'FlickerAdaptiveQuantization': 'DISABLED',
'EntropyEncoding': 'CABAC',
'Bitrate': 5000000,
'FramerateControl': 'SPECIFIED',
'RateControlMode': 'CBR',
'CodecProfile': 'MAIN',
'Telecine': 'NONE',
'MinIInterval': 0,
'AdaptiveQuantization': 'HIGH',
'CodecLevel': 'AUTO',
'FieldEncoding': 'PAFF',
'SceneChangeDetect': 'ENABLED',
'QualityTuningLevel': 'SINGLE_PASS',
'FramerateConversionAlgorithm': 'DUPLICATE_DROP',
'UnregisteredSeiTimecode': 'DISABLED',
'GopSizeUnits': 'FRAMES',
'ParControl': 'SPECIFIED',
'NumberBFramesBetweenReferenceFrames': 2,
'RepeatPps': 'DISABLED',
'DynamicSubGop': 'STATIC'
}
},
'AfdSignaling': 'NONE',
'DropFrameTimecode': 'ENABLED',
'RespondToAfd': 'NONE',
'ColorMetadata': 'INSERT'
},
'OutputSettings': {
'HlsOutputSettings': {
'HlsSettings': {
'AudioGroupId': 'program_audio',
'AudioOnlyContainer': 'AUTOMATIC',
'IvInManifest': 'INCLUDE',
'IvSource': 'FOLLOWS_SEGMENT_NUMBER',
'KeepSegments': 21,
'KeyProviderSettings': {
'StaticKeyProviderSettings': {
'KeyFormat': 'identity',
'StaticKeyValue': 'your_static_key'
}
},
'SegmentLength': 10,
'SegmentationMode': 'USE_SEGMENT_DURATION',
'SegmentsPerSubdirectory': 100,
'StreamInfResolution': 'INCLUDE',
'TimedMetadataId3Frame': 'PRIV',
'TimedMetadataId3Period': 10,
'TsFileMode': 'SEGMENTED_FILES',
'CodecSpecification': 'RFC_4281'
}
}
},
'ContainerSettings': {
'Container': 'MP4',
'Mp4Settings': {
'CslgAtom': 'INCLUDE',
'FreeSpaceBox': 'EXCLUDE',
'MoovPlacement': 'PROGRESSIVE_DOWNLOAD'
}
},
'Extension': 'mp4'
},
'Preset': 'Custom'
}
],
'OutputGroupSettings': {
'Type': 'FILE_GROUP_SETTINGS',
'FileGroupSettings': {
'Destination': f's3://{output_bucket}/{output_key}'
}
}
}
],
'Inputs': [
{
'AudioSelectors': {
'Audio Selector 1': {
'Offset': 0,
'DefaultSelection': 'DEFAULT',
'ProgramSelection': 1
}
},
'VideoSelector': {
'ColorSpace': 'FOLLOW',
'Rotate': 'DEGREE_0',
'AlphaBehavior': 'DISCARD'
},
'FileInput': f's3://{input_bucket}/{input_key}'
}
]
}
上一篇:AWS Elemental MediaConvert MPEG-DASH:无法使用清单配置文件“urn:mpeg:dash:profile:isoff-on-demand:2011”创建 mpd。