@overwolf/ow-electron-packages-types 0.2.0-beta.4 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,344 +0,0 @@
1
- # ow-electron types Documentation
2
-
3
- ### CaptureSettingsOptions
4
- - `videoEncoder?: kSupportedEncodersTypes` [kSupportedEncodersTypes](#ksupportedencoderstypes) - encoder type to create capture setting. use `Default` for the best default encoder detected (GPU -> x264)
5
- - `audioEncoder?: kKnownAudioEncodersTypes` [kKnownAudioEncodersTypes](#kknownaudioencoderstypes) - Default is `ffmpeg_aac` (FFmpeg AAC) use queryInformation().encoders.audio for supported encoders
6
- - `separateAudioTracks?: boolean` - When using the default audio sources, the Input and the Output audio sources, will use dedicate tracks (2, 3) as well as track number 1 will include both
7
- - `includeDefaultAudioSources?: boolean` - Add Default input & output Audio Devices
8
-
9
- ### CaptureSettings
10
- - The capture settings object is responsible of holding all of the options & configurations
11
- required to start capture or replays, it contains the capture sources (video / audio) and the specific configurations related to them. as well as general recording options.
12
- - Capture settings object is created using the `CaptureSettingsBuilder.build()` method
13
- - The object is used as an argument to the `startRecording` & `startReplays` [methods](api-specification.md#methods)
14
- Components:
15
- - `videoSettings: VideoSettings` - [Video Settings](#videosettings)
16
- - `audioSettings: AudioSettings` - [Audio Settings](#audiosettings)
17
- - `videoEncoderSettings: VideoEncoderSettingsBase` - [Video Encoder Settings](#videoencodersettingsbase)
18
- - `audioEncoder: AudioEncoderInfo` - [Audio Encoder Info](#audioencoderinfo)
19
- - `sources: CaptureSource[]` - [Capture source](#capturesource)
20
-
21
- ### CaptureSettingsBuilder
22
- `extends CaptureSettings` The capture settings builder, is responsible of exposing
23
- methods for preparing the `CaptureSettings` object, It allows the addition of capture sources, whether its a display / audio device or a game, as well as changing audio / video properties.
24
- Once the settings are ready to be applied, use the `build()` method to create the `CaptureSettings` object
25
- - `addScreenSource(settings)` - Add Screen video capture source
26
- - param - [MonitorCaptureSourceSettings](#monitorcapturesourcesettings)
27
- - `addGameSource(settings)` - Add A Game video capture source
28
- - param - [GameCaptureSourceSettings](#gamecapturesourcesettings)
29
- - `addAudioCapture(params, settings)` - Add an Audio device to capture (Mic, Speakers, etc)
30
- - param - [AudioDeviceParams](#audiodeviceparams)
31
- - param - [AudioDeviceSettings](#audiodevicesettings)
32
- - `addAudioDefaultCapture(type, params, settings)` - Adds Default device (Input or Output) if not already added
33
- - param - type `'input' | 'output'`
34
- - param - [DefaultAudioDeviceParams](#defaultaudiodeviceparams)
35
- - param - [AudioDeviceSettings](#audiodevicesettings)
36
- - `addApplicationAudioCapture(params, settings)` - Add an Audio device to capture (Mic, Speakers, etc)
37
- - param - [ApplicationAudioCaptureParams](#applicationaudiocaptureparams)
38
- - param - [AudioDeviceSettings](#audiodevicesettings)
39
- - `build()` - Returns the CaptureSettings object, with all of the specific properties of the devices added using the methods above.
40
-
41
-
42
- ### RecordEventArgs
43
- - `filePath?: string | undefined` - Recording output file path
44
- - `error?: string` - Error message (optional)
45
- - `reason?: ErrorCode | number` - Error code (optional)
46
- - `stats?: RecorderStats` - [Recording stats](#recorderstats)
47
-
48
- ### RecordStopEventArgs
49
- *(extends RecordEventArgs)
50
- - `duration?: number` - Video duration in milliseconds when recording ended successfully
51
- - `hasError: boolean`
52
- - `splitCount?: number` - number of splits (if had any)
53
- - `startTimeEpoch?: number`- Video start time (Epoch)
54
-
55
-
56
- ### SplitRecordArgs
57
- *(extends RecordEventArgs)
58
- - `duration?: number` - Video duration in milliseconds when recording ended successfully
59
- - `startTimeEpoch?: number`- Video start time (Epoch)
60
- - `splitCount?: number` - number of splits (if had any)
61
- - `nextFilePath: string` - Next video file path
62
-
63
- ### ReplayVideo
64
- *(extends RecordEventArgs)
65
- - `duration?: number` - Video duration in milliseconds when recording ended successfully
66
- - `startTimeEpoch?: number`- Video start time (Epoch)
67
-
68
-
69
- ### RecorderStats
70
- - `cpuUsage: number` - Current CPU usage in percent
71
- - `memoryUsage: number` - Amount of memory in MB currently being used by Recorder
72
- - `availableDiskSpace: number` - Available disk space on the device being used for recording storage
73
- - `activeFps: number` - Current FPS being rendered
74
- - `averageFrameRenderTime: number` - Average time in milliseconds that Recorder is taking to render a frame
75
- - `renderSkippedFrames: number` - Number of frames skipped by Recorder in the render thread
76
- - `renderTotalFrames: number` - Total number of frames outputted by the render thread
77
- - `outputSkippedFrames: number` - Number of frames skipped by Recorder in the output thread
78
- - `outputTotalFrames: number` - Total number of frames outputted by the output thread
79
-
80
- ### RecordingAppOptions
81
- - `statsInterval?: number` - note: set 0 to disable stats emit
82
- - `overrideOBSFolder?: string` - Override OBS binaries
83
- - `customCommandLineArgs?: string[]` - Custom command lines when launching recorder
84
- - `enableDebugLogs?: boolean` - Enable recorder debug logs
85
- - `showDebugWindow?: boolean` - Show Recorder capture window
86
-
87
- ### RecordingInformation
88
- - `audio: AudioInformation` - [Audio Information](#audioinformation)
89
- - `video: VideoInformation` - [Video Information](#videoinformation)
90
- - `monitors: MonitorInfo[]` - [Monitor Info](#monitorinfo)
91
-
92
-
93
- ### AudioInformation
94
- - `inputDevices: AudioDevice[]` - [Audio Device](#audiodevice)
95
- - `outputDevices: AudioDevice[]`
96
- - `encoders: AudioEncoderInfo[]` - [Audio Encoder Info](#audioencoderinfo)
97
-
98
- ### VideoInformation
99
- - encoders: VideoEncoderInfo[] - [Video Encoder Info](#videoencoderinfo)
100
- - adapters: AdapterInfo[] - [Adapter Info](#adapterinfo)
101
-
102
- ### MonitorInfo
103
- - `adapterIndex: number`
104
- - `id: string`
105
- - `altId: string`
106
- - `dpi: number`
107
- - `attachedToDesktop: boolean`
108
- - `friendlyName: string`
109
- - `refreshRate: number`
110
- - `rect: Rect`
111
- - `isPrimary: boolean`
112
- - `displayIndex: number`
113
-
114
-
115
- ### VideoEncoderInfo
116
- - `type: kSupportedEncodersTypes` - [kSupportedEncodersTypes](#ksupportedencoderstypes)
117
- - `properties` - Each supported encoder returns different associated properties
118
- - `ffmpeg_aom_av1 & ffmpeg_svt_av1 will provide EncoderSettingsAMFAV1`
119
- - `jim_hevc_nvenc - will provide EncoderSettingsNVENCHEVC`
120
- - `obs_qsv11_hevc & obs_qsv11_v2 - will provide EncoderSettingsQuickSyncHEVC`
121
- - `obs_x264 - will provide EncoderSettingsX264`
122
-
123
-
124
- ### kSupportedEncodersTypes
125
- jim_* are deprecated since obs 0.31.0. instead we use obs_nvenc_* encoders
126
- ```
127
- ffmpeg_svt_av1
128
- ffmpeg_aom_av1
129
- obs_x264
130
- h264_texture_amf
131
- h265_texture_amf
132
- av1_texture_amf
133
- obs_qsv11_v2
134
- obs_qsv11_hevc
135
- obs_qsv11_av1
136
- obs_nvenc_h264_tex
137
- obs_nvenc_hevc_tex
138
- obs_nvenc_av1_tex
139
- ```
140
-
141
- ### AdapterInfo
142
- - `index: 0`
143
- - `name: string`
144
- - `driver: string`
145
- - `hagsEnabled: boolean`
146
- - `hagsEnabledByDefault: boolean`
147
-
148
-
149
- ### AudioDevice
150
- - `type: AudioDeviceType`
151
- - `id: string`
152
- - `name: string`
153
- - `isDefault: boolean`
154
-
155
- #### AudioEncoderInfo
156
- - `type: kKnownAudioEncodersTypes` - [kKnownAudioEncodersTypes](#kknownaudioencoderstypes)
157
- - `codec: string`
158
- - `name: string`
159
-
160
- ### kKnownAudioEncodersTypes
161
- ```
162
- 'ffmpeg_aac' |
163
- 'ffmpeg_opus' |
164
- 'ffmpeg_pcm_s16le' |
165
- 'ffmpeg_pcm_s24le' |
166
- 'ffmpeg_pcm_f32le' |
167
- 'ffmpeg_alac' |
168
- 'ffmpeg_flac' |
169
- 'string'
170
- ```
171
-
172
- ### kVideoColorFormat
173
- ```
174
- 'NV12' |
175
- 'I420' |
176
- 'I444' |
177
- 'P010' |
178
- 'I010' |
179
- 'P216' |
180
- 'P416' |
181
- 'BGRA;
182
- ```
183
-
184
- ### kVideoColorRange
185
- ```'Partial' | 'Full'```
186
-
187
- ### kVideoColorSpec
188
- ```
189
- 'sRGB' |
190
- '709' |
191
- '601' |
192
- '2100PQ' |
193
- '2100HLG'
194
- ```
195
-
196
- ### VideoEncoderSettingsBase
197
- - `max_bitrate?: number` - The maximum allowed bitrate.
198
- - `bitrate?: number` - The encoding bitrate, Default is 8000
199
- - `keyint_sec?: number` - Key frames in second. Default is 0 (i.e auto, calculate by the recording engine more or less generate key frame every 4 second.).
200
-
201
- ### VideoSettings
202
- - `baseWidth: number` - Base width resolution. Default Half HD (main monitor ratio)
203
- - `baseHeight: number` - Base height resolution. Default Half HD (main monitor ratio)
204
- - `fps?: number` - Default is 30.
205
- - `outputWidth?: number`- Output (scaled) resolution. Default is same as baseWidth
206
- - `outputHeight?: number`- Output (scaled) resolution. Default is same as baseHeight
207
- - `colorFormat?: kVideoColorFormat` -Default is 'NV12'
208
- - `colorRange?: kVideoColorRange` - Default is '709'
209
- - `colorSpec?: kVideoColorSpec` - Default is Partial
210
- - `sdrWhite?: number` - Default is 300 nits
211
- - `hdrPeak?: number` - Default is 1000 nits
212
-
213
- ### AudioSettings
214
- - `inputs: AudioDeviceSettingsInfo[]` - [AudioDeviceSettingsInfo](#audiodevicesettingsinfo)
215
- - `outputs: AudioDeviceSettingsInfo[]` - [AudioDeviceSettingsInfo](#audiodevicesettingsinfo)
216
- - `applications: ApplicationAudioDeviceSettingsInfo[]` - [ApplicationAudioDeviceSettingsInfo](#applicationaudiodevicesettingsinfo)
217
-
218
-
219
- ### Rect
220
- ```
221
- top: number
222
- left: number
223
- width: number
224
- height: number
225
- ```
226
-
227
- ### CaptureSource
228
- - `type: 'Display' | 'Game' | 'Window'`
229
- - `properties: any` - GameCaptureSourceSettings | MonitorCaptureSourceSettings
230
-
231
- ### GameCaptureSource
232
- - `type: 'Game`
233
- - `properties: GameCaptureSourceSettings`
234
-
235
- ### GameCaptureSource
236
- - `type: 'Display`
237
- - `properties: MonitorCaptureSourceSettings`
238
-
239
- ### GameCaptureSourceSettings
240
- - `gameProcess: string | number` - Game Process to capture, may contain the process name or process Id.
241
- - `sliCompatibility?: boolean` - Slow capture. using shared memory
242
- - `captureCursor?: boolean` - Capture mouse cursor. Default is true.
243
- - `allowTransparency?: boolean`
244
- - `premultipliedAlpha?: boolean`
245
- - `captureOverlays?: boolean` - Capture third-party overlays
246
- - `limitFramerate?: boolean`- Limit capture framerate
247
- - `rgb10a2Space?: boolean` - Use Rec.2100 (PQ) color space instead sRGB
248
-
249
- ### MonitorCaptureSourceSettings
250
- - `monitorId: string`
251
- - `type?: DisplayCaptureType`
252
- - `captureCursor?: boolean` - Capture mouse cursor. Default is true.
253
- - `forceSDR?: boolean`
254
-
255
- ### CaptureSourceSettings
256
- -`stretchToOutputSize: boolean` - Streach
257
-
258
- ### AudioDeviceSettingsInfo
259
- *extends AudioDeviceSettings
260
- - `type: AudioDeviceType: 'input' | 'output'`
261
- - `id: string` - Device Id
262
-
263
- ### AudioDeviceSettings
264
- - `use_device_timing?: boolean`
265
- - `tracks?: AudioTracks`- include Device tracks. All tracks included by default
266
- - `balance?: number` - 0.0. - 1.0. Default is 0.5
267
- - `mono?: boolean` - Default is False (i.e stereo)
268
- - `volume?: number` - 0.0 - 20.0, default is 1.0 (100%)
269
-
270
- ### ApplicationAudioDeviceSettingsInfo
271
- *extends AudioDeviceSettingsInfo
272
- - `type: 'output'`
273
-
274
-
275
- ### DisplayCaptureType(enum)
276
- ```
277
- Auto = 0,
278
- DXGI = 1, // Direct Duplicator
279
- WGC = 2, // Windows 10 (1903 and up)
280
- BitBlt = 3, // Compatibility mode
281
- ```
282
-
283
- ### DefaultAudioDeviceParams
284
- `separateAudioTracks?: boolean` - Auto Separate audio tracks, When using the default audio sources, the Input and the Output audio sources, Will use dedicate tracks (2, 3), and track number 1 will include both
285
- ### AudioDeviceParams
286
- *extends DefaultAudioDeviceParams
287
-
288
- - `id: string` - The device Id.
289
- - `name: string` - The device name
290
-
291
- ### ApplicationAudioCaptureParams
292
- *extends DefaultAudioDeviceParams
293
- `processName: string` - Process name to capture audio from (i.e Discord.exe or minecraft.exe)
294
-
295
- ### SplitOptions
296
- - `enableManual: boolean` - Allow for manual split command to split the current running capture.
297
- - `maxTimeSecond?: number` - Split video by time (in seconds).
298
-
299
- ### RecordingBaseOptions
300
- - `fileFormat?: kFileFormat` - Video file format. Default is 'fragmented_mp4'
301
- - `audioTrack?: AudioTracks` - Video Audio tracks, default is 'Track1' or 'Track1'| 'Track2' |'Track3' if |separateAudioTracks| is on.
302
- - `autoShutdownOnGameExit?: boolean` - Auto shutdown recording when game exit
303
- **** Note: valid when recording with game capture source
304
-
305
- ### RecordingOptions
306
- *extends RecordingBaseOptions
307
- - `filePath: string` - Output file path (without file extension)
308
- - `split?: SplitOptions` - [Split Options](#splitoptions)
309
- - `maxBySizeMB?: number` - Split video by size (MB).
310
-
311
- ### ReplayOptions
312
- *extends RecordingBaseOptions
313
- - `rootFolder: string` - Set the replay's root folder path, used when replays capture is initiated.
314
- - `bufferSecond: number` - Defines the length of the buffer to be recorded in seconds
315
-
316
- ### CaptureReplayOptions
317
- - `fileName: string`- Replay file name (without extension)
318
- - `pastDuration: number` - The video length, in milliseconds to include prior to the time of this call.
319
- - `timeout?: number` - Auto stop (optional) in milliseconds. When set to Zero, will create replay with pass duration only. if not set, use |ActiveReplay| to stop the replay
320
-
321
- #### ActiveReplay
322
- The active replay object is used to handle currently capturing replay, it can be used to stop, or prolong the replay as desired.
323
- - `timeout: number` - get current replay timeout in milliseconds (since was set, if was set)
324
- - `stop(callback)` - Stop replay now
325
- - param - ReplayCallback with [ReplayVideo](types.md#replayvideo)
326
-
327
- - `stopAfter(timeout, callback)` - Stop after |timeout| in milliseconds
328
- - param - `timeout: number` - time in ms to stop the replay capture
329
- - param - ReplayCallback with [ReplayVideo](types.md#replayvideo)
330
-
331
-
332
- ### GameInfo
333
- - `id: number`
334
- - `classId: number`
335
- - `name: string`
336
- - `supported: boolean`
337
- - `processInfo?: GameProcessInfo`
338
- - `flags?: any`
339
- - `type: 'Game' | 'Launcher'`
340
-
341
- ### GamesFilter
342
- - `all?: boolean` - Optional, when used pass empty [] for gameIds parameter
343
- - `includeUnsupported?: boolean` - Trigger on games that are not supported by ow-electron overlay api
344
- - `gamesIds: number[]` - list of desired gameIds.