2018-10-11 15:00:23 -07:00
< ? php
/**
* Copyright 2010-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* This file is licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License. A copy of
* the License is located at
*
* http://aws.amazon.com/apache2.0/
*
* This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*
* ABOUT THIS PHP SAMPLE => This sample is part of the SDK for PHP Developer Guide topic at
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/emc-examples-jobs.html
*
*/
require 'vendor/autoload.php' ;
use Aws\MediaConvert\MediaConvertClient ;
use Aws\Exception\AwsException ;
/**
* Create a Job for AWS Elemental MediaConvert.
*
* This code expects that you have AWS credentials set up per:
* https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials.html
*/
//Create an AWSMediaConvert client object with your account specific endpoint.
$mediaConvertClient = new MediaConvertClient ([
'version' => '2017-08-29' ,
'region' => 'us-east-2' ,
'profile' => 'default' ,
'endpoint' => 'ACCOUNT_ENDPOINT'
]);
$jobSetting = [
" OutputGroups " => [
[
" Name " => " File Group " ,
" OutputGroupSettings " => [
" Type " => " FILE_GROUP_SETTINGS " ,
" FileGroupSettings " => [
" Destination " => " s3://OUTPUT_BUCKET_NAME/ "
]
],
" Outputs " => [
[
" 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 " ,
" FramerateNumerator " => 30 ,
" FramerateDenominator " => 1 ,
" ParNumerator " => 1 ,
" ParDenominator " => 1
]
],
" AfdSignaling " => " NONE " ,
" DropFrameTimecode " => " ENABLED " ,
" RespondToAfd " => " NONE " ,
" ColorMetadata " => " INSERT "
],
" AudioDescriptions " => [
[
" AudioTypeControl " => " FOLLOW_INPUT " ,
" CodecSettings " => [
" Codec " => " AAC " ,
" AacSettings " => [
" AudioDescriptionBroadcasterMix " => " NORMAL " ,
" RateControlMode " => " CBR " ,
" CodecProfile " => " LC " ,
" CodingMode " => " CODING_MODE_2_0 " ,
" RawFormat " => " NONE " ,
" SampleRate " => 48000 ,
" Specification " => " MPEG4 " ,
" Bitrate " => 64000
]
],
" LanguageCodeControl " => " FOLLOW_INPUT " ,
" AudioSourceName " => " Audio Selector 1 "
]
],
" ContainerSettings " => [
" Container " => " MP4 " ,
" Mp4Settings " => [
" CslgAtom " => " INCLUDE " ,
" FreeSpaceBox " => " EXCLUDE " ,
" MoovPlacement " => " PROGRESSIVE_DOWNLOAD "
]
],
" NameModifier " => " _1 "
]
]
]
],
" AdAvailOffset " => 0 ,
" Inputs " => [
[
" AudioSelectors " => [
" Audio Selector 1 " => [
" Offset " => 0 ,
" DefaultSelection " => " NOT_DEFAULT " ,
" ProgramSelection " => 1 ,
" SelectorType " => " TRACK " ,
" Tracks " => [
1
]
]
],
" VideoSelector " => [
" ColorSpace " => " FOLLOW "
],
" FilterEnable " => " AUTO " ,
" PsiControl " => " USE_PSI " ,
" FilterStrength " => 0 ,
" DeblockFilter " => " DISABLED " ,
" DenoiseFilter " => " DISABLED " ,
" TimecodeSource " => " EMBEDDED " ,
" FileInput " => " s3://INPUT_BUCKET_AND_FILE_NAME "
]
],
" TimecodeConfig " => [
" Source " => " EMBEDDED "
]
]
try {
$result = $mediaConvertClient -> createJob ([
" Role " => " IAM_ROLE_ARN " ,
" Settings " => $jobSetting , //JobSettings structure
" Queue " => " JOB_QUEUE_ARN " ,
" UserMetadata " => [
" Customer " => " Amazon "
],
]);
} catch ( AwsException $e ) {
// output error message if fails
echo $e -> getMessage ();
echo " \n " ;
2018-10-11 14:25:58 -07:00
}
2018-10-23 12:17:39 -07:00
//snippet-comment:[These are tags for the AWS doc team's sample catalog. Do not remove.]
2018-10-23 14:28:31 -07:00
//snippet-sourcedescription:[CreateJob.php demonstrates how to create a customized AWS Elemental MediaConvert Job.]
2018-10-11 14:25:58 -07:00
//snippet-keyword:[PHP]
2018-10-16 20:34:57 -07:00
//snippet-keyword:[AWS SDK for PHP v3]
2018-10-11 14:25:58 -07:00
//snippet-keyword:[Code Sample]
2018-10-16 10:26:09 -07:00
//snippet-keyword:[AWS Elemental MediaConvert]
//snippet-service:[mediaconvert]
2018-10-11 14:25:58 -07:00
//snippet-sourcetype:[full-example]
2018-10-16 15:00:48 -07:00
//snippet-sourcedate:[2018-09-20]
2018-10-23 12:17:39 -07:00
//snippet-sourceauthor:[jschwarzwalder (AWS)]
2018-10-11 14:25:58 -07:00