obs-gstreamer 0.4.0

  • encoder: add NVENC H.265 (marvin0815)
  • encoder: add QSV H.264/H.265 (marvin0815)
  • encoder: add RockChip H.264/H.265 (happyme531)
  • filter: add I422 color format
  • source: add OBS media control interface (kamalmostafa)
If you are still using this for the VAAPI encoders I recommend to switch to https://obsproject.com/forum/resources/vaapi-encoder.1595/ instead.
  • encoder: add H.265 encoder (VAAPI only)
  • encoder: add VAAPI encoder device selection
  • encoder: fix a crash when output scaling is enabled
  • source: support some 10/12 bit input formats (when compiled with GStreamer/OBS headers that support it)
  • source: default value for using timestamps has changed to true
  • macOS is compiled with .so suffix instead of renaming it
  • GStreamer runtime version has been added to the log
  • encoder: fixed a bug that would result in the bit rate to be completely off target
  • output: added experimental output plugin. [no GUI]
  • source: added blocking options for sink behavior
  • added option to toggle async behavior of sinks
  • make start of pipeline asynchronous so it does not block OBS in case the resource is not available
  • Fix leaking of the bus handle. Could have let to "too many files" error when pipeline was restarted too often.
  • added a glib main loop for the source feature. this should fix a lot of things for Windows and macOS (error reporting, restarting on EOS and/or ERROR, other?)
  • fix an EOS restart issue
  • added an experimental audio filter
  • plugin reports its build hash in log (pseudo versioning)
  • properly convert planar audio formats to interleaved
  • experimental use of pipeline for audio/video filters
  • pipeline property only updates when you click new "apply" button or "ok"
  • split options to be configurable for audio and video path independently
  • calculated audio timestamps for audio only sources
  • better error recovery (stream restarting)
  • fix encoder memory leak
  • avoid memory copy for encoder
- added encoder plugin (experimental)

This is high experimental as it is not yet well tested. Basically this update adds an encoder plugin to OBS. That means you can make use of GStreamer supported H.264 encoders for streaming and recording.

Upon loading the plugin queries installed video encoders - so supported codecs depend on your system and GStreamer installation.

Currently available are x264, NVENC, OpenMAX (Tegra), OpenMAX (RaspberryPi), VA-API and VTENC (Apple hardware). Some of them are available as native encoders in OBS itself and there is little point in using them in this plugin rather than in OBS directly. Others may be helpful when porting OBS to different platforms - then this if for you.

Again, this is highly experimental. If something does not work for you, check if the x264 one of this plugin is working and report your issues. We just have to fix this together as I probably lack the hardware to make tests.