Resource icon

FFmpeg Encoders for OBS Studio 0.4.0

Changelog
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.
The need to write a class for each encoder is no more, as with this update all encoders now use the new generic encoder implementation! With this, all possible video and audio encoders are now being registered to obs-studio and should be available in Advanced Output Mode.
Changelog
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.
Top