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> |