Class H264SettingsProps.Builder
java.lang.Object
software.amazon.awscdk.services.medialive.alpha.H264SettingsProps.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<H264SettingsProps>
- Enclosing interface:
H264SettingsProps
@Stability(Experimental)
public static final class H264SettingsProps.Builder
extends Object
implements software.amazon.jsii.Builder<H264SettingsProps>
A builder for
H264SettingsProps-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionadaptiveQuantization(H264AdaptiveQuantization adaptiveQuantization) Sets the value ofH264SettingsProps.getAdaptiveQuantization()afdSignaling(AfdSignaling afdSignaling) Sets the value ofH264SettingsProps.getAfdSignaling()bufFillPct(Number bufFillPct) Sets the value ofH264SettingsProps.getBufFillPct()Sets the value ofH264SettingsProps.getBufSize()build()Builds the configured instance.colorMetadata(ColorMetadata colorMetadata) Sets the value ofH264SettingsProps.getColorMetadata()colorSpaceSettings(H264ColorSpaceSettings colorSpaceSettings) Sets the value ofH264SettingsProps.getColorSpaceSettings()entropyEncoding(H264EntropyEncoding entropyEncoding) Sets the value ofH264SettingsProps.getEntropyEncoding()filterSettings(H264FilterSettings filterSettings) Sets the value ofH264SettingsProps.getFilterSettings()Sets the value ofH264SettingsProps.getFixedAfd()Sets the value ofH264SettingsProps.getFlickerAq()forceFieldPictures(H264ForceFieldPictures forceFieldPictures) Sets the value ofH264SettingsProps.getForceFieldPictures()Sets the value ofH264SettingsProps.getFramerate()gopBReference(GopBReference gopBReference) Sets the value ofH264SettingsProps.getGopBReference()gopClosedCadence(Number gopClosedCadence) Sets the value ofH264SettingsProps.getGopClosedCadence()gopNumBFrames(Number gopNumBFrames) Sets the value ofH264SettingsProps.getGopNumBFrames()Sets the value ofH264SettingsProps.getGopSize()Sets the value ofH264SettingsProps.getLevel()lookAheadRateControl(LookAheadRateControl lookAheadRateControl) Sets the value ofH264SettingsProps.getLookAheadRateControl()minBitrate(Number minBitrate) Sets the value ofH264SettingsProps.getMinBitrate()minIInterval(Number minIInterval) Sets the value ofH264SettingsProps.getMinIInterval()Sets the value ofH264SettingsProps.getMinQp()numRefFrames(Number numRefFrames) Sets the value ofH264SettingsProps.getNumRefFrames()pixelAspectRatio(PixelAspectRatio pixelAspectRatio) Sets the value ofH264SettingsProps.getPixelAspectRatio()profile(H264Profile profile) Sets the value ofH264SettingsProps.getProfile()qualityLevel(H264QualityLevel qualityLevel) Sets the value ofH264SettingsProps.getQualityLevel()rateControl(H264RateControl rateControl) Sets the value ofH264SettingsProps.getRateControl()Sets the value ofH264SettingsProps.getScanType()sceneChangeDetect(H264SceneChangeDetect sceneChangeDetect) Sets the value ofH264SettingsProps.getSceneChangeDetect()Sets the value ofH264SettingsProps.getSlices()Sets the value ofH264SettingsProps.getSoftness()spatialAq(H264SpatialAq spatialAq) Sets the value ofH264SettingsProps.getSpatialAq()subgopLength(SubgopLength subgopLength) Sets the value ofH264SettingsProps.getSubgopLength()syntax(H264Syntax syntax) Sets the value ofH264SettingsProps.getSyntax()temporalAq(H264TemporalAq temporalAq) Sets the value ofH264SettingsProps.getTemporalAq()timecodeBurnin(TimecodeBurninSettings timecodeBurnin) Sets the value ofH264SettingsProps.getTimecodeBurnin()timecodeInsertion(TimecodeInsertion timecodeInsertion) Sets the value ofH264SettingsProps.getTimecodeInsertion()
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
adaptiveQuantization
@Stability(Experimental) public H264SettingsProps.Builder adaptiveQuantization(H264AdaptiveQuantization adaptiveQuantization) Sets the value ofH264SettingsProps.getAdaptiveQuantization()- Parameters:
adaptiveQuantization- The adaptive quantization. This allows intra-frame quantizers to vary to improve visual quality.- Returns:
this
-
afdSignaling
Sets the value ofH264SettingsProps.getAfdSignaling()- Parameters:
afdSignaling- 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.- Returns:
this
-
bufFillPct
Sets the value ofH264SettingsProps.getBufFillPct()- Parameters:
bufFillPct- Percentage of the buffer that should initially be filled (HRD buffer model).- Returns:
this
-
bufSize
Sets the value ofH264SettingsProps.getBufSize()- Parameters:
bufSize- Size of the buffer (HRD buffer model) in bits/second.- Returns:
this
-
colorMetadata
@Stability(Experimental) public H264SettingsProps.Builder colorMetadata(ColorMetadata colorMetadata) Sets the value ofH264SettingsProps.getColorMetadata()- Parameters:
colorMetadata- Whether to include color space metadata in the output.- Returns:
this
-
colorSpaceSettings
@Stability(Experimental) public H264SettingsProps.Builder colorSpaceSettings(H264ColorSpaceSettings colorSpaceSettings) Sets the value ofH264SettingsProps.getColorSpaceSettings()- Parameters:
colorSpaceSettings- Color space settings for the video.- Returns:
this
-
entropyEncoding
@Stability(Experimental) public H264SettingsProps.Builder entropyEncoding(H264EntropyEncoding entropyEncoding) Sets the value ofH264SettingsProps.getEntropyEncoding()- Parameters:
entropyEncoding- The entropy encoding mode. CABAC requires Main or High profile.- Returns:
this
-
filterSettings
@Stability(Experimental) public H264SettingsProps.Builder filterSettings(H264FilterSettings filterSettings) Sets the value ofH264SettingsProps.getFilterSettings()- Parameters:
filterSettings- Optional video filter settings.- Returns:
this
-
fixedAfd
Sets the value ofH264SettingsProps.getFixedAfd()- Parameters:
fixedAfd- Four-bit AFD value to write on all frames. Only valid when afdSignaling is FIXED. Valid values: FIXED_0000, FIXED_0010, FIXED_0011, FIXED_0100, FIXED_1000, FIXED_1001, FIXED_1010, FIXED_1011, FIXED_1100, FIXED_1101, FIXED_1110, FIXED_1111.- Returns:
this
-
flickerAq
Sets the value ofH264SettingsProps.getFlickerAq()- Parameters:
flickerAq- If enabled, adjusts quantization within each frame to reduce flicker on I-frames.- Returns:
this
-
forceFieldPictures
@Stability(Experimental) public H264SettingsProps.Builder forceFieldPictures(H264ForceFieldPictures forceFieldPictures) Sets the value ofH264SettingsProps.getForceFieldPictures()- Parameters:
forceFieldPictures- Controls whether coding is on a field basis or frame basis when scan type is interlaced.- Returns:
this
-
framerate
Sets the value ofH264SettingsProps.getFramerate()- Parameters:
framerate- The video frame rate.- Returns:
this
-
gopBReference
@Stability(Experimental) public H264SettingsProps.Builder gopBReference(GopBReference gopBReference) Sets the value ofH264SettingsProps.getGopBReference()- Parameters:
gopBReference- If enabled, uses reference B frames for GOP structures that have B frames > 1.- Returns:
this
-
gopClosedCadence
Sets the value ofH264SettingsProps.getGopClosedCadence()- Parameters:
gopClosedCadence- Frequency of closed GOPs. Set to 1 for streaming so decoders joining mid-stream get an IDR frame quickly.- Returns:
this
-
gopNumBFrames
Sets the value ofH264SettingsProps.getGopNumBFrames()- Parameters:
gopNumBFrames- The number of B-frames between reference frames.- Returns:
this
-
gopSize
Sets the value ofH264SettingsProps.getGopSize()- Parameters:
gopSize- The GOP size (keyframe interval).- Returns:
this
-
level
Sets the value ofH264SettingsProps.getLevel()- Parameters:
level- The H.264 level. Valid values: H264_LEVEL_1, H264_LEVEL_1_1, H264_LEVEL_1_2, H264_LEVEL_1_3, H264_LEVEL_2, H264_LEVEL_2_1, H264_LEVEL_2_2, H264_LEVEL_3, H264_LEVEL_3_1, H264_LEVEL_3_2, H264_LEVEL_4, H264_LEVEL_4_1, H264_LEVEL_4_2, H264_LEVEL_5, H264_LEVEL_5_1, H264_LEVEL_5_2, H264_LEVEL_AUTO.- Returns:
this
-
lookAheadRateControl
@Stability(Experimental) public H264SettingsProps.Builder lookAheadRateControl(LookAheadRateControl lookAheadRateControl) Sets the value ofH264SettingsProps.getLookAheadRateControl()- Parameters:
lookAheadRateControl- Amount of lookahead. Low decreases latency/memory; high can produce better quality.- Returns:
this
-
minBitrate
Sets the value ofH264SettingsProps.getMinBitrate()- Parameters:
minBitrate- Minimum bitrate in bits/second.- Returns:
this
-
minIInterval
Sets the value ofH264SettingsProps.getMinIInterval()- Parameters:
minIInterval- Only meaningful if sceneChangeDetect is enabled. Enforces separation between repeated (cadence) I-frames and I-frames inserted by scene change detection.- Returns:
this
-
minQp
Sets the value ofH264SettingsProps.getMinQp()- Parameters:
minQp- Minimum QP value. Sets a floor on the quantization parameter.- Returns:
this
-
numRefFrames
Sets the value ofH264SettingsProps.getNumRefFrames()- Parameters:
numRefFrames- The number of reference frames to use. The encoder might use more if B-frames or interlaced encoding is used.- Returns:
this
-
pixelAspectRatio
@Stability(Experimental) public H264SettingsProps.Builder pixelAspectRatio(PixelAspectRatio pixelAspectRatio) Sets the value ofH264SettingsProps.getPixelAspectRatio()- Parameters:
pixelAspectRatio- The pixel aspect ratio (PAR) of the video.- Returns:
this
-
profile
Sets the value ofH264SettingsProps.getProfile()- Parameters:
profile- The H.264 profile.- Returns:
this
-
qualityLevel
@Stability(Experimental) public H264SettingsProps.Builder qualityLevel(H264QualityLevel qualityLevel) Sets the value ofH264SettingsProps.getQualityLevel()- Parameters:
qualityLevel- Quality level. ENHANCED_QUALITY produces slightly better video without increasing bitrate.- Returns:
this
-
rateControl
Sets the value ofH264SettingsProps.getRateControl()- Parameters:
rateControl- The rate control configuration.- Returns:
this
-
scanType
Sets the value ofH264SettingsProps.getScanType()- Parameters:
scanType- Sets the scan type of the output.- Returns:
this
-
sceneChangeDetect
@Stability(Experimental) public H264SettingsProps.Builder sceneChangeDetect(H264SceneChangeDetect sceneChangeDetect) Sets the value ofH264SettingsProps.getSceneChangeDetect()- Parameters:
sceneChangeDetect- Whether scene change detection inserts I-frames on scene changes.- Returns:
this
-
slices
Sets the value ofH264SettingsProps.getSlices()- Parameters:
slices- Number of slices per picture. Must be <= macroblock rows (progressive) or half (interlaced).- Returns:
this
-
softness
Sets the value ofH264SettingsProps.getSoftness()- Parameters:
softness- Softness. Selects a quantizer matrix; larger values reduce high-frequency content.- Returns:
this
-
spatialAq
Sets the value ofH264SettingsProps.getSpatialAq()- Parameters:
spatialAq- Whether spatial adaptive quantization adjusts quantization within each frame based on spatial variation.- Returns:
this
-
subgopLength
Sets the value ofH264SettingsProps.getSubgopLength()- Parameters:
subgopLength- Sub-GOP length mode.- Returns:
this
-
syntax
Sets the value ofH264SettingsProps.getSyntax()- Parameters:
syntax- Produces a bitstream compliant with SMPTE RP-2027.- Returns:
this
-
temporalAq
Sets the value ofH264SettingsProps.getTemporalAq()- Parameters:
temporalAq- Whether temporal adaptive quantization adjusts quantization based on temporal variation between frames.- Returns:
this
-
timecodeBurnin
@Stability(Experimental) public H264SettingsProps.Builder timecodeBurnin(TimecodeBurninSettings timecodeBurnin) Sets the value ofH264SettingsProps.getTimecodeBurnin()- Parameters:
timecodeBurnin- Timecode burn-in settings to overlay timecode on the video.- Returns:
this
-
timecodeInsertion
@Stability(Experimental) public H264SettingsProps.Builder timecodeInsertion(TimecodeInsertion timecodeInsertion) Sets the value ofH264SettingsProps.getTimecodeInsertion()- Parameters:
timecodeInsertion- Determines how timecodes are inserted into the video elementary stream. This controls insertion into the output elementary stream. The channel'stimecodeConfigcontrols the source of the timecode used for output.- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<H264SettingsProps>- Returns:
- a new instance of
H264SettingsProps - Throws:
NullPointerException- if any required attribute was not provided
-