Open Broadcaster Software
Free, open source software for live streaming and recording
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Modules

Modules or plugins are libraries that can be loaded by libobs and subsequently interact with it.

Overview

Modules can provide a wide range of functionality to libobs, they for example can feed captured audio or video to libobs, or interface with an encoder to provide some codec to libobs.

Creating a basic module

In order to create a module for libobs you will need to build a shared library that implements a basic interface for libobs to interact with. The following code would create a simple source plugin without localization:

#include <obs-module.h>
extern struct obs_source_info my_source;
bool obs_module_load(void)
{
obs_register_source(&my_source);
return true;
}

If you want to enable localization, you will need to also use the OBS_MODULE_USE_DEFAULT_LOCALE() macro.

Other module types: