overwolf.media.replays API
Use this API to capture a short video replay of the currently running game.
Please check the replay API sample app that demonstrates a primary usage in the API. Please read all the info about video capture usage and options on our video capture best practices guide.
Methods Reference
- overwolf.media.replays.turnOn()
- overwolf.media.replays.turnOff()
- overwolf.media.replays.getState()
- overwolf.media.replays.getState()
- overwolf.media.replays.capture()
- overwolf.media.replays.capture()
- overwolf.media.replays.startCapture()
- overwolf.media.replays.startCapture()
- overwolf.media.replays.stopCapture()
- overwolf.media.replays.stopCapture()
- overwolf.media.replays.getHighlightsFeatures()
- overwolf.media.replays.changeVolume()
Events Reference
- overwolf.media.replays.onCaptureError
- overwolf.media.replays.onCaptureStopped
- overwolf.media.replays.onCaptureWarning
- overwolf.media.replays.onReplayServicesStarted
- overwolf.media.replays.onHighlightsCaptured
Types Reference
- overwolf.media.replays.ReplayHighlightsSetting Object
- overwolf.media.replays.enums.ReplayType enum
- overwolf.media.replays.ReplayVideoOptions Object
- overwolf.media.replays.ReplayStreamParams Object
- overwolf.media.replays.TurnOnResult Object
- overwolf.media.replays.TurnOffResult Object
- overwolf.media.replays.GetStateResult Object
- overwolf.media.replays.ReplayResult Object
- overwolf.media.replays.StartReplayResult Object
- overwolf.media.replays.GetHighlightsFeaturesResult Object
- overwolf.media.replays.raw_events Object
- overwolf.media.replays.HighlightsCapturedEvent Object
- overwolf.media.replays.CaptureErrorEvent Object
- overwolf.media.replays.CaptureStoppedEvent Object
- overwolf.media.replays.CaptureWarningEvent Object
- overwolf.media.replays.ReplayServicesStartedEvent Object
- overwolf.media.replays.VideoSource Object
- overwolf.media.replays.WebCamParam Object
- overwolf.media.replays.GameWindowCapture Object
Sample app
In our APIs sample apps repository, you can find and download two sample apps that demonstrate the usage in the replays API:
- The
replay-manual Sample App
. Demonstrates how to use a manual capture using the replay API. - The
replay-auto-highlight Sample App
. Demonstrates how to use the auto-highlights mode using the replay API.
It's a great place to get started - All the samples in this repository are built with JS code and demonstrate primary usage in the API.
Functionality
The sample app's functionality is pretty straightforward: You launch it, open the dev console (to see all the debug messages), and hit the Turn On
button to start the capture and Turn Off
to stop it. In addition, you have the Get State
button that tells you the current state (if the capture mode is turn on or off).
You can look at the dev console to see the status of each call (success, failure, etc.). Once done, you can hit the open media folder to check the captured clip.
Besides the above, you have several minor differences between the manual app and the auto-highlights app:
replay-manual-sample
After hitting the "turn on" button, you have to manually click the "capture" button. That will initiate a short clip capture.
replay-auto-highlights-sample
In this sample app, you only have to click on the "turn on" button to initiate the auto-capture mode. Once the app recognizes supported auto highlight in the game (kill, death, etc.), it will auto-capture it. So no need to click on a "capture" button like in the manual capture app.
Note - if the current game does not support auto-highlights, the sample app will not work and display an error message.
Setting up
Download the app's source code from the repository as a zip file, and extract it to a new folder on your machine.
Load the app as an "unpacked extension" (Note that to do that you have to whitelist your OW username as a developer).
- Open the Overwolf desktop client settings (by right-clicking the client and selecting "Packages" Or by clicking on the wrench icon in the dock and going to the "About" tab => "Development Options").
- Click on "Development options".
- In the opened window, click on "Load unpacked extension" and select the extracted
replay-manual-sample
folder. This will add the manual sample app to your Overwolf dock. Do the same with thereplay-auto-highlights-sample
to install the auto-highlights sample app. - Make sure you are logged in to the OW client. Otherwise, you will get an "Unauthorized App" error message. (Click on the "Appstore" icon in the OW dock to login to the OW client).
- Click on the app's icons in your OW dock to run the apps.
turnOn(parameters, callback)
Version added: 0.130
Turns on background replay capturing. Without calling it first, you will not be able to create video replays.
Only apps that have the VideoCaptureSettings permission in the manifest are considered as a capture app and displayed in the OW client capture tab.
Using this method you can quickly get the game highlights videos without the overhead of using both OW events and streaming API’s.
There’s no need to know/understand each supported game’s mechanics, game flow, edge cases, timings, etc.
Just request for any supported game highlight and OW will provide you with a video file that includes this event.
Parameter | Type | Description |
---|---|---|
parameters | ReplaySetting object | Container for the capture configuration |
callback | (Result: TurnOnResult) => void | A callback function which will be called with the status of the request |
Important notes
turnOn()
will fail if highlights are requested but not supported for the current game.
To get the list of supported highlights call getHighlightsFeatures().- The below call will override your current OW client settings only if video setting is not null or values are different than zero.
- For each OW app that uses this feature, a new video folder will be created. So in theory, a few OW installed apps can capture the same highlight, from the same game (if all these apps set to capture this highlight from this game of course).
Usage Example
let streamSetting = {
"video": {
"sub_folder_name": folderName,
"buffer_length": bufferLength,
"base_frame_size_source" : ["Setting","Auto"] , // if not set, "Setting" is the default
"frame_size_method": ["Original", "ExactOrKeepRatio", "ExactOrClosestResolution"] , // // Original
"override_overwolf_setting" : false,
"fps" :30,
"width" :1920,
"height" : 1080
},
"quota": {
"max_quota_gb": 2,
"excluded_directories": [ "cool_session" ] //set directories that are not part of the quota
}
};
overwolf.media.replays.turnOn({
"settings": streamSetting,
"highlights": {
"enable" : true, //set false if you want to record the highligths manually
"requiredHighlights" : ["death","assist","victory"] // events to capture
}
}, callback);
turnOff(callback)
Version added: 0.117
Turns off background replay capturing. Call this as soon as you’re no longer interested in capturing, in order to free up resources.
Parameter | Type | Description |
---|---|---|
callback | (Result: TurnOffResult) => void | A callback function which will be called with the status of the request |
Callback argument: Success
A callback function which will be called with the status of the request
{ "status": "success" }
getState(replayType, callback)
Version added: 0.78
Returns whether replay capturing is turned on or off.
This function is obsolete. Instead, please use overwolf.media.replays.getState().
Parameter | Type | Description |
---|---|---|
replayType | ReplayType enum | The type of replay to get state for |
callback | (Result: GetStateResult) => void | A callback function which will be called with the status of the request |
getState(callback)
Version added: 0.117
Returns whether replay capturing is turned on or off.
Parameter | Type | Description |
---|---|---|
callback | (Result: GetStateResult) => void | A callback function which will be called with the status of the request |
Note that you get the state only from the window that turned the capturing on.
capture(replayType, pastDuration, futureDuration, captureFinishedCallback, callback)
Version added: 0.78
Starts capturing a replay to a file.
This function is obsolete.
Capture() will automatically stop after it reaches the futureDuration. No need to call stopCapture(). If you want to stop the capture manually, you can use startCapture().
- A replay id will be returned in the callback which is needed to finish capturing the replay.
- You can only call this method if replay mode is on and no other replay is currently being captured to a file.
Parameter | Type | Description |
---|---|---|
replayType | ReplayType enum | The type of replay to capture |
pastDuration | int | The video length, in milliseconds to include prior to the time of this call (up to 600000 ms). |
futureDuration | int | The video length, in milliseconds to include after the time of this call. To ignore it, simply give it a non-positive value |
captureFinishedCallback | (Result: ReplayResult) => void | A callback function which will be called when capturing is finished, at the end of the future duration supplied to this call |
callback | (Result) => void | Reports success or failure |
capture(pastDuration, futureDuration, captureFinishedCallback, callback)
Version added: 0.78
Starts capturing a replay to a file.
Capture() will automatically stop after it reaches the futureDuration. No need to call stopCapture(). If you want to stop the capture manually, you can use startCapture().
- A replay id will be returned in the callback which is needed to finish capturing the replay.
- You can only call this method if replay mode is on and no other replay is currently being captured to a file.
Parameter | Type | Description |
---|---|---|
pastDuration | int | The video length, in milliseconds to include prior to the time of this call (up to 600000 ms) |
futureDuration | int | The video length, in milliseconds to include after the time of this call. To ignore it, simply give it a non-positive value |
captureFinishedCallback | (Result: ReplayResult) => void | A callback function which will be called when capturing is finished, at the end of the future duration supplied to this call |
callback | (Result: StartReplayResult) => void | A callback function which will be called with the status of the request |
startCapture(replayType, pastDuration, callback)
Version added: 0.78
Starts capturing a replay to a file.
This function is obsolete.
startCapture() won't automatically stop until you call stopCapture().
It's useful if you want to stop the capturing based on a future event, like video combos: kill, doublekill, triple kill - where you can't predict what will happen after the first kill. If you want to automatically stop after it reaches futureDuration, you can use capture().
- A replay id will be returned in the callback which is needed to finish capturing the replay.
- You can only call this method if replay mode is on and no other replay is currently being captured to a file.
Parameter | Type | Description |
---|---|---|
replayType | ReplayType enum | The type of replay to capture |
pastDuration | int | The video length, in milliseconds to include prior to the time of this call |
callback | (Result: FileResult) => void | A callback function which will be called with the status of the request |
startCapture(pastDuration, callback)
Version added: 0.78
Starts capturing a replay to a file.
startCapture() won't automatically stop until you call stopCapture().
It's useful if you want to stop the capturing based on a future event, like video combos: kill, doublekill, triple kill - where you can't predict what will happen after the first kill. If you want to automatically stop after it reaches futureDuration, you can use capture().
- A replay id will be returned in the callback (as the last part of the file name ) which is needed to finish capturing the replay.
- You can only call this method if replay mode is on and no other replay is currently being captured to a file.
Parameter | Type | Description |
---|---|---|
replayType | ReplayType enum | The type of replay to capture |
captureFinishedCallback | function | A callback function which will be called when capturing is finished, at the end of the future duration supplied to this call |
callback | (Result: FileResult) => void | A callback function which will be called with the status of the request |
stopCapture(ReplayType, replayId, callback)
Version added: 0.78
Finishes capturing a replay and returns a url to the created video file.
This function is obsolete.
- You can only call this method if replay mode is on and using a valid id of a replay being captured to a file (“url” property).
Parameter | Type | Description |
---|---|---|
replayType | ReplayType enum | The type of replay to capture |
replayId | string | The id of the replay you want to stop capturing |
callback | (Result: FileResult) => void | A callback function which will be called with the status of the request |
stopCapture(replayId, callback)
Version added: 0.117
Finishes capturing a replay and returns a url to the created video file.
- You can only call this method if replay mode is on and using a valid id of a replay being captured to a file.
Parameter | Type | Description |
---|---|---|
replayId | string | The id of the replay you want to stop capturing. Read notes. |
callback | (Result: ReplayResult) => void | A callback function which will be called with the status of the request |
replayId notes
The replayId is returned in the callback of the startCapture(), as the last part of the file name.
getHighlightsFeatures(gameId, callback)
Version added: 0.130
Get supported auto highlights features for a game.
You can browse in our list of auto-highlights supported games.
Parameter | Type | Description |
---|---|---|
gameId | int | The id of the game you want to capture it highlights |
callback | (Result: GetHighlightsFeaturesResult) => void | A callback function which provides a list of the generated video highlights URL’s for this session and relevant metadata for each highlight |
Usage example
//get available Fortnite highlights
overwolf.media.replays.getHighlightsFeatures(21216, JSON.stringify(console.log))
If you run getHighlightsFeatures() for unsupported game, you will get "no feature supported" error:
{
"success": false,
"status": "error",
"error": "no feature supported"}
changeVolume(audioOptions, callback)
Version added: 0.256
Changes the volume of the replay.
Parameter | Type | Description |
---|---|---|
audioOptions | StreamAudioOptions Object | The new volumes encapsulated in an object |
callback | (Result) => void | Returns with the result |
onCaptureError
Version added: 0.78
Fired when an errror has occurred with the capturing, with the following structure: CaptureErrorEvent Object
onCaptureStopped
Version added: 0.117
Fired when replay service is stopped, with the following structure: CaptureStoppedEvent Object
onCaptureWarning
Version added: 0.117
Fired on capture service warning, with the following structure: CaptureWarningEvent Object
onReplayServicesStarted
Version added: 0.117
Fired when an replay service was started (on any app), with the following structure: ReplayServicesStartedEvent Object
onHighlightsCaptured
Version added: 0.130
Fired when a new Replay highlight recorded (when highlightsSetting is enabled), with the following structure: HighlightsCapturedEvent Object
Usage
overwolf.media.replays.onHighlightsCaptured.addListener(function(info) {
console.log("a stream had captured: " + JSON.stringify(info));
});
HighlightsCapturedEvent Object
Parameter | Type | Description |
---|---|---|
game_id | number | |
match_id | string | |
match_internal_id | string | |
session_id | string | |
session_start_time | number | |
match_start_time | number | |
start_time | number | |
duration | string | |
events | string[] | |
raw_events | raw_events[] | |
media_url | string | |
media_path | string | |
media_path_encoded | string | |
thumbnail_url | string | |
thumbnail_encoded_path | string | |
replay_video_start_time | number |
Event data example
{
"game_id":5426,
"match_id":"2334906612",
"match_internal_id":"0b818d3e-99a0-4e93-9bdd-b2af596bfc50",
"session_id":"f05099982b6c452dbf0ba8250d766dc8",
"session_start_time":1576572688739,
"match_start_time":1576572691238,
"start_time":1576572986453,
"duration":19333,
"events":["victory"],
"raw_events":[{"type":"victory","time":10000}],
"media_url":"overwolf://media/replays/Game+Summary/League+of+Legends/League+of+Legends_17-12-2019_10-51-31-222/League+of+Legends+12-17-2019+10-56-36-455.mp4","media_path":"C:\\Users\\Er\\Videos\\Overwolf\\Game Summary\\League of Legends\\League of Legends_17-12-2019_10-51-31-222\\League of Legends 12-17-2019 10-56-36-455.mp4",
"media_path_encoded":"file:///C:/Users/Er/Videos/Overwolf/Game Summary/League of Legends/League of Legends_17-12-2019_10-51-31-222/League of Legends 12-17-2019 10-56-36-455.mp4",
"thumbnail_url":"overwolf://media/thumbnails/Game+Summary/League+of+Legends/League+of+Legends_17-12-2019_10-51-31-222/League+of+Legends+12-17-2019+10-56-36-455.mp4","thumbnail_path":"C:\\Users\\Er\\Videos\\Overwolf\\Game Summary\\League of Legends\\League of Legends_17-12-2019_10-51-31-222\\Thumbnails\\League of Legends 12-17-2019 10-56-36-455.jpg",
"thumbnail_encoded_path":"file:///C:/Users/Er/Videos/Overwolf/Game Summary/League of Legends/League of Legends_17-12-2019_10-51-31-222/Thumbnails/League of Legends 12-17-2019 10-56-36-455.jpg",
"replay_video_start_time":1576572986699
}
Find all the highlights of a specific match
The match_id
field from this event is equal to the pseudo_match_id
from match_info.
You can cross-reference these two id's in order to find all the highlights of a certain match. (you should NOT use the match_internal_id
as it's an OW internal ID)
That works for all the supported games, except LOL: in LOL the match_id
from onHighlightsCaptured is not equal to pseudo_match_id
- it's the real RIOT match ID. So if you wanty to find the highlights of a specific LOL match, you should cross-reference this match_id
with the matchId
from the matchState.
raw_events Object
Parameter | Type | Description |
---|---|---|
type | string | |
time | number |
ReplayHighlightsSetting Object
Version added: 0.78
Container for the Auto highlights configuration.
Parameter | Type | Description |
---|---|---|
enable | bool | Enable auto Highlights recording |
requiredHighlights | string | An array of requested highlights. use ["*"] to register all features. You can get the list of the supported highlights using the method getHighlightsFeatures()) |
ReplaySetting Object
Version added: 0.133
Capture settings container.
Parameter | Type | Description |
---|---|---|
highlights | ReplayHighlightsSetting Object | Optional. Enable auto Highlights recording |
settings | ReplayStreamParams Object | The stream provider settings |
Object data example
"settings": {
"video": { "buffer_length": 20000 },
"audio": {
"mic": {
"volume": 100,
"enable": true,
},
"game": {
"volume": 75,
"enable": true
}
},
"peripherals": {
"capture_mouse_cursor": "both"
},
"quota": {
"max_quota_gb": 2,
"excluded_directories": [ "cool_session" ] //set directories that are not part of the quota
}
}
ReplayStreamParams Object
Version added: 0.147
Represents the settings required to start a replay video.
Name | Type | Description | Since |
---|---|---|---|
audio | StreamAudioOptions Object | Stream audio options | 0.78 |
peripherals | StreamPeripheralsCaptureOptions Object | Defines how peripherals (i.e. mouse cursor) are streamed. Permissions required: DesktopStreaming | 0.78 |
max_quota_gb | double | Max media folder size in GB. deprecated | 0.78 |
quota | StreamQuotaParams object | Parameters for limiting disk space allocation. See note | 0.147 |
video | ReplayVideoOptions Object | Replay video options | 0.147 |
ignore_session_folder | bool | Defines whether or not to use the session folder naming for replays. Defaults to false (session folder naming will be used). | 0.254 |
capture_desktop | StreamDesktopCaptureOptions Object | Defines the desktop streaming options. | 0.254 |
quota
note
You can allocate limited disk space for your captured video and even set an array of directories that are excluded from max quota calculations.
You can use it, for example, to implement "favorites captures" feature: allow your app's users to mark some captured videos as "favorites," move them to one of the excluded directories, and make sure that they not deleted when the quota has reached the limit. Of course, this is just a suggested usage example.
ReplayVideoOptions Object
Version added: 0.147
Replay video options.
Name | Type | Description | Since |
---|---|---|---|
auto_detect | bool | Defines if to try to automatically detect the best settings for streaming | 0.83 |
auto_calc_kbps | bool | Defines if to try to automatically calculate the kbps. If set to true, then the max_kbps field is ignored | 0.83 |
fps | int | Defines the Frames Per Second for the stream | 0.78 |
width | int | Defines the stream width in pixels | 0.78 |
height | int | Defines the stream height in pixels | 0.78 |
max_kbps | int | Defines the maximum KB per second of the stream. See notes. | 0.78 |
buffer_length | int | Defines the length of the buffer to be recorded in millisenconds (max 40 seconds) | 0.83 |
encoder | StreamingVideoEncoderSettings Object | Defines the video encoder settings to use | 0.83 |
capture_desktop | StreamDesktopCaptureOptions Object | Defines the desktop streaming options. Permissions required: DesktopStreaming | 0.83 |
test_drop_frames_interval | uint | The interval, in milliseconds, in which to test for dropped frames | 0.92 |
notify_dropped_frames_ratio | double | The ratio of dropped to non-dropped frames for which to issue a notification | 0.92 |
sub_folder_name | string | Defines Sub folder for video file path destination (See note below this table) | 0.103 |
override_overwolf_setting | bool | Do not use Overwolf capture setting. | 0.103 |
max_file_size_bytes | uint | Defines file maximum size. when video reach {max_file_size_bytes}, the recorder will flush the video file and stat a new video file. | 0.103 |
include_full_size_video | bool | in case max_file_size_bytes is onfull video will be recorded to disk parallel to splits videos. | 0.105 |
disable_when_sht_not_supported | bool | Do not start video replay service in case shared texture is not supported. | 0.105 |
indication_position | indication_position Enum | Position of the recorder indicator. Available for video capture only. | 0.143 |
indication_type | indication_type Enum | Type of the recorder indicator. Available for video capture only. | 0.143 |
use_app_display_name | bool | Use the app display (if has any e.g dock_button_title name when creating video folder. See note | 0.154 |
sources | VideoSource[] | Add sources to video. See note | 0.159 |
base_frame_size_source | eVideoBaseFrameSizeSource Enum | See note | 0.168 |
frame_size_method | eVideoFrameSizeCalcMethod Enum | See note | 0.168 |
game_window_capture | GameWindowCapture Object | Dedicate option for game window capture (when available). See note | 0.176 |
keep_game_capture_on_lost_focus | bool | Keep capturing the game when the game loses focus (i.e do not show "Be Right Back"). Note: if game is minimized, BRB will be shown. | 0.180 |
color_space | string | overwolf.streaming.enums.VideoColorSpec | The default value is: Rec709. | 0.254 |
color_format | string | overwolf.streaming.enums.VideoColorFormat | The default value is: NV12. | 0.254 |
fragmented_video_file | bool | Splits the video to smaller fragments which allows for the immediate start of video playback after downloading only a small initial segment. Defaults to false. | 0.254 |
base_frame_size_source notes
Possible values:
- If not set, "Setting" (setting configuration) is the default. This means that it will look at what method has been selected in the eVideoFrameSizeCalcMethod field.
- "Auto" is logical width\height (if in-game, take the game, otherwise take monitor).
frame_size_method notes
If the above base_frame_size_source was set as "Setting", the bellow values are available:
- "Original": Original calculation to get the output resolution for the needed quality keeping the aspect ratio.
- "ExactOrKeepRatio": Get the exact resolution from a resolutions list for the needed quality; if not found in the list, then calculate a new resolution keeping the aspect ratio.
- "ExactOrClosestResolution": Find the closer resolution from a resolutions list for the needed quality.
game_window_capture notes
Dedicate option for specific games (CSGO, Warzone, Destiny 2) that requires exclusive mode to interact with the OW windows.
Up until now when we recorded these games in windowed mode, it resulted in a recording of the whole desktop.
We now provide the option to record only the game window. This feature is disabled by default, but you can enable it with these recording settings properties:
"video": {
"game_window_capture": {
"enable_when_available": bool, // Disabled by default
"capture_overwolf_windows": bool // Default value is taken from the Overwolf Settings
}
}
Note that we added a new is_game_window_capture
property to onReplayServicesStarted event to inform the app Creator if this new capturing feature was used or not on the current OW window.
sources notes
Using the "sources," you can add a video source (currently, only Webcam is supported) to the captured video.
Read about overwolf.media.replaysVideoSource for more info.
Note: This API does support secondary files for Webcam (means, the webcam rendered to a different video file), while the overwolf.streaming API does not.
use_app_display_name notes
If this flag in on, when creating a video capture folder, it will use the app "short name" as the folder name, instead of using the app name from the manifest.
The app "short name" is defined in the dock_button_title manifest flag.
sub_folder_name notes
- Defines Sub folder for video file path destination (Optional):
OverwolfVideoFolder\\AppName\\|sub_folder_name\\|file_name|
- In case [sub_folder_name] is empty:
OverwolfVideoFolder\\AppName\\|file_name|
VideoSource Object
Version added: 0.159
Container for secondary video sources' settings.
Parameter | Type | Description |
---|---|---|
source_type | overwolf.media.enums.eSourceType | The video source type (currently, only "Webcam" is supported) |
name | string | The name of the source |
secondary_file | boolean | Source will be saved to a secondary video file (i.e another ow-obs.exe process will be created with the same settings as the original one. |
transform | overwolf.media.enums.eVideoSourceTransform | How should the video's source be transformed to fit the declared size |
parameters | overwolf.media.replays.WebCamParam | Parameters specific to the selected source_type . Currently only "WebCam" is supported |
position | 2DPoint{x, y} | The position (in pixels) of the secondary source in the video |
size_scale | 2DPoint{x, y} | The size of the video source in the final video (on a scale of 0-1, relative to the screen size) |
{
"source_type": "overwolf.media.replays.enums.eSourceType.WebCam",
"name":"webcam",
"secondary_file": true,
"transform": "overwolf.media.replays.enums.eVideoSourceTransform.Stretch",
"parameters": { "device_id" : "default" },
"position": { "x": 200, "y": 200 }, // offset is pixel relative to dock position (transform)
"size_scale" : {"x": 0.25, "y": 0.25 } // render size the source in stream (relative to video size), valid only when transform != eVideoSourceTransform.Stretch
}
Usage example
let settings = {
"video": {
"buffer_length": 30,
"sources": [
{
"source_type": overwolf.media.replays.enums.eSourceType.WebCam,
"name":"webcam",
"secondary_file": true,
"transform": overwolf.media.replays.enums.eVideoSourceTransform.Stretch,
"parameters": { "device_id" : "default" },
"position": { x: 200, y: 200 } // offset is pixel relative to dock position (transform)
"size_scale" : { x: 0.25, y: 0.25 }// render size the source in stream (relative to video size), valid only when transform != eVideoSourceTransform.Stretch
}]
}
};
overwolf.media.replays.turnOn({
"settings": streamSetting,
"highlights": {
"enable" : true, //set false if you want to record the highligths manually
"requiredHighlights" : ["death","assist","victory"] // events to capture
}
}, callback);
WebCamParam Object
Version added: 0.159
Parameters for a VideoSource's webcam
Parameter | Type | Description |
---|---|---|
device_id | string | The device id for the selected webcam |
ReplayType enum
Version added: 0.78
The replay type to use.
Option | Description |
---|---|
Video |
TurnOnResult Object
Version added: 0.149
Container for the turnOn result.
Parameter | Type | Description |
---|---|---|
description | string | |
metadata | string | |
mediaFolder | string | |
osVersion | string | |
osBuild | string |
{
"success": true,
"status": "success", //deprecated and kept only for backward compatibility
"description": "",
"metadata": "",
"mediaFolder": "",
"osVersion": "",
"osBuild": ""
}
TurnOffResult Object
Version added: 0.149
Container for the turnOff result.
Parameter | Type | Description |
---|---|---|
description | string | |
metadata | string | |
osVersion | string | |
osBuild | string |
{
"success": true,
"status": "success", //deprecated and kept only for backward compatibility
"description": "",
"metadata": "",
"osVersion": "",
"osBuild": ""
}
GetStateResult Object
Version added: 0.149
Container for the GetState result.
Parameter | Type | Description |
---|---|---|
isOn | boolean |
{
"success": true,
"status": "success", //deprecated and kept only for backward compatibility
"isOn": true
}
ReplayResult Object
Version added: 0.149
Container for the capture result.
Parameter | Type | Description |
---|---|---|
url | string | |
path | string | |
encodedPath | string | |
duration | number | |
thumbnail_url | string | |
thumbnail_path | string | |
thumbnail_encoded_path | string | |
start_time | number |
{
"success": true,
"status": "success", //deprecated and kept only for backward compatibility
"url": "",
"path": "E:/Video/Overwolf/App Name/Dota 2 06-28-2016 17-55-59-435.mp4",
"encodedPath": "",
"duration": "10512",
"thumbnail_url": "overwolf://media/thumbnails/App+Name/Dota+2+06-28-2016+17-55-59-435.mp4",
"thumbnail_path": "",
"thumbnail_encoded_path": "",
"start_time": "1467125753892"
}
StartReplayResult Object
Version added: 0.208
Parameter | Type | Description |
---|---|---|
status | string | Result status, kept for backwards compatibility |
description | string | Description of the underlying OBS error if any occured |
metadata | string | |
mediaFolder | string | The folder where the replay will be saved |
osVersion | string | The OS version of the local machine |
osBuild | string | The OS build of the local machine |
isGameWindowCapture | bool | is_game_window_capture |
errorCode | CaptureErrorCode | The error code of any error encountered during recording |
errorDescription | string | The description of any error encountered during recording |
GetHighlightsFeaturesResult Object
Version added: 0.149
Container for the GetHighlightsFeatures result.
Parameter | Type | Description |
---|---|---|
features | string[] |
{"success":true,"features":["kill","knockout","death","knockedout","victoryRoyale"]}
CaptureErrorEvent Object
Parameter | Type | Description |
---|---|---|
status | string | |
stream_id | string | |
error | string |
Possible Error Codes
- Unknown
- Unauthorized
- Invalid_Server
- No_Internet
- Invalid_Video_Settings
- No_Playback_Device
- Not_InGame
- Internet_Congested
- Game_Quit_Mid_Stream
- Twitch_Dll_Load_Error
- Twitch_Init_Error
- No_Encoder
- Out_Of_Disk_Space
- Update_Driver
Event Data Example
{
"status": "error",
"stream_id": 1,
"error": "Internet_Congested"
}
CaptureStoppedEvent Object
Parameter | Type | Description |
---|---|---|
status | string | |
reason | string | |
metaData | string | |
osVersion | string |
CaptureWarningEvent Object
Parameter | Type | Description |
---|---|---|
warning | string | |
reason | string |
ReplayServicesStartedEvent Object
Parameter | Type | Description |
---|---|---|
extensions | string [] | |
is_game_window_capture | bool | See game_window_capture |
GameWindowCapture Object
Version added: 0.176
Game window capture options.
Name | Type | Description | Since |
---|---|---|---|
enable_when_available | bool | Disabled by default | 0.176 |
capture_overwolf_windows | bool | Default value is taken from the Overwolf Settings | 0.176 |
Example data
"game_window_capture": {
"enable_when_available": bool, // Disabled by default
"capture_overwolf_windows": bool // Default value is taken from the Overwolf Settings
}