IOverwolfRecordingApi
Electron APIs / recorder / IOverwolfRecordingApi
API interface for managing Overwolf's recording and replay capture services. Includes methods for starting/stopping recordings, replays, configuring capture settings, and querying system capabilities.
See
Properties
| Property | Modifier | Type | Description |
|---|---|---|---|
binFolderPath | readonly | string | Path to OBS binaries folder. |
ffmpegPath | readonly | string | Path to ffmpeg file. |
options | public | RecordingAppOptions | Global runtime options for the recording app (e.g., debug options, override paths). See RecordingAppOptions |
version | readonly | string | Overlay package version. |
Methods
captureReplay()
captureReplay(option: CaptureReplayOptions, callback?: ReplayCallback): Promise<ActiveReplay>;
Captures a replay from the memory buffer. Returns an ActiveReplay object to control the replay after creation.
Parameters
| Parameter | Type | Description |
|---|---|---|
option | CaptureReplayOptions | Replay capture parameters (filename, duration). |
callback? | ReplayCallback | Optional callback for when replay is ready. |
Returns
Promise<ActiveReplay>
A promise resolving to an ActiveReplay controller object.
Throws
createSettingsBuilder()
createSettingsBuilder(options?: CaptureSettingsOptions): Promise<CaptureSettingsBuilder>;
Creates a capture settings builder instance to configure video/audio sources.
Parameters
| Parameter | Type | Description |
|---|---|---|
options? | CaptureSettingsOptions | Optional base options to initialize the settings. |
Returns
Promise<CaptureSettingsBuilder>
A builder used to construct a complete CaptureSettings object.
See
isActive()
isActive(): Promise<boolean>;
Checks if either recording or replays are currently active.
Returns
Promise<boolean>
isRecordingActive()
isRecordingActive(): Promise<boolean>;
Checks if a recording is currently active.
Returns
Promise<boolean>
isReplayActive()
isReplayActive(): Promise<boolean>;
Checks if a replay session is currently active.
Returns
Promise<boolean>
queryInformation()
queryInformation(): Promise<RecordingInformation>;
Queries supported encoders, audio/video devices, and configuration options.
Returns
Promise<RecordingInformation>
A promise that resolves to the full recording capability information.
See
registerGames()
registerGames(filter: GamesFilter): void;
Registers games to monitor and track for launch/exit detection.
Parameters
| Parameter | Type | Description |
|---|---|---|
filter | GamesFilter | Filtering rules for which games to track. |
Returns
void
setSourceTransform()
setSourceTransform(sourceTransform: SourceTransform): Promise<void>;
Set a source to transform.
Defines how the source will be rendered (for example, position, scale, crop, etc.). Throws an error if the source is not found or if the transform is invalid.
Parameters
| Parameter | Type | Description |
|---|---|---|
sourceTransform | SourceTransform |
Returns
Promise<void>
splitRecording()
splitRecording(listener?: SplitCallback): Promise<void>;
Splits the current recording into a new file.
Fires 'recording-split' once the new file is created.
Parameters
| Parameter | Type | Description |
|---|---|---|
listener? | SplitCallback | Optional callback triggered on successful split. |
Returns
Promise<void>
Throws
RecorderError if splitting fails.
See
startRecording()
startRecording(
options: RecordingOptions,
setting?: CaptureSettings,
listener?: StopCallback): Promise<void>;
Starts a video recording session.
Fires the 'recording-started' event when recording begins.
Fires the 'recording-stopped' event when stopped manually, via error, or when the game exits.
Parameters
| Parameter | Type | Description |
|---|---|---|
options | RecordingOptions | Recording options such as file path, format, and split config. |
setting? | CaptureSettings | Optional capture settings to define sources. |
listener? | StopCallback | Optional callback for the stop event (overrides global listener). |
Returns
Promise<void>
Throws
RecorderError if recording fails to start.
startReplays()
startReplays(options: ReplayOptions, setting?: CaptureSettings): Promise<void>;
Starts replay capture service in memory.
Fires the 'replays-started' event on success.
Parameters
| Parameter | Type | Description |
|---|---|---|
options | ReplayOptions | Replay configuration such as buffer length and paths. |
setting? | CaptureSettings | Optional capture settings for the replay session. |
Returns
Promise<void>
Throws
RecorderError if replays fail to start.
See
stopRecording()
stopRecording(listener?: StopCallback): Promise<void>;
Stops the active recording.
Parameters
| Parameter | Type | Description |
|---|---|---|
listener? | StopCallback | Optional callback to handle the stop result. |
Returns
Promise<void>
A promise that resolves when recording has fully stopped.
See
stopReplays()
stopReplays(): Promise<void>;
Stops the active replay session.
Fires 'replays-stopped' upon success.
Returns
Promise<void>
Throws
RecorderError if stop fails.
updateAudioDevice()
updateAudioDevice(device: AudioDeviceSettingsUpdateInfo): Promise<void>;
Updates runtime settings for an audio device while recording.
Parameters
| Parameter | Type | Description |
|---|---|---|
device | AudioDeviceSettingsUpdateInfo | Updated device settings. |
Returns
Promise<void>
See
Since
0.32.0
Events
on("game-launched")
on(eventName: "game-launched", listener: (gameInfo: GameInfo) => void): this;
Fired when a registered game is launched.
Parameters
| Parameter | Type |
|---|---|
eventName | "game-launched" |
listener | (gameInfo: GameInfo) => void |
Returns
this
on("game-exit")
on(eventName: "game-exit", listener: (gameInfo: GameInfo) => void): this;
Fired when a registered game process exits.
Parameters
| Parameter | Type |
|---|---|
eventName | "game-exit" |
listener | (gameInfo: GameInfo) => void |
Returns
this
on("recording-started")
on(eventName: "recording-started", listener: StartCallback): this;
Fired when a recording session begins.
Parameters
| Parameter | Type |
|---|---|
eventName | "recording-started" |
listener | StartCallback |
Returns
this
on("recording-stopped")
on(eventName: "recording-stopped", listener: StopCallback): this;
Fired when a recording session ends.
Parameters
| Parameter | Type |
|---|---|
eventName | "recording-stopped" |
listener | StopCallback |
Returns
this
on("recording-split")
on(eventName: "recording-split", listener: SplitCallback): this;
Fired when a recording is split into a new file.
Parameters
| Parameter | Type |
|---|---|
eventName | "recording-split" |
listener | SplitCallback |
Returns
this
on("replays-started")
on(eventName: "replays-started", listener: StartCallback): this;
Fired when replay service starts.
Parameters
| Parameter | Type |
|---|---|
eventName | "replays-started" |
listener | StartCallback |
Returns
this
on("replays-stopped")
on(eventName: "replays-stopped", listener: ReplayStopCallback): this;
Fired when replay service stops.
Parameters
| Parameter | Type |
|---|---|
eventName | "replays-stopped" |
listener | ReplayStopCallback |
Returns
this
on("replay-captured")
on(eventName: "replay-captured", listener: ReplayCallback): this;
Fired when a replay video has been captured.
Parameters
| Parameter | Type |
|---|---|
eventName | "replay-captured" |
listener | ReplayCallback |
Returns
this
on("stats")
on(eventName: "stats", listener: (args: RecorderStats) => void): this;
Fired periodically with recorder performance metrics.
Parameters
| Parameter | Type |
|---|---|
eventName | "stats" |
listener | (args: RecorderStats) => void |
Returns
this