This repository has been archived by the owner on Apr 3, 2020. It is now read-only.
Version 0.2.0: NVENC H.264/AVC Streaming and H.265/HEVC Recording
Notice
Due to a change in the dependencies2017.zip
that is used to build the plugin on CI, versions 0.2.0 and up will require OBS Studio v24.x or newer. At the time of writing this, v24.0 has not been released yet, so an alternative version compatible with v23.x can be downloaded from here.
Changelog
0.2.0
- The old Apple ProRes encoder has been completely replaced by the new implementation, which is up to 50% faster on various CPUs.
- Fixed support for BT.601 color format on some players that do not understand both BT.601 color format values.
- Implemented flushing for delayed encoders to fix issues when stopping streaming/recording.
- Fixed support for OBS Studio v24.x and newer.
- Reduced upper limit for NVENC lookahead option to 32 from 60 to match actual hardware capability.
- Added option to set the Quality Target for NVENC VBR.
- Added HEVC NAL parsing for better playback in some players that rely on muxer information.
0.2.0pre3
- Added support for NVidia's NVENC H.264/AVC Encoder. This encoder is on average ~0.1-0.2% less CPU expensive than the OBS Studio included version, however will still affect performance more than the included hardware version.
- Fixed a bug that caused the "Constant Quantization Parameter" (CQP) rate control mode to not work in NVidia's NVENC encoder.
- Quantization Parameters in NVidia's NVENC encoders should now work correctly and have proper text.
- The NV12 video format is now correctly supported and should result in a not-always-green encoded video output.
- The plugin will now prefer formats that require zero conversion when the color format is set to Automatic.
- Fixed an issue where the main encoding loop would throw away AVFrame's instead of storing them for re-use.
- Fixed a memory leak with AVPacket which results in slowly increasing memory usage for every encoding session.
0.2.0pre2
- Improved frame conversion/copy speed by increasing the memory alignment to 32 bytes. On AMD Ryzen this results in halved CPU usage, while on Intel this had no effect, essentially making any AMD Ryzen CPU faster than the Intel equivalent CPU.
- Added NVidia's NVENC HEVC Encoder with all settings available to change and toy with.
- Fixed threading for all threading models and thread counts.
- Fixed a memory leak with the debug handler that resulted in an eventual out of memory situation.
- Fixed a bug that incorrectly set the time base inverted, resulting in 60 fps being 1 frame every 60 seconds instead of 60 frames per second.
- Encoders without a dedicated UI handler are now considered deprecated, but they can still be used through other means.
- Reduced the extensive use of the currently broken Property Groups until they are hopefully fixed in 24.x and above.
- Removed "Requires Flush", "Frame-Threading", "Slice-Threading", "Automatic Threading" and "I-Frames only" from the visible encoder name.
- Deprecated old Apple ProRes encoder, please use the new implementation from now on.
0.2.0pre1
- Implemented a generic encoder that allows code re-use across many encoders, allowing all available encoders to be used out of the box.
- Implemented a way to override the generated UI for specific encoders.
- Implemented prores_aw UI override.
- Fixed a few memory leaks that happened with lost references to AVFrames, resulting in eventual out of memory situations.