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 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南