Who needs lower CPU and GPU usage? Everyone! And that's why the new (Hardware)
integration now shares the graphics context with OBS Studio, which should result in an even further reduced CPU and GPU usage for everyone. This change requires that you are using OBS Studio 24.0.x, and ideally you are using 24.0.3 or newer.
However due to a problem with Mixer streaming, I had to rename the unique id for each encoder so that Mixer streaming works again. Due to that you will lose all your previous settings for the encoders added by the plugin unless you backed them up in some form (screenshots, text copies) and restore them afterwards.
To make up for this, I've spent a lot of time fixing the NVENC integration. Lookahead, Spatial AQ and Temporal AQ are now correctly set instead of being ignored, which should result in an immediately noticable increase in stream quality, but at the cost of some GPU usage which should be expected. Additionally many of the checkboxes are now dropdowns to allow staying at the default setting given by the FFmpeg encoder.
Also thanks to two kind souls, kryztoval and UserNaem, the plugin now has a user friendly way to select the GPU for (Software)
encoders and more settings have a proper description tooltip. Huge thanks for doing this as it made the investigation into NVENC problems easier.
Changelog
0.4.0
- OBS Studio dependencies were updated! The minimum OBS Studio is now 24.0.3, so make sure that you are using the most up to date OBS Studio there is, otherwise the plugin might behave weird or not even launch.
- All encoders have been renamed to fix name collisions. Due to this you will lose all encoder configurations, make sure to back them up using screenshots or similar before installing the new version.
- NVENC Settings are no longer being ignored! Lookahead, Spatial AQ and Temporal AQ should now be properly applied instead of being ignored like they were before. You might see an increase in GPU usage with an identical increase in stream quality due to this.
- Single Graphics Context Mode is here! The plugin no longer spawns a graphics context per encoder and instead reuses the one that OBS Studio creates, which allows us to work much more efficiently at much lower cost. It is now the default mode for encoders marked with
(Hardware)
. - GPU Selection for
(Software)
encoders! A kind soul called kryztoval has added support for easily changing the GPU on which the encoding will actually happen. - Additional setting descriptions were added by another kind soul under the name UserNaem.
- Error messages should now be more descriptive, instead of just being Not Translated Yet all the time.
- Various settings were converted to a Tristate option instead of a checkbox, to allow staying at the default value given by the FFmpeg encoder.
- Custom Settings now take a string in the format
-key=value -key=value
. This is to be more in line with how you would use FFmpeg, and at a future point-key value
might become possible, but right now it is not. However quotes and escaping is fully supported, so there should be no issues for now. You can even do weird stuff like quote stacking. - NVENC now logs additonal options and relies on the final values stored in the FFmpeg context instead of OBS settings, which means that overrides done using Custom Settings actually show up.