0

Hello im trying to convert an MP4 files which is in my S3 Buket into a .HLS streaming file using the PHP SDK.

It is actually so hard for me to create a job using the API...

Im getting this error :

Error executing "CreateJob" on "https://*******.mediaconvert.eu-west-3.amazonaws.com/2017-08-29/jobs"; AWS HTTP error: Client error: `POST https://183ds3ywc.mediaconvert.eu-west-3.amazonaws.com/2017-08-29/jobs` resulted in a `400 Bad Request` response: { "errorType": "BadRequestException", "httpStatus" : 400, "requestId" : "60ac6a68-63f5-4412-a880-d36fb4f00436", (truncated...) BadRequestException (client): /outputGroups/0/outputGroupSettings/fileGroupSettings: Should match all dependencies: See other errors for more details | /outputGroups/0/outputGroupSettings/type: Must be FILE_GROUP_SETTINGS - { "errorType": "BadRequestException", "httpStatus" : 400, "requestId" : "60ac6a64-63f5-4412-a80-d36fb2f00436", "message" : "/outputGroups/0/outputGroupSettings/fileGroupSettings: Should match all dependencies: See other errors for more details | /outputGroups/0/outputGroupSettings/type: Must be FILE_GROUP_SETTINGS", "settingsValidationErrorsJsonBlob" : "[{\"message\":\"Should match all dependencies: See other errors for more details\",\"dataPath\":[\"/outputGroups/0/outputGroupSettings/fileGroupSettings\"]},{\"message\":\"Must be FILE_GROUP_SETTINGS\",\"dataPath\":[\"/outputGroups/0/outputGroupSettings/type\"]}]" }

My code is :

$mediaConvertClient = new MediaConvertClient([
    'version' => 'latest',
    'region' => 'eu-west-3',
    'endpoint' => 'https://********.mediaconvert.eu-west-3.amazonaws.com',
    'credentials' => [
        'key'    => '*******',
        'secret' => '*******',
    ],
]);
$jobSetting = [
    "OutputGroups" => [
        [
            "Name" => "Apple HLS",
            "OutputGroupSettings" => [
                "Type" => "HLS_GROUP_SETTINGS",
                "FileGroupSettings" => [
                    "Destination" => "s3://my-bucket/"
                ]
            ],
            "Outputs" => [
                [
                    // Will use default Audio Source 1
                    "Preset" => "System-Avc_16x9_360p_29_97fps_600kbps",
                    "NameModifier" => "_modify"
                ],
            ]
        ]
    ],
    "AdAvailOffset" => 0,
    "Inputs" => [
        [
            "AudioSelectors" => [
                "Audio Selector 1" => [
                    "Offset" => 0,
                    "DefaultSelection" => "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://my-bucket/testvid.mp4"
        ]
    ],
    "TimecodeConfig" => [
        "Source" => "EMBEDDED"
    ]
];

If someone can help me it would be nice ! Have a great day.

kreZy
  • 1

1 Answers1

0

Looks like a member in OutputGroupSettings is incorrect. You should use HlsGroupSettings instead of FileGroupSettings.

https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-mediaconvert-2017-08-29.html#createjob

HlsGroupSettings Type: HlsGroupSettings structure Settings related to your HLS output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html. When you work directly in your JSON job specification, include this object and any required children when you set Type, under OutputGroupSettings, to HLS_GROUP_SETTINGS.

JeffH-AWS
  • 146
  • 4