Skip to main content

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

PropertyTypeDescription
optionsRecordingAppOptionsGlobal runtime options for the recording app (e.g., debug options, override paths). See RecordingAppOptions

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

ParameterTypeDescription
optionCaptureReplayOptionsReplay capture parameters (filename, duration).
callback?ReplayCallbackOptional callback for when replay is ready.

Returns

Promise<ActiveReplay>

A promise resolving to an ActiveReplay controller object.

Throws

RecorderError


createSettingsBuilder()

createSettingsBuilder(options?: CaptureSettingsOptions): Promise<CaptureSettingsBuilder>;

Creates a capture settings builder instance to configure video/audio sources.

Parameters

ParameterTypeDescription
options?CaptureSettingsOptionsOptional base options to initialize the settings.

Returns

Promise<CaptureSettingsBuilder>

A builder used to construct a complete CaptureSettings object.

See

CaptureSettingsBuilder


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

RecordingInformation


registerGames()

registerGames(filter: GamesFilter): void;

Registers games to monitor and track for launch/exit detection.

Parameters

ParameterTypeDescription
filterGamesFilterFiltering rules for which games to track.

Returns

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

ParameterTypeDescription
listener?SplitCallbackOptional callback triggered on successful split.

Returns

Promise<void>

Throws

RecorderError if splitting fails.

See

SplitCallback


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

ParameterTypeDescription
optionsRecordingOptionsRecording options such as file path, format, and split config.
setting?CaptureSettingsOptional capture settings to define sources.
listener?StopCallbackOptional 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

ParameterTypeDescription
optionsReplayOptionsReplay configuration such as buffer length and paths.
setting?CaptureSettingsOptional capture settings for the replay session.

Returns

Promise<void>

Throws

RecorderError if replays fail to start.

See

ReplayOptions


stopRecording()

stopRecording(listener?: StopCallback): Promise<void>;

Stops the active recording.

Parameters

ParameterTypeDescription
listener?StopCallbackOptional callback to handle the stop result.

Returns

Promise<void>

A promise that resolves when recording has fully stopped.

See

StopCallback


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

ParameterTypeDescription
deviceAudioDeviceSettingsUpdateInfoUpdated device settings.

Returns

Promise<void>

See

AudioDeviceSettingsUpdateInfo

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
ParameterType
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
ParameterType
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
ParameterType
eventName"recording-started"
listenerStartCallback
Returns

this

on("recording-stopped")

on(eventName: "recording-stopped", listener: StopCallback): this;

Fired when a recording session ends.

Parameters
ParameterType
eventName"recording-stopped"
listenerStopCallback
Returns

this

on("recording-split")

on(eventName: "recording-split", listener: SplitCallback): this;

Fired when a recording is split into a new file.

Parameters
ParameterType
eventName"recording-split"
listenerSplitCallback
Returns

this

on("replays-started")

on(eventName: "replays-started", listener: StartCallback): this;

Fired when replay service starts.

Parameters
ParameterType
eventName"replays-started"
listenerStartCallback
Returns

this

on("replays-stopped")

on(eventName: "replays-stopped", listener: ReplayStopCallback): this;

Fired when replay service stops.

Parameters
ParameterType
eventName"replays-stopped"
listenerReplayStopCallback
Returns

this

on("replay-captured")

on(eventName: "replay-captured", listener: ReplayCallback): this;

Fired when a replay video has been captured.

Parameters
ParameterType
eventName"replay-captured"
listenerReplayCallback
Returns

this

on("stats")

on(eventName: "stats", listener: (args: RecorderStats) => void): this;

Fired periodically with recorder performance metrics. Interval is configured via RecordingAppOptions.statsInterval.

Parameters
ParameterType
eventName"stats"
listener(args: RecorderStats) => void
Returns

this