-
-
Notifications
You must be signed in to change notification settings - Fork 8.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NVENC Refactor #10536
NVENC Refactor #10536
Conversation
e546c7a
to
af3ab45
Compare
Updated with some cleanup and included a53e4b1 to see if Flatpak will work. |
c23552d
to
981d3a9
Compare
Somehow this never uses the texture encoder in my testing so far
This always prints when I start recording. Note that I do use NV12, also tried different settings, nothing helped Also the Lossless mode is broken
which is easy to fix but would be nice if OBS could automatically disable (& hide if possible) the adaptive quantization option if lossless is selected but even after disabling that it does error out with
|
Please see #10567. |
I should be able to fix the lossless thing relatively easily. And as Ryan mentioned texture encoders will need #10567 merged to work again, but that should be done soon™ so I can rebase this PR. |
Can confirm it works with this |
Linux texture encoding and lossless mode for H.264 should work again now. |
d6a4b06
to
de34c28
Compare
This code is beautiful |
1c96fbf
to
06be1b9
Compare
I checked the operation of B-frames as Reference via Elecard StramEye. For H.264 and HEVC everything works correctly. Disabled/middle/each modes disableBadapt=1 disabled adaptive b-frames for P6,7 presets for H.264. Thank you! I think people may have difficulty where to take the arguments. Maybe add information in the manuals? |
Being able to set it to 0 is valid, and it should set it to 0 in the NVENC configuration as well. NVIDIA limits the bitrate in target quality mode even with max bitrate set to 0, this limit is based on the level. Seems for HEVC this ends up being much lower than H.264. It's one of the reasons we kept CQP around. |
cf7e45a
to
7120b9b
Compare
#10818 needs to be ported to here as well. Also still need to figure out why the CUDA version dies when trying to use enhanced broadcasting with multiple of them, maybe a CUDA context management issue? |
52c016c
to
dd9ce12
Compare
This comment was marked as off-topic.
This comment was marked as off-topic.
The problem with the frame rate drop in OBS when the GPU is loaded has disappeared, but a new one has appeared. Now, if the GPU is loaded to its limit, the same thing happens, regardless of whether OBS is running idle or encoding video. Tested on assembly ver. 72c39ae. There is no such problem with the stable build. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Partial review.
This somehow breaks support for at least dedicated AMD encoders. Built master with this merge. AMD encoders were missing. Reverted this merge AMD encoders returned. Tested with RX 7900 XT |
VAAPI init was under NVENC clauses, so it disabled if no NVENC. That was introduced in af555b9 from obsproject#10536, which refactored NVENC.
VAAPI init was under NVENC clauses, so it was disabled if no NVENC. That was introduced in af555b9 from obsproject#10536, which refactored NVENC.
Description
Note
This pull request is targeted for the next major version as it breaks some backwards compatibility (mainly Kepler GPUs).
obs-nvenc
moduleFeatures
obs-nvenc-test[.exe]
now works on both Linux and Windows* Current selection of options is mostly for experimentation, it will probably be cut down to only a few that are sensible but don't warrant their own UI elements.
Motivation and Context
How Has This Been Tested?
Note
This plugin is only compatible with the current cmake revision (3.0) on Linux and Windows, and will not work with legacy cmake.
Types of changes
Checklist: