Class: AWSCDK::MediaLive::CfnChannel::H264SettingsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
media_live/cfn_channel.rb

Overview

The settings for the H.264 codec in the output.

The parent of this entity is VideoCodecSettings.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(adaptive_quantization: nil, afd_signaling: nil, bitrate: nil, buf_fill_pct: nil, buf_size: nil, color_metadata: nil, color_space_settings: nil, entropy_encoding: nil, filter_settings: nil, fixed_afd: nil, flicker_aq: nil, force_field_pictures: nil, framerate_control: nil, framerate_denominator: nil, framerate_numerator: nil, gop_b_reference: nil, gop_closed_cadence: nil, gop_num_b_frames: nil, gop_size: nil, gop_size_units: nil, level: nil, look_ahead_rate_control: nil, max_bitrate: nil, min_bitrate: nil, min_i_interval: nil, min_qp: nil, num_ref_frames: nil, par_control: nil, par_denominator: nil, par_numerator: nil, profile: nil, quality_level: nil, qvbr_quality_level: nil, rate_control_mode: nil, scan_type: nil, scene_change_detect: nil, slices: nil, softness: nil, spatial_aq: nil, subgop_length: nil, syntax: nil, temporal_aq: nil, timecode_burnin_settings: nil, timecode_insertion: nil) ⇒ H264SettingsProperty

Returns a new instance of H264SettingsProperty.

Parameters:

  • adaptive_quantization (String, nil) (defaults to: nil)

    The adaptive quantization.

  • afd_signaling (String, nil) (defaults to: nil)

    Indicates that AFD values will be written into the output stream.

  • bitrate (Numeric, nil) (defaults to: nil)

    The average bitrate in bits/second.

  • buf_fill_pct (Numeric, nil) (defaults to: nil)

    The percentage of the buffer that should initially be filled (HRD buffer model).

  • buf_size (Numeric, nil) (defaults to: nil)

    The size of the buffer (HRD buffer model) in bits/second.

  • color_metadata (String, nil) (defaults to: nil)

    Includes color space metadata in the output.

  • color_space_settings (AWSCDK::IResolvable, AWSCDK::MediaLive::CfnChannel::H264ColorSpaceSettingsProperty, nil) (defaults to: nil)

    Settings to configure the color space handling for the video.

  • entropy_encoding (String, nil) (defaults to: nil)

    The entropy encoding mode.

  • filter_settings (AWSCDK::IResolvable, AWSCDK::MediaLive::CfnChannel::H264FilterSettingsProperty, nil) (defaults to: nil)

    Optional filters that you can apply to an encode.

  • fixed_afd (String, nil) (defaults to: nil)

    A four-bit AFD value to write on all frames of video in the output stream.

  • flicker_aq (String, nil) (defaults to: nil)

    If set to enabled, adjusts the quantization within each frame to reduce flicker or pop on I-frames.

  • force_field_pictures (String, nil) (defaults to: nil)

    This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.) enabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately. disabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content.

  • framerate_control (String, nil) (defaults to: nil)

    Indicates how the output video frame rate is specified.

  • framerate_denominator (Numeric, nil) (defaults to: nil)

    The frame rate denominator.

  • framerate_numerator (Numeric, nil) (defaults to: nil)

    The frame rate numerator.

  • gop_b_reference (String, nil) (defaults to: nil)

    If enabled, uses reference B frames for GOP structures that have B frames > 1.

  • gop_closed_cadence (Numeric, nil) (defaults to: nil)

    The frequency of closed GOPs.

  • gop_num_b_frames (Numeric, nil) (defaults to: nil)

    The number of B-frames between reference frames.

  • gop_size (Numeric, nil) (defaults to: nil)

    The GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.

  • gop_size_units (String, nil) (defaults to: nil)

    Indicates if the gopSize is specified in frames or seconds.

  • level (String, nil) (defaults to: nil)

    The H.264 level.

  • look_ahead_rate_control (String, nil) (defaults to: nil)

    The amount of lookahead.

  • max_bitrate (Numeric, nil) (defaults to: nil)

    For QVBR: See the tooltip for Quality level.

  • min_bitrate (Numeric, nil) (defaults to: nil)
  • min_i_interval (Numeric, nil) (defaults to: nil)

    Meaningful only if sceneChangeDetect is set to enabled.

  • min_qp (Numeric, nil) (defaults to: nil)
  • num_ref_frames (Numeric, nil) (defaults to: nil)

    The number of reference frames to use.

  • par_control (String, nil) (defaults to: nil)

    Indicates how the output pixel aspect ratio is specified.

  • par_denominator (Numeric, nil) (defaults to: nil)

    The Pixel Aspect Ratio denominator.

  • par_numerator (Numeric, nil) (defaults to: nil)

    The Pixel Aspect Ratio numerator.

  • profile (String, nil) (defaults to: nil)

    An H.264 profile.

  • quality_level (String, nil) (defaults to: nil)

    Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel).

  • qvbr_quality_level (Numeric, nil) (defaults to: nil)

    Controls the target quality for the video encode.

  • rate_control_mode (String, nil) (defaults to: nil)

    The rate control mode.

  • scan_type (String, nil) (defaults to: nil)

    Sets the scan type of the output to progressive or top-field-first interlaced.

  • scene_change_detect (String, nil) (defaults to: nil)

    The scene change detection.

  • slices (Numeric, nil) (defaults to: nil)

    The number of slices per picture.

  • softness (Numeric, nil) (defaults to: nil)

    Softness.

  • spatial_aq (String, nil) (defaults to: nil)

    If set to enabled, adjusts quantization within each frame based on the spatial variation of content complexity.

  • subgop_length (String, nil) (defaults to: nil)

    If set to fixed, uses gopNumBFrames B-frames per sub-GOP.

  • syntax (String, nil) (defaults to: nil)

    Produces a bitstream that is compliant with SMPTE RP-2027.

  • temporal_aq (String, nil) (defaults to: nil)

    If set to enabled, adjusts quantization within each frame based on the temporal variation of content complexity.

  • timecode_burnin_settings (AWSCDK::IResolvable, AWSCDK::MediaLive::CfnChannel::TimecodeBurninSettingsProperty, nil) (defaults to: nil)
  • timecode_insertion (String, nil) (defaults to: nil)

    Determines how timecodes should be inserted into the video elementary stream.



6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
# File 'media_live/cfn_channel.rb', line 6262

def initialize(adaptive_quantization: nil, afd_signaling: nil, bitrate: nil, buf_fill_pct: nil, buf_size: nil, color_metadata: nil, color_space_settings: nil, entropy_encoding: nil, filter_settings: nil, fixed_afd: nil, flicker_aq: nil, force_field_pictures: nil, framerate_control: nil, framerate_denominator: nil, framerate_numerator: nil, gop_b_reference: nil, gop_closed_cadence: nil, gop_num_b_frames: nil, gop_size: nil, gop_size_units: nil, level: nil, look_ahead_rate_control: nil, max_bitrate: nil, min_bitrate: nil, min_i_interval: nil, min_qp: nil, num_ref_frames: nil, par_control: nil, par_denominator: nil, par_numerator: nil, profile: nil, quality_level: nil, qvbr_quality_level: nil, rate_control_mode: nil, scan_type: nil, scene_change_detect: nil, slices: nil, softness: nil, spatial_aq: nil, subgop_length: nil, syntax: nil, temporal_aq: nil, timecode_burnin_settings: nil, timecode_insertion: nil)
  @adaptive_quantization = adaptive_quantization
  Jsii::Type.check_type(@adaptive_quantization, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "adaptiveQuantization") unless @adaptive_quantization.nil?
  @afd_signaling = afd_signaling
  Jsii::Type.check_type(@afd_signaling, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "afdSignaling") unless @afd_signaling.nil?
  @bitrate = bitrate
  Jsii::Type.check_type(@bitrate, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "bitrate") unless @bitrate.nil?
  @buf_fill_pct = buf_fill_pct
  Jsii::Type.check_type(@buf_fill_pct, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "bufFillPct") unless @buf_fill_pct.nil?
  @buf_size = buf_size
  Jsii::Type.check_type(@buf_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "bufSize") unless @buf_size.nil?
  @color_metadata = 
  Jsii::Type.check_type(@color_metadata, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "colorMetadata") unless @color_metadata.nil?
  @color_space_settings = color_space_settings.is_a?(Hash) ? ::AWSCDK::MediaLive::CfnChannel::H264ColorSpaceSettingsProperty.new(**color_space_settings.transform_keys(&:to_sym)) : color_space_settings
  Jsii::Type.check_type(@color_space_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWxpdmUuQ2ZuQ2hhbm5lbC5IMjY0Q29sb3JTcGFjZVNldHRpbmdzUHJvcGVydHkifV19fQ==")), "colorSpaceSettings") unless @color_space_settings.nil?
  @entropy_encoding = entropy_encoding
  Jsii::Type.check_type(@entropy_encoding, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "entropyEncoding") unless @entropy_encoding.nil?
  @filter_settings = filter_settings.is_a?(Hash) ? ::AWSCDK::MediaLive::CfnChannel::H264FilterSettingsProperty.new(**filter_settings.transform_keys(&:to_sym)) : filter_settings
  Jsii::Type.check_type(@filter_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWxpdmUuQ2ZuQ2hhbm5lbC5IMjY0RmlsdGVyU2V0dGluZ3NQcm9wZXJ0eSJ9XX19")), "filterSettings") unless @filter_settings.nil?
  @fixed_afd = fixed_afd
  Jsii::Type.check_type(@fixed_afd, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fixedAfd") unless @fixed_afd.nil?
  @flicker_aq = flicker_aq
  Jsii::Type.check_type(@flicker_aq, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "flickerAq") unless @flicker_aq.nil?
  @force_field_pictures = force_field_pictures
  Jsii::Type.check_type(@force_field_pictures, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "forceFieldPictures") unless @force_field_pictures.nil?
  @framerate_control = framerate_control
  Jsii::Type.check_type(@framerate_control, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "framerateControl") unless @framerate_control.nil?
  @framerate_denominator = framerate_denominator
  Jsii::Type.check_type(@framerate_denominator, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "framerateDenominator") unless @framerate_denominator.nil?
  @framerate_numerator = framerate_numerator
  Jsii::Type.check_type(@framerate_numerator, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "framerateNumerator") unless @framerate_numerator.nil?
  @gop_b_reference = gop_b_reference
  Jsii::Type.check_type(@gop_b_reference, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "gopBReference") unless @gop_b_reference.nil?
  @gop_closed_cadence = gop_closed_cadence
  Jsii::Type.check_type(@gop_closed_cadence, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "gopClosedCadence") unless @gop_closed_cadence.nil?
  @gop_num_b_frames = gop_num_b_frames
  Jsii::Type.check_type(@gop_num_b_frames, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "gopNumBFrames") unless @gop_num_b_frames.nil?
  @gop_size = gop_size
  Jsii::Type.check_type(@gop_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "gopSize") unless @gop_size.nil?
  @gop_size_units = gop_size_units
  Jsii::Type.check_type(@gop_size_units, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "gopSizeUnits") unless @gop_size_units.nil?
  @level = level
  Jsii::Type.check_type(@level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "level") unless @level.nil?
  @look_ahead_rate_control = look_ahead_rate_control
  Jsii::Type.check_type(@look_ahead_rate_control, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "lookAheadRateControl") unless @look_ahead_rate_control.nil?
  @max_bitrate = max_bitrate
  Jsii::Type.check_type(@max_bitrate, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxBitrate") unless @max_bitrate.nil?
  @min_bitrate = min_bitrate
  Jsii::Type.check_type(@min_bitrate, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minBitrate") unless @min_bitrate.nil?
  @min_i_interval = min_i_interval
  Jsii::Type.check_type(@min_i_interval, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minIInterval") unless @min_i_interval.nil?
  @min_qp = min_qp
  Jsii::Type.check_type(@min_qp, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minQp") unless @min_qp.nil?
  @num_ref_frames = num_ref_frames
  Jsii::Type.check_type(@num_ref_frames, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "numRefFrames") unless @num_ref_frames.nil?
  @par_control = par_control
  Jsii::Type.check_type(@par_control, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "parControl") unless @par_control.nil?
  @par_denominator = par_denominator
  Jsii::Type.check_type(@par_denominator, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "parDenominator") unless @par_denominator.nil?
  @par_numerator = par_numerator
  Jsii::Type.check_type(@par_numerator, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "parNumerator") unless @par_numerator.nil?
  @profile = profile
  Jsii::Type.check_type(@profile, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "profile") unless @profile.nil?
  @quality_level = quality_level
  Jsii::Type.check_type(@quality_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "qualityLevel") unless @quality_level.nil?
  @qvbr_quality_level = qvbr_quality_level
  Jsii::Type.check_type(@qvbr_quality_level, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "qvbrQualityLevel") unless @qvbr_quality_level.nil?
  @rate_control_mode = rate_control_mode
  Jsii::Type.check_type(@rate_control_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "rateControlMode") unless @rate_control_mode.nil?
  @scan_type = scan_type
  Jsii::Type.check_type(@scan_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "scanType") unless @scan_type.nil?
  @scene_change_detect = scene_change_detect
  Jsii::Type.check_type(@scene_change_detect, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sceneChangeDetect") unless @scene_change_detect.nil?
  @slices = slices
  Jsii::Type.check_type(@slices, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "slices") unless @slices.nil?
  @softness = softness
  Jsii::Type.check_type(@softness, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "softness") unless @softness.nil?
  @spatial_aq = spatial_aq
  Jsii::Type.check_type(@spatial_aq, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "spatialAq") unless @spatial_aq.nil?
  @subgop_length = subgop_length
  Jsii::Type.check_type(@subgop_length, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "subgopLength") unless @subgop_length.nil?
  @syntax = syntax
  Jsii::Type.check_type(@syntax, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "syntax") unless @syntax.nil?
  @temporal_aq = temporal_aq
  Jsii::Type.check_type(@temporal_aq, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "temporalAq") unless @temporal_aq.nil?
  @timecode_burnin_settings = timecode_burnin_settings.is_a?(Hash) ? ::AWSCDK::MediaLive::CfnChannel::TimecodeBurninSettingsProperty.new(**timecode_burnin_settings.transform_keys(&:to_sym)) : timecode_burnin_settings
  Jsii::Type.check_type(@timecode_burnin_settings, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tZWRpYWxpdmUuQ2ZuQ2hhbm5lbC5UaW1lY29kZUJ1cm5pblNldHRpbmdzUHJvcGVydHkifV19fQ==")), "timecodeBurninSettings") unless @timecode_burnin_settings.nil?
  @timecode_insertion = timecode_insertion
  Jsii::Type.check_type(@timecode_insertion, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "timecodeInsertion") unless @timecode_insertion.nil?
end

Instance Attribute Details

#adaptive_quantizationString? (readonly)

The adaptive quantization.

This allows intra-frame quantizers to vary to improve visual quality.



6359
6360
6361
# File 'media_live/cfn_channel.rb', line 6359

def adaptive_quantization
  @adaptive_quantization
end

#afd_signalingString? (readonly)

Indicates that AFD values will be written into the output stream.

If afdSignaling is auto, the system tries to preserve the input AFD value (in cases where multiple AFD values are valid). If set to fixed, the AFD value is the value configured in the fixedAfd parameter.



6366
6367
6368
# File 'media_live/cfn_channel.rb', line 6366

def afd_signaling
  @afd_signaling
end

#bitrateNumeric? (readonly)

The average bitrate in bits/second.

This is required when the rate control mode is VBR or CBR. It isn't used for QVBR. In a Microsoft Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000.



6373
6374
6375
# File 'media_live/cfn_channel.rb', line 6373

def bitrate
  @bitrate
end

#buf_fill_pctNumeric? (readonly)

The percentage of the buffer that should initially be filled (HRD buffer model).



6378
6379
6380
# File 'media_live/cfn_channel.rb', line 6378

def buf_fill_pct
  @buf_fill_pct
end

#buf_sizeNumeric? (readonly)

The size of the buffer (HRD buffer model) in bits/second.



6383
6384
6385
# File 'media_live/cfn_channel.rb', line 6383

def buf_size
  @buf_size
end

#color_metadataString? (readonly)

Includes color space metadata in the output.



6388
6389
6390
# File 'media_live/cfn_channel.rb', line 6388

def 
  @color_metadata
end

#color_space_settingsAWSCDK::IResolvable, ... (readonly)

Settings to configure the color space handling for the video.



6393
6394
6395
# File 'media_live/cfn_channel.rb', line 6393

def color_space_settings
  @color_space_settings
end

#entropy_encodingString? (readonly)

The entropy encoding mode.

Use cabac (must be in Main or High profile) or cavlc.



6400
6401
6402
# File 'media_live/cfn_channel.rb', line 6400

def entropy_encoding
  @entropy_encoding
end

#filter_settingsAWSCDK::IResolvable, ... (readonly)

Optional filters that you can apply to an encode.



6405
6406
6407
# File 'media_live/cfn_channel.rb', line 6405

def filter_settings
  @filter_settings
end

#fixed_afdString? (readonly)

A four-bit AFD value to write on all frames of video in the output stream.

Valid only when afdSignaling is set to Fixed.



6412
6413
6414
# File 'media_live/cfn_channel.rb', line 6412

def fixed_afd
  @fixed_afd
end

#flicker_aqString? (readonly)

If set to enabled, adjusts the quantization within each frame to reduce flicker or pop on I-frames.



6417
6418
6419
# File 'media_live/cfn_channel.rb', line 6417

def flicker_aq
  @flicker_aq
end

#force_field_picturesString? (readonly)

This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.) enabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately. disabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content.



6422
6423
6424
# File 'media_live/cfn_channel.rb', line 6422

def force_field_pictures
  @force_field_pictures
end

#framerate_controlString? (readonly)

Indicates how the output video frame rate is specified.

If you select "specified," the output video frame rate is determined by framerateNumerator and framerateDenominator. If you select "initializeFromSource," the output video frame rate is set equal to the input video frame rate of the first input.



6429
6430
6431
# File 'media_live/cfn_channel.rb', line 6429

def framerate_control
  @framerate_control
end

#framerate_denominatorNumeric? (readonly)

The frame rate denominator.



6434
6435
6436
# File 'media_live/cfn_channel.rb', line 6434

def framerate_denominator
  @framerate_denominator
end

#framerate_numeratorNumeric? (readonly)

The frame rate numerator.

The frame rate is a fraction, for example, 24000/1001 = 23.976 fps.



6441
6442
6443
# File 'media_live/cfn_channel.rb', line 6441

def framerate_numerator
  @framerate_numerator
end

#gop_b_referenceString? (readonly)

If enabled, uses reference B frames for GOP structures that have B frames > 1.



6446
6447
6448
# File 'media_live/cfn_channel.rb', line 6446

def gop_b_reference
  @gop_b_reference
end

#gop_closed_cadenceNumeric? (readonly)

The frequency of closed GOPs.

In streaming applications, we recommend that you set this to 1 so that a decoder joining mid-stream will receive an IDR frame as quickly as possible. Setting this value to 0 will break output segmenting.



6453
6454
6455
# File 'media_live/cfn_channel.rb', line 6453

def gop_closed_cadence
  @gop_closed_cadence
end

#gop_num_b_framesNumeric? (readonly)

The number of B-frames between reference frames.



6458
6459
6460
# File 'media_live/cfn_channel.rb', line 6458

def gop_num_b_frames
  @gop_num_b_frames
end

#gop_sizeNumeric? (readonly)

The GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.

The value must be greater than zero.



6465
6466
6467
# File 'media_live/cfn_channel.rb', line 6465

def gop_size
  @gop_size
end

#gop_size_unitsString? (readonly)

Indicates if the gopSize is specified in frames or seconds.

If seconds, the system converts the gopSize into a frame count at runtime.



6472
6473
6474
# File 'media_live/cfn_channel.rb', line 6472

def gop_size_units
  @gop_size_units
end

#levelString? (readonly)

The H.264 level.



6477
6478
6479
# File 'media_live/cfn_channel.rb', line 6477

def level
  @level
end

#look_ahead_rate_controlString? (readonly)

The amount of lookahead.

A value of low can decrease latency and memory usage, while high can produce better quality for certain content.



6484
6485
6486
# File 'media_live/cfn_channel.rb', line 6484

def look_ahead_rate_control
  @look_ahead_rate_control
end

#max_bitrateNumeric? (readonly)

For QVBR: See the tooltip for Quality level.

For VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video.



6491
6492
6493
# File 'media_live/cfn_channel.rb', line 6491

def max_bitrate
  @max_bitrate
end

#min_bitrateNumeric? (readonly)



6494
6495
6496
# File 'media_live/cfn_channel.rb', line 6494

def min_bitrate
  @min_bitrate
end

#min_i_intervalNumeric? (readonly)

Meaningful only if sceneChangeDetect is set to enabled.

This setting enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection. If a scene change I-frame is within I-interval frames of a cadence I-frame, the GOP is shrunk or stretched to the scene change I-frame. GOP stretch requires enabling lookahead as well as setting the I-interval. The normal cadence resumes for the next GOP. Note that the maximum GOP stretch = GOP size + Min-I-interval - 1.



6501
6502
6503
# File 'media_live/cfn_channel.rb', line 6501

def min_i_interval
  @min_i_interval
end

#min_qpNumeric? (readonly)



6504
6505
6506
# File 'media_live/cfn_channel.rb', line 6504

def min_qp
  @min_qp
end

#num_ref_framesNumeric? (readonly)

The number of reference frames to use.

The encoder might use more than requested if you use B-frames or interlaced encoding.



6511
6512
6513
# File 'media_live/cfn_channel.rb', line 6511

def num_ref_frames
  @num_ref_frames
end

#par_controlString? (readonly)

Indicates how the output pixel aspect ratio is specified.

If "specified" is selected, the output video pixel aspect ratio is determined by parNumerator and parDenominator. If "initializeFromSource" is selected, the output pixels aspect ratio will be set equal to the input video pixel aspect ratio of the first input.



6518
6519
6520
# File 'media_live/cfn_channel.rb', line 6518

def par_control
  @par_control
end

#par_denominatorNumeric? (readonly)

The Pixel Aspect Ratio denominator.



6523
6524
6525
# File 'media_live/cfn_channel.rb', line 6523

def par_denominator
  @par_denominator
end

#par_numeratorNumeric? (readonly)

The Pixel Aspect Ratio numerator.



6528
6529
6530
# File 'media_live/cfn_channel.rb', line 6528

def par_numerator
  @par_numerator
end

#profileString? (readonly)

An H.264 profile.



6533
6534
6535
# File 'media_live/cfn_channel.rb', line 6533

def profile
  @profile
end

#quality_levelString? (readonly)

Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel).

  • ENHANCED_QUALITY: Produces a slightly better video quality without an increase in the bitrate. Has an effect only when the Rate control mode is QVBR or CBR. If this channel is in a MediaLive multiplex, the value must be ENHANCED_QUALITY.
  • STANDARD_QUALITY: Valid for any Rate control mode.


6541
6542
6543
# File 'media_live/cfn_channel.rb', line 6541

def quality_level
  @quality_level
end

#qvbr_quality_levelNumeric? (readonly)

Controls the target quality for the video encode.

This applies only when the rate control mode is QVBR. Set values for the QVBR quality level field and Max bitrate field that suit your most important viewing devices. Recommended values are: - Primary screen: Quality level: 8 to 10. Max bitrate: 4M - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M.



6548
6549
6550
# File 'media_live/cfn_channel.rb', line 6548

def qvbr_quality_level
  @qvbr_quality_level
end

#rate_control_modeString? (readonly)

The rate control mode.

QVBR: The quality will match the specified quality level except when it is constrained by the maximum bitrate. We recommend this if you or your viewers pay for bandwidth. VBR: The quality and bitrate vary, depending on the video complexity. We recommend this instead of QVBR if you want to maintain a specific average bitrate over the duration of the channel. CBR: The quality varies, depending on the video complexity. We recommend this only if you distribute your assets to devices that can't handle variable bitrates.



6555
6556
6557
# File 'media_live/cfn_channel.rb', line 6555

def rate_control_mode
  @rate_control_mode
end

#scan_typeString? (readonly)

Sets the scan type of the output to progressive or top-field-first interlaced.



6560
6561
6562
# File 'media_live/cfn_channel.rb', line 6560

def scan_type
  @scan_type
end

#scene_change_detectString? (readonly)

The scene change detection.

On: inserts I-frames when the scene change is detected. Off: does not force an I-frame when the scene change is detected.



6567
6568
6569
# File 'media_live/cfn_channel.rb', line 6567

def scene_change_detect
  @scene_change_detect
end

#slicesNumeric? (readonly)

The number of slices per picture.

The number must be less than or equal to the number of macroblock rows for progressive pictures, and less than or equal to half the number of macroblock rows for interlaced pictures. This field is optional. If you don't specify a value, MediaLive chooses the number of slices based on the encode resolution.



6574
6575
6576
# File 'media_live/cfn_channel.rb', line 6574

def slices
  @slices
end

#softnessNumeric? (readonly)

Softness.

Selects a quantizer matrix. Larger values reduce high-frequency content in the encoded image.



6581
6582
6583
# File 'media_live/cfn_channel.rb', line 6581

def softness
  @softness
end

#spatial_aqString? (readonly)

If set to enabled, adjusts quantization within each frame based on the spatial variation of content complexity.



6586
6587
6588
# File 'media_live/cfn_channel.rb', line 6586

def spatial_aq
  @spatial_aq
end

#subgop_lengthString? (readonly)

If set to fixed, uses gopNumBFrames B-frames per sub-GOP.

If set to dynamic, optimizes the number of B-frames used for each sub-GOP to improve visual quality.



6593
6594
6595
# File 'media_live/cfn_channel.rb', line 6593

def subgop_length
  @subgop_length
end

#syntaxString? (readonly)

Produces a bitstream that is compliant with SMPTE RP-2027.



6598
6599
6600
# File 'media_live/cfn_channel.rb', line 6598

def syntax
  @syntax
end

#temporal_aqString? (readonly)

If set to enabled, adjusts quantization within each frame based on the temporal variation of content complexity.



6603
6604
6605
# File 'media_live/cfn_channel.rb', line 6603

def temporal_aq
  @temporal_aq
end

#timecode_burnin_settingsAWSCDK::IResolvable, ... (readonly)



6606
6607
6608
# File 'media_live/cfn_channel.rb', line 6606

def timecode_burnin_settings
  @timecode_burnin_settings
end

#timecode_insertionString? (readonly)

Determines how timecodes should be inserted into the video elementary stream.

disabled: don't include timecodes. picTimingSei: pass through picture timing SEI messages from the source specified in Timecode Config.



6613
6614
6615
# File 'media_live/cfn_channel.rb', line 6613

def timecode_insertion
  @timecode_insertion
end

Class Method Details

.jsii_propertiesObject



6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
# File 'media_live/cfn_channel.rb', line 6615

def self.jsii_properties
  {
    :adaptive_quantization => "adaptiveQuantization",
    :afd_signaling => "afdSignaling",
    :bitrate => "bitrate",
    :buf_fill_pct => "bufFillPct",
    :buf_size => "bufSize",
    :color_metadata => "colorMetadata",
    :color_space_settings => "colorSpaceSettings",
    :entropy_encoding => "entropyEncoding",
    :filter_settings => "filterSettings",
    :fixed_afd => "fixedAfd",
    :flicker_aq => "flickerAq",
    :force_field_pictures => "forceFieldPictures",
    :framerate_control => "framerateControl",
    :framerate_denominator => "framerateDenominator",
    :framerate_numerator => "framerateNumerator",
    :gop_b_reference => "gopBReference",
    :gop_closed_cadence => "gopClosedCadence",
    :gop_num_b_frames => "gopNumBFrames",
    :gop_size => "gopSize",
    :gop_size_units => "gopSizeUnits",
    :level => "level",
    :look_ahead_rate_control => "lookAheadRateControl",
    :max_bitrate => "maxBitrate",
    :min_bitrate => "minBitrate",
    :min_i_interval => "minIInterval",
    :min_qp => "minQp",
    :num_ref_frames => "numRefFrames",
    :par_control => "parControl",
    :par_denominator => "parDenominator",
    :par_numerator => "parNumerator",
    :profile => "profile",
    :quality_level => "qualityLevel",
    :qvbr_quality_level => "qvbrQualityLevel",
    :rate_control_mode => "rateControlMode",
    :scan_type => "scanType",
    :scene_change_detect => "sceneChangeDetect",
    :slices => "slices",
    :softness => "softness",
    :spatial_aq => "spatialAq",
    :subgop_length => "subgopLength",
    :syntax => "syntax",
    :temporal_aq => "temporalAq",
    :timecode_burnin_settings => "timecodeBurninSettings",
    :timecode_insertion => "timecodeInsertion",
  }
end

Instance Method Details

#to_jsiiObject



6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
# File 'media_live/cfn_channel.rb', line 6664

def to_jsii
  result = {}
  result.merge!({
    "adaptiveQuantization" => @adaptive_quantization,
    "afdSignaling" => @afd_signaling,
    "bitrate" => @bitrate,
    "bufFillPct" => @buf_fill_pct,
    "bufSize" => @buf_size,
    "colorMetadata" => @color_metadata,
    "colorSpaceSettings" => @color_space_settings,
    "entropyEncoding" => @entropy_encoding,
    "filterSettings" => @filter_settings,
    "fixedAfd" => @fixed_afd,
    "flickerAq" => @flicker_aq,
    "forceFieldPictures" => @force_field_pictures,
    "framerateControl" => @framerate_control,
    "framerateDenominator" => @framerate_denominator,
    "framerateNumerator" => @framerate_numerator,
    "gopBReference" => @gop_b_reference,
    "gopClosedCadence" => @gop_closed_cadence,
    "gopNumBFrames" => @gop_num_b_frames,
    "gopSize" => @gop_size,
    "gopSizeUnits" => @gop_size_units,
    "level" => @level,
    "lookAheadRateControl" => @look_ahead_rate_control,
    "maxBitrate" => @max_bitrate,
    "minBitrate" => @min_bitrate,
    "minIInterval" => @min_i_interval,
    "minQp" => @min_qp,
    "numRefFrames" => @num_ref_frames,
    "parControl" => @par_control,
    "parDenominator" => @par_denominator,
    "parNumerator" => @par_numerator,
    "profile" => @profile,
    "qualityLevel" => @quality_level,
    "qvbrQualityLevel" => @qvbr_quality_level,
    "rateControlMode" => @rate_control_mode,
    "scanType" => @scan_type,
    "sceneChangeDetect" => @scene_change_detect,
    "slices" => @slices,
    "softness" => @softness,
    "spatialAq" => @spatial_aq,
    "subgopLength" => @subgop_length,
    "syntax" => @syntax,
    "temporalAq" => @temporal_aq,
    "timecodeBurninSettings" => @timecode_burnin_settings,
    "timecodeInsertion" => @timecode_insertion,
  })
  result.compact
end