需要帮助在php中创建AWS MediaConvert的作业设置



我一直在尝试使用最新的AWS SDK for PHP(7.4.2(创建MediaConverter作业,但我真的很难正确创建作业设置。我想知道是否有人可以看看这段php代码,告诉我我是否完全走错了方向。我得到的回应是:

在上执行"CreateJob"时出错https://asdf.mediaconvert.us-east-1.amazonaws.com/2017-08-29/jobs";AWS HTTP错误:客户端错误:POST https://asdf.mediaconvert.us-east-1.amazonaws.com/2017-08-29/jobs导致400 Bad Request响应:{"errorType":"BadRequestException","httpStatus":400,"requestId":"388473f1-92af-4253-940c-00307b7c2a79",(截断…(BadRequestException(客户端(:无法解释请求。-{"errorType":无法解释该请求。","settingsValidationErrorsJsonBlob":"}

我实际上直接从MediaConvert中复制了设置的JSON,所以我认为我的问题在于试图将其转换为PHP中的对象,以便将其发送到AWS。下面的设置可以通过AWS SDK到达服务器,我认为这是一个很好的开始。但我搞不清楚出了什么问题。

"OutputGroups" => [
[
"CustomName" => "Thumbnails",
"Name" => "File Group",
"Outputs" => [
"ContainerSettings" => [
"Container" => "RAW"
],
"VideoDescription" => [
"Width" => 1280,
"ScalingBehavior" => "DEFAULT",
"Height" => 720,
"TimecodeInsertion" => "DISABLED",
"AntiAlias" => "ENABLED",
"Sharpness" => 50,
"CodecSettings" => [
"Codec" => "FRAME_CAPTURE",
"FrameCaptureSettings" => [
"FramerateNumerator" => 30,
"FramerateDenominator" => 540,
"MaxCaptures" => 18,
"Quality" => 70
]
],
"DropFrameTimecode" => "ENABLED",
"ColorMetadata" => "INSERT"
],
["Extension" => "jpg"],
["NameModifier" => "-thumb"]
],
"OutputGroupSettings" => [
"Type" => "FILE_GROUP_SETTINGS",
"FileGroupSettings" => [
"Destination" => "s3://me/my-folder/"
]
]
],
[
"CustomName" => "720p",
"Name" => "File Group",
"Outputs" => [
"ContainerSettings" => [
"Container" => "MP4",
"Mp4Settings" => [
"CslgAtom" => "INCLUDE",
"CttsVersion" => 0,
"FreeSpaceBox" => "EXCLUDE",
"MoovPlacement" => "PROGRESSIVE_DOWNLOAD"
]
],
"VideoDescription" => [
"Width" => 1280,
"ScalingBehavior" => "DEFAULT",
"Height" => 720,
"VideoPreprocessors" => [
"ImageInserter" => [
"InsertableImages" => [
"Width" => 200,
"Height" => 36,
"imageX" => 50,
"imageY" => 634,
"FadeIn" => 2000,
"Layer" => 2,
"ImageInserterInput" => "s3://me-again/My-Watermark.tga",
"StartTime" => "00:00:05;01",
"Opacity" => 50
]
]
],
"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" => 1800000,
"FramerateControl" => "INITIALIZE_FROM_SOURCE",
"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" => "INITIALIZE_FROM_SOURCE",
"NumberBFramesBetweenReferenceFrames" => 2,
"RepeatPps" => "DISABLED",
"DynamicSubGop" => "STATIC"
]
],
"AfdSignaling" => "NONE",
"DropFrameTimecode" => "ENABLED",
"RespondToAfd" => "NONE",
"ColorMetadata" => "INSERT"
],
"AudioDescriptions" => [
"AudioTypeControl" => "FOLLOW_INPUT",
"AudioSourceName" => "Audio Selector 1",
"CodecSettings" => [
"Codec" => "AAC",
"AacSettings" => [
"AudioDescriptionBroadcasterMix" => "NORMAL",
"Bitrate" => 96000,
"RateControlMode" => "CBR",
"CodecProfile" => "LC",
"CodingMode" => "CODING_MODE_2_0",
"RawFormat" => "NONE",
"SampleRate" => 48000,
"Specification" => "MPEG4"
]
],
"LanguageCodeControl" => "FOLLOW_INPUT"
],
["Extension" => "mp4"],
["NameModifier" => "-720p"]
],
"OutputGroupSettings" => [
"Type" => "FILE_GROUP_SETTINGS",
"FileGroupSettings" => [
"Destination" => "s3://me/my-folder"
]
]
]
],
"AdAvailOffset" => 0,
"Inputs" => [
[
"AudioSelectors" => [
"Audio Selector 1" => [
"Offset" => 0,
"DefaultSelection" => "DEFAULT",
"ProgramSelection" => 1
]
],
"FilterEnable" => "AUTO",
"PsiControl" => "USE_PSI",
"FilterStrength" => 0,
"DeblockFilter" => "DISABLED",
"DenoiseFilter" => "DISABLED",
"TimecodeSource" => "EMBEDDED",
"FileInput" => "s3://me-again/my-folder/my-video.mp4"
]
],
"AccelerationSettings" => [
"Mode" => "DISABLED"
],
"StatusUpdateInterval" => "SECONDS_60",
"Priority" => 0
];```

我解决了这个问题。

我从MediaConvert获得了JSON,然后分五个步骤创建了我的PHP:

  1. array(替换所有{
  2. 将所有:替换为=>
  3. 将所有[替换为array(
  4. 将所有}替换为)
  5. 将所有]替换为)

做完这件事后,第一次就完美地工作了。

最新更新