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 | Type | Description |
---|---|---|
options | RecordingAppOptions | Global 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
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
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. Interval is configured via RecordingAppOptions.statsInterval.
Parameters
Parameter | Type |
---|---|
eventName | "stats" |
listener | (args : RecorderStats ) => void |
Returns
this