Object does not match "h265" error when creating a MediaLive channel

0

Hi,
I'm trying to create a MediaLive channel with input specifications:
Input codec: HEVC
Input resolution: UHD
Max input bitrate: MAX_20_MBPS

The channel's input is RTMP and outputs HLS to a CDN. I have one output group only, the codec settings for which are H265. When I try to save the channel I get the error:
videoDescriptions[0].codecSettings
Object does not match "h265"

Now I've checked the a few times the settings and the actual json that's being sent out and I can't seem to find anything wrong with it. Could this be an issue with the validation or is there something else that I'm missing out?

Also here's the json that's being sent and fails with the validation error:

{
    "name": "RTMPtoHLS4KHEVC",
    "inputAttachments": [{
        "inputAttachmentName": "RTMP Push",
        "inputId": "3754057",
        "inputSettings": {
            "sourceEndBehavior": "CONTINUE",
            "inputFilter": "AUTO",
            "filterStrength": 1,
            "deblockFilter": "DISABLED",
            "denoiseFilter": "DISABLED"
        }
    }],
    "inputSpecification": {
        "codec": "HEVC",
        "resolution": "UHD",
        "maximumBitrate": "MAX_20_MBPS"
    },
    "destinations": [{
        "settings": [{
            "url": "https://post.ioio-i.akamaihd.net/814841/testStream01_2/4ktesting/master"
        }],
        "id": "3nbjai"
    }],
    "encoderSettings": {
        "audioDescriptions": [{
            "name": "2160p_audio_settings",
            "codecSettingsChoice": "AAC",
            "languageCodeControl": "FOLLOW_INPUT",
            "audioTypeControl": "FOLLOW_INPUT",
            "codecSettings": {
                "aacSettings": {
                    "codingMode": "CODING_MODE_2_0",
                    "profile": "LC",
                    "bitrate": "96000",
                    "sampleRate": 48000,
                    "inputType": "NORMAL",
                    "rawFormat": "NONE",
                    "spec": "MPEG4",
                    "rateControlMode": "CBR"
                }
            }
        }],
        "outputGroups": [{
            "name": "HLS",
            "outputGroupSettingsChoice": "hls_group",
            "outputGroupSettings": {
                "hlsGroupSettings": {
                    "inputLossAction": "EMIT_OUTPUT",
                    "directoryStructure": "SINGLE_DIRECTORY",
                    "segmentsPerSubdirectory": 10000,
                    "outputSelection": "MANIFESTS_AND_SEGMENTS",
                    "mode": "LIVE",
                    "tsFileMode": "SEGMENTED_FILES",
                    "streamInfResolution": "INCLUDE",
                    "manifestDurationFormat": "FLOATING_POINT",
                    "segmentLength": 6,
                    "indexNSegments": 10,
                    "keepSegments": 21,
                    "segmentationMode": "USE_SEGMENT_DURATION",
                    "iFrameOnlyPlaylists": "DISABLED",
                    "programDateTime": "EXCLUDE",
                    "programDateTimePeriod": 600,
                    "clientCache": "ENABLED",
                    "codecSpecification": "RFC_6381",
                    "manifestCompression": "NONE",
                    "redundantManifest": "DISABLED",
                    "ivInManifest": "INCLUDE",
                    "ivSource": "FOLLOWS_SEGMENT_NUMBER",
                    "captionLanguageSetting": "OMIT",
                    "timedMetadataId3Frame": "PRIV",
                    "timedMetadataId3Period": 10,
                    "destination": {
                        "destinationRefId": "3nbjai"
                    },
                    "hlsCdnSettings": {
                        "hlsAkamaiSettings": {
                            "connectionRetryInterval": 1,
                            "numRetries": 10,
                            "filecacheDuration": 300,
                            "restartDelay": 15,
                            "httpTransferMode": "CHUNKED"
                        }
                    }
                }
            },
            "outputs": [{
                "outputName": "yru1d",
                "outputSettings": {
                    "hlsOutputSettings": {
                        "nameModifier": "_$w$x$h$_$rc$",
                        "hlsSettings": {
                            "standardHlsSettings": {
                                "audioRenditionSets": "program_audio",
                                "m3u8Settings": {
                                    "programNum": 1,
                                    "audioFramesPerPes": 4,
                                    "pmtPid": "480",
                                    "videoPid": "481",
                                    "pcrControl": "PCR_EVERY_PES_PACKET",
                                    "audioPids": "492-498",
                                    "scte35Behavior": "NO_PASSTHROUGH",
                                    "scte35Pid": "500",
                                    "timedMetadataBehavior": "NO_PASSTHROUGH",
                                    "timedMetadataPid": "502"
                                }
                            }
                        }
                    }
                },
                "videoDescriptionName": "2160p_video_settings",
                "audioDescriptionNames": ["2160p_audio_settings"],
                "outputSettingsChoice": "hls"
            }]
        }],
        "videoDescriptions": [{
            "name": "2160p_video_settings",
            "scalingBehavior": "DEFAULT",
            "sharpness": 50,
            "respondToAfd": "NONE",
            "width": 3840,
            "height": 2160,
            "codecSettings": {
                "h265Settings": {
                    "parNumerator": 1,
                    "parDenominator": 1,
                    "afdSignaling": "NONE",
                    "rateControlMode": "QVBR",
                    "bitrate": 1000000,
                    "scanType": "PROGRESSIVE",
                    "gopSize": 3,
                    "gopSizeUnits": "SECONDS",
                    "gopClosedCadence": 1,
                    "sceneChangeDetect": "ENABLED",
                    "profile": "MAIN",
                    "tier": "HIGH",
                    "level": "H265_LEVEL_AUTO",
                    "adaptiveQuantization": "HIGH",
                    "flickerAq": "ENABLED",
                    "colorMetadata": "INSERT",
                    "lookAheadRateControl": "HIGH",
                    "alternativeTransferFunction": "OMIT",
                    "timecodeInsertion": "DISABLED",
                    "maxBitrate": 11500000,
                    "qvbrQualityLevel": 10
                }
            }
        }],
        "timecodeConfig": {
            "source": "EMBEDDED"
        },
        "globalConfiguration": {
            "inputEndAction": "NONE",
            "outputTimingSource": "INPUT_CLOCK",
            "supportLowFramerateInputs": "DISABLED",
            "outputLockingMode": "PIPELINE_LOCKING",
            "inputLossBehavior": {
                "repeatFrameMsec": 1000,
                "blackFrameMsec": 10000,
                "inputLossImageType": "SLATE",
                "inputLossImageColor": "000000",
                "inputLossImageSlate": {
                    "uri": "https://live-test-bucket-tokyo.s3-ap-northeast-1.amazonaws.com/smpte-color-bars-1080p.png"
                }
            }
        }
    },
    "requestId": "1569585158382",
    "logLevel": "DISABLED",
    "channelClass": "SINGLE_PIPELINE",
    "roleArn": "arn:aws:iam::679554989631:role/live-qa-stg-develop-RoleMediaLive-PXCTCRBTSREG"
}
已提问 5 年前266 查看次数
3 回答
0

ChristoChristoph

Please set the Framerate Numerator and Denominator under Codec Settings - Frame Rate.

I was able to repro the same error condition as you had experienced when I did not set those to fields. However, once set the channel was created. I will mention this to engineering to see if we can get the error description to be more descriptive.

已回答 5 年前
0

Thanks,
I've set it the way you described and that worked for me as well.

已回答 5 年前
0

I had a similar error: Object does not match "h264"
Essentially this means the request has parameters that are invalid. E.g. Bitrate must be >= 1000

My problem was I used Newtonsoft to convert the request to/from JSON and nullable properties were not compatible with this technique.
In particular, the Bitrate property was supposed to be null but ended up being 0 because of the getter:
get { return this._bitrate.GetValueOrDefault(); }

已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则