-
-
Notifications
You must be signed in to change notification settings - Fork 85
Configuration
The initial View Mode, users are recommended to start with this one
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.
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)
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)
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'.
Bitrate targets for Constant Bitrate (CBR) and Variable Bitrate (VBR, VBR_LAT).
Range: 10 - 100000 kbit.
QP Values to use for Constant QP (CQP) rate control method.
Range: (best) 0 - 51 (worst).
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.
The interval at which Keyframes appear, it is generally recommended to keep this at 2 for streaming and 1 for recording.
When enabled the encoder will log additional debug information. Keep this on disabled unless you're encountering issues and need support.
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.
Which Device to use for encoding in a multi-GPU system. Very experimental at the moment.
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 defines how full the VCE buffer is at the start of encoding.
Range: (empty) 0% - 100% (full).
Recommended: 100%
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.
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.
If enabled, the encoder will use OpenCL for the transfer from and to GPU memory.
Using this View Mode will disqualify you from any support. You have been warned.
Unlocks Bitrate, Buffer Size and Keyframe Interval to their full range.
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!
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!
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.
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!
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!
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!
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!
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!
Copyright (c) 2016 Michael Fabian Dirks
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.