BitmovinApiSdk\Models\H264VideoConfiguration

Synopsis

class H264VideoConfiguration extends VideoConfiguration {
  • // Inherited members from BitmovinResponse
  • public string $id;
  • // Inherited methods from CodecConfiguration
  • public void __construct()
  • // Inherited methods from BitmovinResponse
  • public void __construct()
  • // Inherited methods from ApiResource
  • public void __construct()
  • public static $this create()
  • public void toArray()
}

Hierarchy

Members

public

Methods

public

  • __construct()
  • adaptiveQuantizationMode() — Controls the adaptive quantization algorithm
  • 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
  • adaptiveSpatialTransform() — Enables adaptive spatial transform (high profile 8x8 transform)
  • autoLevelSetup() — Enable/disable automatic calculation of level, maxBitrate, and bufsize based on the least level that satisfies maximum property values for picture resolution, frame rate, and bit rate. In the case the target level is set explicitly, the maximum bitrate and buffer size are calculated based on the defined level. Explicitly setting maxBitrate, or bufsize properties will disable the automatic calculation.
  • bAdaptiveStrategy() — bAdaptiveStrategy
  • bPyramid() — Keep some B-frames as references
  • bframes() — Amount of b frames
  • bufsize() — Playback device buffer size
  • cabac() — Enable or disable CABAC
  • cea608708SubtitleConfig() — Defines whether CEA 608/708 subtitles are copied from the input video stream
  • crf() — Constant rate factor for quality-based variable bitrate. Either bitrate or crf is required.
  • deblockAlpha() — Strength of the in-loop deblocking filter. Higher values deblock more effectively but also soften the image
  • deblockBeta() — Threshold of the in-loop deblocking filter. Higher values apply deblocking stronger on non flat blocks, lower values on flat blocks
  • 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.
  • fastSkipDetectionPFrames() — Enables fast skip detection on P-frames. Disabling this very slightly increases quality but at a large speed loss
  • interlaceMode() — Using TOP_FIELD_FIRST or BOTTOM_FIELD_FIRST will output interlaced video
  • 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.
  • macroblockTreeRatecontrol() — Enable macroblock tree ratecontrol. Macroblock tree rate control tracks how often blocks of the frame are used for prediciting future frames
  • maxBitrate() — Maximum Bitrate
  • maxGop() — Maximum GOP length, the maximum distance between I-frames
  • maxKeyframeInterval() — Maximum interval in seconds between key frames
  • minBitrate() — Minimum Bitrate
  • minGop() — Minimum GOP length, the minimum distance between I-frames
  • minKeyframeInterval() — Minimum interval in seconds between key frames
  • mixedReferences() — Allow references on a per partition basis, rather than per-macroblock basis
  • motionEstimationMethod() — motionEstimationMethod
  • mvPredictionMode() — mvPredictionMode
  • mvSearchRangeMax() — Maximum motion vector search range
  • nalHrd() — Signal hypothetical reference decoder (HRD) information (requires bufsize to be set)
  • openGop() — Enable open-gop, allows referencing frames from a previous gop
  • partitions() — Partitions to consider. Analyzing more partition options improves quality at the cost of speed.
  • presetConfiguration() — Choose from a set of preset configurations tailored for common use cases. Check out [H264 Presets](https://bitmovin.com/docs/encoding/tutorials/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.
  • 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)
  • 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
  • psyTrellis() — Higher values will improve sharpness and detail retention but might come at costs of artifacts. Needs to have trellis enabled
  • qpMax() — Maximum quantization factor
  • qpMin() — Minimum quantization factor
  • quantizerCurveCompression() — Ratio between constant bitrate (0.0) and constant quantizer (1.0). Valid range 0.0 - 1.0
  • rcLookahead() — Number of frames for frame-type decision lookahead
  • refFrames() — Amount of reference frames.
  • 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).
  • slices() — Number of slices per frame.
  • subMe() — Subpixel motion estimation and mode decision
  • trellis() — Enables or disables Trellis quantization. NOTE: This requires cabac
  • weightedPredictionBFrames() — Enable open-gop, allows referencing frames from a previous gop
  • weightedPredictionPFrames() — Defines the mode for weighted prediction for P-frames

Inherited from BitmovinApiSdk\Models\VideoConfiguration

public

  • bitrate() — Target bitrate for the encoded video in bps. Either bitrate or crf is required.
  • colorConfig() — colorConfig
  • displayAspectRatio() — Specifies a display aspect ratio (DAR) to be enforced. The sample aspect ratio (SAR) will be adjusted accordingly. If set then sampleAspectRatioNumerator and sampleAspectRatioDenominator are not allowed.
  • encodingMode() — The mode of the encoding. When this is set, `encodingMode` (`liveEncodingMode`) must not be set in the (live) encoding start request.
  • height() — Height of the encoded video in pixels
  • pixelFormat() — Describes the color encoding, bit depth, and chroma subsampling of each pixel in the output image.
  • rate() — Target frame rate of the encoded video. Must be set for live encodings
  • sampleAspectRatioDenominator() — The denominator of the sample aspect ratio (also known as pixel aspect ratio). Must be set if sampleAspectRatioNumerator is set. If set then displayAspectRatio is not allowed.
  • sampleAspectRatioNumerator() — The numerator of the sample aspect ratio (also known as pixel aspect ratio). Must be set if sampleAspectRatioDenominator is set. If set then displayAspectRatio is not allowed.
  • width() — Width of the encoded video in pixels

Inherited from BitmovinApiSdk\Models\BitmovinResource

public

  • customData() — User-specific meta data. This can hold anything.
  • description() — Description of the resource. Can be freely chosen by the user.
  • name() — Name of the resource. Can be freely chosen by the user.

Inherited from BitmovinApiSdk\Common\ApiResource

public