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"
}
preguntada hace 5 años266 visualizaciones
3 Respuestas
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.

respondido hace 5 años
0

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

respondido hace 5 años
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(); }

respondido hace un año

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas