-
-
Notifications
You must be signed in to change notification settings - Fork 85
Configuration
The Plugin offers two different interfaces: A simple one for those just wanting to get it working quick and an advanced one for the quality freaks. Which one you use is up to you, it is generally recommended to always start with the Simple Interface.
This is the interface aimed at those that just want to get it going, it provides presets and a cleaner version of the complete parameter setup. In Version 1.3.2.3 it looked like this.
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.
The interval at which Keyframes appear, it is generally recommended to keep this at 2 for streaming and 1 for recording.
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) Quality, Balanced, Speed (worst)
Defines the h.264 Profile and Profile Level, 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.
Profile: Main for Twitch, High for YouTube.
Profile Level: 4.1 for 1280x720 30 FPS, 4.2 for 1280x720 60 FPS or 1920x1080 30 FPS, 5.1 for 1920x1080 60 FPS.
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.
QP Values to use for Constant QP (CQP) rate control method. Range: (best) 0 - 51 (worst).
Allows overriding of the built in per-second buffer used to calculate the remaining data needed to reach the given settings. Big effect on Constant Bitrate (CBR), less effect on other rate control methods. Range: 10 - 100000.
Recommended: 'Target Bitrate' or not set.
Initial Buffer Fullness defines how full the VCE buffer is at the start of encoding. Range: (empty) 0% - 100% (full).
Recommended: 100%
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.
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)
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.
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.
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.
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. It is not recommended that this is changed.
Warning: High Performance Impact!
Which Compute Backend to use for the plugin, defaults to Disabled which makes everything run on the Software side instead. Due to a Driver bug, OpenCL is currently massively slower and much more unstable than the Software solution.
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!
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.
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.