Show / Hide Table of Contents

Class H264VideoConfiguration

H264VideoConfiguration

Inheritance
System.Object
BitmovinResponse
BitmovinResource
CodecConfiguration
VideoConfiguration
H264VideoConfiguration
Inherited Members
VideoConfiguration.Width
VideoConfiguration.Height
VideoConfiguration.Bitrate
VideoConfiguration.Rate
VideoConfiguration.PixelFormat
VideoConfiguration.ColorConfig
VideoConfiguration.SampleAspectRatioNumerator
VideoConfiguration.SampleAspectRatioDenominator
VideoConfiguration.DisplayAspectRatio
VideoConfiguration.EncodingMode
BitmovinResource.Name
BitmovinResource.Description
BitmovinResource.CreatedAt
BitmovinResource.ModifiedAt
BitmovinResource.CustomData
BitmovinResponse.Id
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
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>
Back to top Generated by DocFX