Class H264VideoConfiguration
H264VideoConfiguration
Inheritance
Inherited Members
Namespace: Bitmovin.Api.Sdk.Models
Assembly: Bitmovin.Api.Sdk.dll
Syntax
public class H264VideoConfiguration : VideoConfiguration
Properties
AdaptiveQuantizationMode
Controls the adaptive quantization algorithm
Declaration
public AdaptiveQuantMode? AdaptiveQuantizationMode { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<AdaptiveQuantMode> |
AdaptiveQuantizationStrength
Values greater than 1 reduce blocking and blurring in flat and textured areas. Values less than 1 reduces ringing artifacts at the cost of more banding artifacts. Negative values are not allowed
Declaration
public double? AdaptiveQuantizationStrength { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
AdaptiveSpatialTransform
Enables adaptive spatial transform (high profile 8x8 transform)
Declaration
public bool? AdaptiveSpatialTransform { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Boolean> |
BAdaptiveStrategy
BAdaptiveStrategy
Declaration
public BAdapt? BAdaptiveStrategy { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<BAdapt> |
Bframes
Sets the amount of b frames.
Declaration
public int? Bframes { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
BPyramid
Keep some B-frames as references
Declaration
public H264BPyramid? BPyramid { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<H264BPyramid> |
Bufsize
Playback device buffer size
Declaration
public long? Bufsize { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int64> |
Cabac
Enable or disable CABAC
Declaration
public bool? Cabac { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Boolean> |
Cea608708SubtitleConfig
Defines whether CEA 608/708 subtitles are copied from the input video stream
Declaration
public Cea608708SubtitleConfiguration Cea608708SubtitleConfig { get; set; }
Property Value
Type | Description |
---|---|
Cea608708SubtitleConfiguration |
Crf
Sets the constant rate factor for quality-based variable bitrate. Either bitrate or crf is required.
Declaration
public double? Crf { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
DeblockAlpha
Strength of the in-loop deblocking filter. Higher values deblock more effectively but also soften the image
Declaration
public int? DeblockAlpha { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
DeblockBeta
Threshold of the in-loop deblocking filter. Higher values apply deblocking stronger on non flat blocks, lower values on flat blocks
Declaration
public int? DeblockBeta { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
DynamicRangeFormat
Automatically configures the H264 Video Codec to be compatible with the given SDR format. Bitmovin recommends to use the dynamic range format together with a preset configuration to achieve good results. Explicitly configured properties will take precedence over dynamic range format settings, which in turn will take precedence over preset configurations.
Declaration
public H264DynamicRangeFormat? DynamicRangeFormat { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<H264DynamicRangeFormat> |
FastSkipDetectionPFrames
Enables fast skip detection on P-frames. Disabling this very slightly increases quality but at a large speed loss
Declaration
public bool? FastSkipDetectionPFrames { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Boolean> |
InterlaceMode
Using TOP_FIELD_FIRST or BOTTOM_FIELD_FIRST will output interlaced video
Declaration
public H264InterlaceMode? InterlaceMode { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<H264InterlaceMode> |
Level
If three-pass encoding is used and a level is set for the encoder, the bitrate for some segments may exceed the bitrate limit which is defined by the level.
Declaration
public LevelH264? Level { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<LevelH264> |
MacroblockTreeRatecontrol
Enable macroblock tree ratecontrol. Macroblock tree rate control tracks how often blocks of the frame are used for prediciting future frames
Declaration
public bool? MacroblockTreeRatecontrol { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Boolean> |
MaxBitrate
Maximum Bitrate
Declaration
public long? MaxBitrate { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int64> |
MaxGop
Maximum GOP length, the maximum distance between I-frames
Declaration
public int? MaxGop { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
MaxKeyframeInterval
Maximum interval in seconds between key frames
Declaration
public double? MaxKeyframeInterval { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
MinBitrate
Minimum Bitrate
Declaration
public long? MinBitrate { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int64> |
MinGop
Minimum GOP length, the minimum distance between I-frames
Declaration
public int? MinGop { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
MinKeyframeInterval
Minimum interval in seconds between key frames
Declaration
public double? MinKeyframeInterval { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
MixedReferences
Allow references on a per partition basis, rather than per-macroblock basis
Declaration
public bool? MixedReferences { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Boolean> |
MotionEstimationMethod
MotionEstimationMethod
Declaration
public H264MotionEstimationMethod? MotionEstimationMethod { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<H264MotionEstimationMethod> |
MvPredictionMode
MvPredictionMode
Declaration
public MvPredictionMode? MvPredictionMode { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<MvPredictionMode> |
MvSearchRangeMax
Sets the maximum Motion-Vector-Search-Range
Declaration
public int? MvSearchRangeMax { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
NalHrd
Signal hypothetical reference decoder (HRD) information (requires bufsize to be set)
Declaration
public H264NalHrd? NalHrd { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<H264NalHrd> |
OpenGop
Enable open-gop, allows referencing frames from a previous gop
Declaration
public bool? OpenGop { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Boolean> |
Partitions
Partitions to consider. Analyzing more partition options improves quality at the cost of speed.
Declaration
public List<H264Partition> Partitions { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<H264Partition> |
PresetConfiguration
Choose from a set of preset configurations tailored for common use cases. Check out H264 Presets to see which values get applied by each preset. Explicitly setting a property to a different value will override the preset's value for that property.
Declaration
public PresetConfiguration? PresetConfiguration { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<PresetConfiguration> |
Profile
When setting a profile, all other settings must not exceed the limits which are defined in the profile. Otherwise, a higher profile may be automatically chosen. (required)
Declaration
public ProfileH264? Profile { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<ProfileH264> |
PsyRateDistortionOptimization
Psychovisual Rate Distortion retains fine details like film grain at the expense of more blocking artifacts. Higher values make the video appear sharper and more detailed but with a higher risk of blocking artifacts. Needs to have subMe with RD_IP, RD_ALL, RD_REF_IP or RD_REF_ALL
Declaration
public double? PsyRateDistortionOptimization { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
PsyTrellis
Higher values will improve sharpness and detail retention but might come at costs of artifacts. Needs to have trellis enabled
Declaration
public double? PsyTrellis { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
QpMax
Sets the maximum of quantization factor.
Declaration
public int? QpMax { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
QpMin
Sets the minimum of quantization factor.
Declaration
public int? QpMin { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
QuantizerCurveCompression
Ratio between constant bitrate (0.0) and constant quantizer (1.0). Valid range 0.0 - 1.0
Declaration
public double? QuantizerCurveCompression { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Double> |
RcLookahead
Number of frames for frame-type decision lookahead
Declaration
public int? RcLookahead { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
RefFrames
Sets the amount of reference frames.
Declaration
public int? RefFrames { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
SceneCutThreshold
Scene change sensitivity. The higher the value, the more likely an I-frame will be inserted. Set to 0 to disable it which is advised for scenarios where fixed GOP is required, e.g., adaptive streaming outputs like DASH, HLS and Smooth. Having this setting enabled can improve quality for progressive output with an increased internal chunk length (see internalChunkLength
of muxings).
Declaration
public int? SceneCutThreshold { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
Slices
Number of slices per frame.
Declaration
public int? Slices { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int32> |
SubMe
Subpixel motion estimation and mode decision
Declaration
public H264SubMe? SubMe { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<H264SubMe> |
Trellis
Enables or disables Trellis quantization. NOTE: This requires cabac
Declaration
public H264Trellis? Trellis { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<H264Trellis> |
WeightedPredictionBFrames
Enable open-gop, allows referencing frames from a previous gop
Declaration
public bool? WeightedPredictionBFrames { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Boolean> |
WeightedPredictionPFrames
Defines the mode for weighted prediction for P-frames
Declaration
public WeightedPredictionPFrames? WeightedPredictionPFrames { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<WeightedPredictionPFrames> |