Skip to content
This repository has been archived by the owner on Jun 13, 2024. It is now read-only.

Configuration

Michael Fabian Dirks edited this page Dec 3, 2016 · 32 revisions

View Mode: Basic

The initial View Mode, users are recommended to start with this one

Preset

Fully configures the Encoder for a specific use case, useful if you just want to start off somewhere. Available Presets change over time and their exact settings can always be found in code or by applying it. Will continuously replace other settings until disabled again.

Quality Preset

Favor Speed, stay Balanced or favor Quality. All three options provide different results, with Speed being closer to x264 ultrafast and Quality being closer to x264 fast.
Options: (best, slowest) Quality, Balanced, Speed (worst, fastest)

Profile

Defines the H.264 Profile, which define encoding limits that the Encoder will rather strictly follow. Using the wrong Profile and Profile Level can result in drastic quality and streaming issues.
Options: (best) High, Constrained High, Main, Baseline, Constrained Baseline (worst)

Rate Control Method

Controls which rate control method is to be used. There are four total available RCMs:

  • Constant QP (CQP): Assigns a fixed QP value to the given frame type using 'I-Frame QP', 'P-Frame QP' and 'B-Frame QP'.
  • Constant Bitrate (CBR): Attempts to reach the 'Target Bitrate' for every second and will fill the remaining space up with 'Filler Data' if enabled.
  • Variable Bitrate Peak Constrained (VBR): Variable Bitrate which attempts to stay below the 'Peak Bitrate'. Behaves like Constant Bitrate without 'Filler Data' being enabled.
  • Variable Bitrate Latency Constrained (VBR_LAT): Basically Constrained QP that tries to stay at the given 'Target Bitrate' on average. Uses 'Minimum QP', 'Maximum QP' and 'Target Bitrate'.

Target Bitrate, Peak Bitrate

Bitrate targets for Constant Bitrate (CBR) and Variable Bitrate (VBR, VBR_LAT).
Range: 10 - 100000 kbit.

I-/P-/B-Frame QP

QP Values to use for Constant QP (CQP) rate control method.
Range: (best) 0 - 51 (worst).

Filler Data

If enabled, tells Constant Bitrate (CBR) to fill up the remaining buffer with filler data so that it meets the 'Target Bitrate'. No effect on any other Rate Control Methods.

Keyframe Interval

The interval at which Keyframes appear, it is generally recommended to keep this at 2 for streaming and 1 for recording.

Debug

When enabled the encoder will log additional debug information. Keep this on disabled unless you're encountering issues and need support.

View Mode: Advanced

Minimum/Maximum QP

VBV Buffer

VBV Buffer Strictness

VBV Buffer Size

Frame Skipping

Deblocking Filter

If enabled, sets a flag in the output that the individual h.264 blocks may be smoothing together to reduce the blocking artifacts. Only affects the edges of the blocks, which can improve overall visual quality.

Device

Which Device to use for encoding in a multi-GPU system. Very experimental at the moment.

View Mode: Expert

Profile Level

Which H.264 Profile Level to use for encoding, always leave this on Automatic. See ITU-T H.264 for a list of supported Resolutions and Framerates.

VBV Buffer Fullness

VBV Buffer Fullness defines how full the VCE buffer is at the start of encoding.
Range: (empty) 0% - 100% (full).
Recommended: 100%

Enforce HRD Compatibility

If enabled, limits the QP variation within a frame so that weaker devices and devices that use a stricter decoder can decode properly.

Warning: This setting will affect the overall quality and compression of the output negatively since changes can't be represented as good as with it disabled. Only enable if absolutely necessary.

Motion Estimation

CABAC

Experimental parameter that allows enabling and disabling CABAC entropy coding. Not supported by many decoders, streaming servers, file formats (FLV, ...), protocols (RTMP, HTTP) and editing software. Only YouTube recommends using CABAC, but use with caution anyway.

Use OpenCL

If enabled, the encoder will use OpenCL for the transfer from and to GPU memory.

View Mode: Master

Using this View Mode will disqualify you from any support. You have been warned.

Usage

Maximum LTR Frames

Maximum Access Unit Size

IDR Period (Replaces Keyframe Interval)

Intra-Refresh Number of Macroblocks Per Slot

Scan Type

Unlock Properties

Unlocks Bitrate, Buffer Size and Keyframe Interval to their full range.


WIP: To be rewritten below this line.

Initial Buffer Fullness

Filler Data

B-Picture Pattern (Advanced, only available if supported)

Defines how many B-Pictures should be used to encode. Generally, more B-Pictures mean higher quality but slower encoding. For VCE 2 cards, it is recommended to set this to 0 as there is a Driver bug causing issues.
Range: (worst) 0 - 3 (best, only if supported)

Caution: Users with VCE 2.0 cards should set this to 0, there is a Driver bug which worsens Quality.
Warning: High Performance Impact!

B-Picture Reference (Advanced, only available if supported)

Allow the encoder to reference B-Pictures in the decoded stream, instead of limiting B-Pictures to only I- & P-Frames. Increases overall stream compression and quality at lower bitrates.

Warning: High Performance Impact!

B-Picture Delta QP, Reference B-Picture Delta QP (Advanced, only available if supported)

Delta QP from the P-Frame QP to use for B-Frames. Used to further control compression with B-Pictures.

Warning: Incorrect values can cause slower encoding and worse quality! Modify with caution.

Deblocking Filter (Advanced)

Enforce HRD Compatibility (Advanced)

Memory Type (Expert)

Which Backend to use for the plugin, defaults to Host for maximum speed until OBS support for shared DirectX and OpenGL devices and surfaces is implemented.

Warning: High Performance Impact!

Compute Type (Expert)

Which Compute Backend to use for the plugin, defaults to Disabled which makes everything run on the Software side instead.
Starting with Version 1.3.3.1 and Driver 16.10.1, OpenCL performance is now nearly identical to software. When using OpenCL Memory Type must not be Host.

Warning: High Performance Impact!

Surface Format (Expert)

Allows you to override the Surface Format that the Encoder will use, defaults to Automatic so it will use whatever format OBS gives it. Will only list supported options by the GPU and setting this to something else than what is set in OBS incurs an additional conversion cost. It is recommended to keep this on Automatic or NV12.

Warning: High Performance Impact!

Use Custom GOP Size, GOP Size (Expert)

Experimental parameter that allows you to override the automatically calculated GOP Size.

Warning: Extreme impact on Quality and Compression! No support if changed. Do not change this option unless you know what you are doing! Here there be dragons!

Context Adaptive Binary Arithmetic Coding (CABAC)

Warning: Unexpected behavior may happen if you use this! No support if changed. Do not change this option unless you know what you are doing! Here there be dragons!

Clone this wiki locally