Class CfnChannel.H264SettingsProperty
The settings for the H.264 codec in the output.
Inheritance
Implements
Namespace: Amazon.CDK.AWS.MediaLive
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class H264SettingsProperty : Object, CfnChannel.IH264SettingsProperty
Syntax (vb)
Public Class H264SettingsProperty
Inherits Object
Implements CfnChannel.IH264SettingsProperty
Remarks
The parent of this entity is VideoCodecSettings.
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.MediaLive;
var h264SettingsProperty = new H264SettingsProperty {
AdaptiveQuantization = "adaptiveQuantization",
AfdSignaling = "afdSignaling",
Bitrate = 123,
BufFillPct = 123,
BufSize = 123,
ColorMetadata = "colorMetadata",
ColorSpaceSettings = new H264ColorSpaceSettingsProperty {
ColorSpacePassthroughSettings = new ColorSpacePassthroughSettingsProperty { },
Rec601Settings = new Rec601SettingsProperty { },
Rec709Settings = new Rec709SettingsProperty { }
},
EntropyEncoding = "entropyEncoding",
FilterSettings = new H264FilterSettingsProperty {
TemporalFilterSettings = new TemporalFilterSettingsProperty {
PostFilterSharpening = "postFilterSharpening",
Strength = "strength"
}
},
FixedAfd = "fixedAfd",
FlickerAq = "flickerAq",
ForceFieldPictures = "forceFieldPictures",
FramerateControl = "framerateControl",
FramerateDenominator = 123,
FramerateNumerator = 123,
GopBReference = "gopBReference",
GopClosedCadence = 123,
GopNumBFrames = 123,
GopSize = 123,
GopSizeUnits = "gopSizeUnits",
Level = "level",
LookAheadRateControl = "lookAheadRateControl",
MaxBitrate = 123,
MinIInterval = 123,
NumRefFrames = 123,
ParControl = "parControl",
ParDenominator = 123,
ParNumerator = 123,
Profile = "profile",
QualityLevel = "qualityLevel",
QvbrQualityLevel = 123,
RateControlMode = "rateControlMode",
ScanType = "scanType",
SceneChangeDetect = "sceneChangeDetect",
Slices = 123,
Softness = 123,
SpatialAq = "spatialAq",
SubgopLength = "subgopLength",
Syntax = "syntax",
TemporalAq = "temporalAq",
TimecodeBurninSettings = new TimecodeBurninSettingsProperty {
FontSize = "fontSize",
Position = "position",
Prefix = "prefix"
},
TimecodeInsertion = "timecodeInsertion"
};
Synopsis
Constructors
H264SettingsProperty() |
Properties
AdaptiveQuantization | The adaptive quantization. |
AfdSignaling | Indicates that AFD values will be written into the output stream. |
Bitrate | The average bitrate in bits/second. |
BufFillPct | The percentage of the buffer that should initially be filled (HRD buffer model). |
BufSize | The size of the buffer (HRD buffer model) in bits/second. |
ColorMetadata | Includes color space metadata in the output. |
ColorSpaceSettings | Settings to configure the color space handling for the video. |
EntropyEncoding | The entropy encoding mode. |
FilterSettings | Optional filters that you can apply to an encode. |
FixedAfd | A four-bit AFD value to write on all frames of video in the output stream. |
FlickerAq | If set to enabled, adjusts the quantization within each frame to reduce flicker or pop on I-frames. |
ForceFieldPictures | 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. |
FramerateControl | Indicates how the output video frame rate is specified. |
FramerateDenominator | The frame rate denominator. |
FramerateNumerator | The frame rate numerator. |
GopBReference | If enabled, uses reference B frames for GOP structures that have B frames > 1. |
GopClosedCadence | The frequency of closed GOPs. |
GopNumBFrames | The number of B-frames between reference frames. |
GopSize | The GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. |
GopSizeUnits | Indicates if the gopSize is specified in frames or seconds. |
Level | The H.264 level. |
LookAheadRateControl | The amount of lookahead. |
MaxBitrate | For QVBR: See the tooltip for Quality level. |
MinIInterval | Meaningful only if sceneChangeDetect is set to enabled. |
NumRefFrames | The number of reference frames to use. |
ParControl | Indicates how the output pixel aspect ratio is specified. |
ParDenominator | The Pixel Aspect Ratio denominator. |
ParNumerator | The Pixel Aspect Ratio numerator. |
Profile | An H.264 profile. |
QualityLevel | Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel). |
QvbrQualityLevel | Controls the target quality for the video encode. |
RateControlMode | The rate control mode. |
ScanType | Sets the scan type of the output to progressive or top-field-first interlaced. |
SceneChangeDetect | The scene change detection. |
Slices | The number of slices per picture. |
Softness | Softness. |
SpatialAq | If set to enabled, adjusts quantization within each frame based on the spatial variation of content complexity. |
SubgopLength | If set to fixed, uses gopNumBFrames B-frames per sub-GOP. |
Syntax | Produces a bitstream that is compliant with SMPTE RP-2027. |
TemporalAq | If set to enabled, adjusts quantization within each frame based on the temporal variation of content complexity. |
TimecodeBurninSettings | |
TimecodeInsertion | Determines how timecodes should be inserted into the video elementary stream. |
Constructors
H264SettingsProperty()
public H264SettingsProperty()
Properties
AdaptiveQuantization
The adaptive quantization.
public string AdaptiveQuantization { get; set; }
Property Value
System.String
Remarks
This allows intra-frame quantizers to vary to improve visual quality.
AfdSignaling
Indicates that AFD values will be written into the output stream.
public string AfdSignaling { get; set; }
Property Value
System.String
Remarks
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.
Bitrate
The average bitrate in bits/second.
public Nullable<double> Bitrate { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
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.
BufFillPct
The percentage of the buffer that should initially be filled (HRD buffer model).
public Nullable<double> BufFillPct { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
BufSize
The size of the buffer (HRD buffer model) in bits/second.
public Nullable<double> BufSize { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
ColorMetadata
Includes color space metadata in the output.
public string ColorMetadata { get; set; }
Property Value
System.String
Remarks
ColorSpaceSettings
Settings to configure the color space handling for the video.
public object ColorSpaceSettings { get; set; }
Property Value
System.Object
Remarks
EntropyEncoding
The entropy encoding mode.
public string EntropyEncoding { get; set; }
Property Value
System.String
Remarks
Use cabac (must be in Main or High profile) or cavlc.
FilterSettings
Optional filters that you can apply to an encode.
public object FilterSettings { get; set; }
Property Value
System.Object
Remarks
FixedAfd
A four-bit AFD value to write on all frames of video in the output stream.
public string FixedAfd { get; set; }
Property Value
System.String
Remarks
Valid only when afdSignaling is set to Fixed.
FlickerAq
If set to enabled, adjusts the quantization within each frame to reduce flicker or pop on I-frames.
public string FlickerAq { get; set; }
Property Value
System.String
Remarks
ForceFieldPictures
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.
public string ForceFieldPictures { get; set; }
Property Value
System.String
Remarks
FramerateControl
Indicates how the output video frame rate is specified.
public string FramerateControl { get; set; }
Property Value
System.String
Remarks
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.
FramerateDenominator
The frame rate denominator.
public Nullable<double> FramerateDenominator { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
FramerateNumerator
The frame rate numerator.
public Nullable<double> FramerateNumerator { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
The frame rate is a fraction, for example, 24000/1001 = 23.976 fps.
GopBReference
If enabled, uses reference B frames for GOP structures that have B frames > 1.
public string GopBReference { get; set; }
Property Value
System.String
Remarks
GopClosedCadence
The frequency of closed GOPs.
public Nullable<double> GopClosedCadence { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
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.
GopNumBFrames
The number of B-frames between reference frames.
public Nullable<double> GopNumBFrames { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
GopSize
The GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.
public Nullable<double> GopSize { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
The value must be greater than zero.
GopSizeUnits
Indicates if the gopSize is specified in frames or seconds.
public string GopSizeUnits { get; set; }
Property Value
System.String
Remarks
If seconds, the system converts the gopSize into a frame count at runtime.
Level
The H.264 level.
public string Level { get; set; }
Property Value
System.String
Remarks
LookAheadRateControl
The amount of lookahead.
public string LookAheadRateControl { get; set; }
Property Value
System.String
Remarks
A value of low can decrease latency and memory usage, while high can produce better quality for certain content.
MaxBitrate
For QVBR: See the tooltip for Quality level.
public Nullable<double> MaxBitrate { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
For VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video.
MinIInterval
Meaningful only if sceneChangeDetect is set to enabled.
public Nullable<double> MinIInterval { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
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.
NumRefFrames
The number of reference frames to use.
public Nullable<double> NumRefFrames { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
The encoder might use more than requested if you use B-frames or interlaced encoding.
ParControl
Indicates how the output pixel aspect ratio is specified.
public string ParControl { get; set; }
Property Value
System.String
Remarks
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.
ParDenominator
The Pixel Aspect Ratio denominator.
public Nullable<double> ParDenominator { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
ParNumerator
The Pixel Aspect Ratio numerator.
public Nullable<double> ParNumerator { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Profile
An H.264 profile.
public string Profile { get; set; }
Property Value
System.String
Remarks
QualityLevel
Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel).
public string QualityLevel { get; set; }
Property Value
System.String
Remarks
QvbrQualityLevel
Controls the target quality for the video encode.
public Nullable<double> QvbrQualityLevel { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
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.
RateControlMode
The rate control mode.
public string RateControlMode { get; set; }
Property Value
System.String
Remarks
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.
ScanType
Sets the scan type of the output to progressive or top-field-first interlaced.
public string ScanType { get; set; }
Property Value
System.String
Remarks
SceneChangeDetect
The scene change detection.
public string SceneChangeDetect { get; set; }
Property Value
System.String
Remarks
On: inserts I-frames when the scene change is detected. Off: does not force an I-frame when the scene change is detected.
Slices
The number of slices per picture.
public Nullable<double> Slices { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
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.
Softness
Softness.
public Nullable<double> Softness { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Selects a quantizer matrix. Larger values reduce high-frequency content in the encoded image.
SpatialAq
If set to enabled, adjusts quantization within each frame based on the spatial variation of content complexity.
public string SpatialAq { get; set; }
Property Value
System.String
Remarks
SubgopLength
If set to fixed, uses gopNumBFrames B-frames per sub-GOP.
public string SubgopLength { get; set; }
Property Value
System.String
Remarks
If set to dynamic, optimizes the number of B-frames used for each sub-GOP to improve visual quality.
Syntax
Produces a bitstream that is compliant with SMPTE RP-2027.
public string Syntax { get; set; }
Property Value
System.String
Remarks
TemporalAq
If set to enabled, adjusts quantization within each frame based on the temporal variation of content complexity.
public string TemporalAq { get; set; }
Property Value
System.String
Remarks
TimecodeBurninSettings
public object TimecodeBurninSettings { get; set; }
Property Value
System.Object
Remarks
TimecodeInsertion
Determines how timecodes should be inserted into the video elementary stream.
public string TimecodeInsertion { get; set; }
Property Value
System.String
Remarks
disabled: don't include timecodes. picTimingSei: pass through picture timing SEI messages from the source specified in Timecode Config.