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"
}
asked 5 years ago247 views
3 Answers
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.

answered 5 years ago
0

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

answered 4 years ago
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(); }

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions