Нужна помощь в создании настроек задания для AWS MediaConvert в php - PullRequest
0 голосов
/ 22 марта 2020

Я пытался создать задание MediaConverter, используя последний AWS SDK для PHP (7.4.2), и я действительно застрял в правильном создании настроек задания. Мне было интересно, может ли кто-нибудь взглянуть на этот код 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-940 c -00307b7c2a79 ", (усечено ...) BadRequestException (клиент): запрос не может быть интерпретирован. - {"errorType": "BadRequestException", "httpStatus": 400, "requestId": "388473f1-92af-4253-940 c -00307b7c2a79", "message": "Запрос не может быть интерпретирован.", " settingsValidationErrorsJsonBlob ":" "}

Я скопировал JSON для настроек непосредственно из MediaConvert, поэтому я предполагаю, что моя проблема заключается в попытке преобразовать это в объект в 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
    ];```


1 Ответ

0 голосов
/ 23 марта 2020

Я решил это.

Я взял JSON, полученный от MediaConvert, а затем создал свой PHP в пять шагов:

  1. Замените все { на array(
  2. Заменить все : на =>
  3. Заменить все [ на array(
  4. Заменить все } на )
  5. Заменить все ] с )

После этого все работало отлично, с первого раза.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...