@revizly/node-av 5.2.2-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.
- package/BUILD_LINUX.md +61 -0
- package/LICENSE.md +22 -0
- package/README.md +662 -0
- package/build_mac_local.sh +69 -0
- package/dist/api/audio-frame-buffer.d.ts +205 -0
- package/dist/api/audio-frame-buffer.js +287 -0
- package/dist/api/audio-frame-buffer.js.map +1 -0
- package/dist/api/bitstream-filter.d.ts +820 -0
- package/dist/api/bitstream-filter.js +1242 -0
- package/dist/api/bitstream-filter.js.map +1 -0
- package/dist/api/constants.d.ts +44 -0
- package/dist/api/constants.js +45 -0
- package/dist/api/constants.js.map +1 -0
- package/dist/api/data/test_av1.ivf +0 -0
- package/dist/api/data/test_h264.h264 +0 -0
- package/dist/api/data/test_hevc.h265 +0 -0
- package/dist/api/data/test_mjpeg.mjpeg +0 -0
- package/dist/api/data/test_vp8.ivf +0 -0
- package/dist/api/data/test_vp9.ivf +0 -0
- package/dist/api/decoder.d.ts +1088 -0
- package/dist/api/decoder.js +1775 -0
- package/dist/api/decoder.js.map +1 -0
- package/dist/api/demuxer.d.ts +1219 -0
- package/dist/api/demuxer.js +2081 -0
- package/dist/api/demuxer.js.map +1 -0
- package/dist/api/device.d.ts +586 -0
- package/dist/api/device.js +961 -0
- package/dist/api/device.js.map +1 -0
- package/dist/api/encoder.d.ts +1132 -0
- package/dist/api/encoder.js +1988 -0
- package/dist/api/encoder.js.map +1 -0
- package/dist/api/filter-complex.d.ts +821 -0
- package/dist/api/filter-complex.js +1604 -0
- package/dist/api/filter-complex.js.map +1 -0
- package/dist/api/filter-presets.d.ts +1286 -0
- package/dist/api/filter-presets.js +2152 -0
- package/dist/api/filter-presets.js.map +1 -0
- package/dist/api/filter.d.ts +1234 -0
- package/dist/api/filter.js +1976 -0
- package/dist/api/filter.js.map +1 -0
- package/dist/api/fmp4-stream.d.ts +426 -0
- package/dist/api/fmp4-stream.js +739 -0
- package/dist/api/fmp4-stream.js.map +1 -0
- package/dist/api/hardware.d.ts +651 -0
- package/dist/api/hardware.js +1260 -0
- package/dist/api/hardware.js.map +1 -0
- package/dist/api/index.d.ts +17 -0
- package/dist/api/index.js +32 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/io-stream.d.ts +307 -0
- package/dist/api/io-stream.js +282 -0
- package/dist/api/io-stream.js.map +1 -0
- package/dist/api/muxer.d.ts +957 -0
- package/dist/api/muxer.js +2002 -0
- package/dist/api/muxer.js.map +1 -0
- package/dist/api/pipeline.d.ts +607 -0
- package/dist/api/pipeline.js +1145 -0
- package/dist/api/pipeline.js.map +1 -0
- package/dist/api/utilities/async-queue.d.ts +120 -0
- package/dist/api/utilities/async-queue.js +211 -0
- package/dist/api/utilities/async-queue.js.map +1 -0
- package/dist/api/utilities/audio-sample.d.ts +117 -0
- package/dist/api/utilities/audio-sample.js +112 -0
- package/dist/api/utilities/audio-sample.js.map +1 -0
- package/dist/api/utilities/channel-layout.d.ts +76 -0
- package/dist/api/utilities/channel-layout.js +80 -0
- package/dist/api/utilities/channel-layout.js.map +1 -0
- package/dist/api/utilities/electron-shared-texture.d.ts +328 -0
- package/dist/api/utilities/electron-shared-texture.js +503 -0
- package/dist/api/utilities/electron-shared-texture.js.map +1 -0
- package/dist/api/utilities/image.d.ts +207 -0
- package/dist/api/utilities/image.js +213 -0
- package/dist/api/utilities/image.js.map +1 -0
- package/dist/api/utilities/index.d.ts +12 -0
- package/dist/api/utilities/index.js +25 -0
- package/dist/api/utilities/index.js.map +1 -0
- package/dist/api/utilities/media-type.d.ts +49 -0
- package/dist/api/utilities/media-type.js +53 -0
- package/dist/api/utilities/media-type.js.map +1 -0
- package/dist/api/utilities/pixel-format.d.ts +89 -0
- package/dist/api/utilities/pixel-format.js +97 -0
- package/dist/api/utilities/pixel-format.js.map +1 -0
- package/dist/api/utilities/sample-format.d.ts +129 -0
- package/dist/api/utilities/sample-format.js +141 -0
- package/dist/api/utilities/sample-format.js.map +1 -0
- package/dist/api/utilities/scheduler.d.ts +138 -0
- package/dist/api/utilities/scheduler.js +98 -0
- package/dist/api/utilities/scheduler.js.map +1 -0
- package/dist/api/utilities/streaming.d.ts +186 -0
- package/dist/api/utilities/streaming.js +309 -0
- package/dist/api/utilities/streaming.js.map +1 -0
- package/dist/api/utilities/timestamp.d.ts +193 -0
- package/dist/api/utilities/timestamp.js +206 -0
- package/dist/api/utilities/timestamp.js.map +1 -0
- package/dist/api/utilities/whisper-model.d.ts +310 -0
- package/dist/api/utilities/whisper-model.js +528 -0
- package/dist/api/utilities/whisper-model.js.map +1 -0
- package/dist/api/utils.d.ts +19 -0
- package/dist/api/utils.js +39 -0
- package/dist/api/utils.js.map +1 -0
- package/dist/api/whisper.d.ts +324 -0
- package/dist/api/whisper.js +362 -0
- package/dist/api/whisper.js.map +1 -0
- package/dist/constants/channel-layouts.d.ts +53 -0
- package/dist/constants/channel-layouts.js +57 -0
- package/dist/constants/channel-layouts.js.map +1 -0
- package/dist/constants/constants.d.ts +2325 -0
- package/dist/constants/constants.js +1887 -0
- package/dist/constants/constants.js.map +1 -0
- package/dist/constants/decoders.d.ts +633 -0
- package/dist/constants/decoders.js +641 -0
- package/dist/constants/decoders.js.map +1 -0
- package/dist/constants/encoders.d.ts +295 -0
- package/dist/constants/encoders.js +308 -0
- package/dist/constants/encoders.js.map +1 -0
- package/dist/constants/hardware.d.ts +26 -0
- package/dist/constants/hardware.js +27 -0
- package/dist/constants/hardware.js.map +1 -0
- package/dist/constants/index.d.ts +5 -0
- package/dist/constants/index.js +6 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/ffmpeg/index.d.ts +99 -0
- package/dist/ffmpeg/index.js +115 -0
- package/dist/ffmpeg/index.js.map +1 -0
- package/dist/ffmpeg/utils.d.ts +31 -0
- package/dist/ffmpeg/utils.js +68 -0
- package/dist/ffmpeg/utils.js.map +1 -0
- package/dist/ffmpeg/version.d.ts +6 -0
- package/dist/ffmpeg/version.js +7 -0
- package/dist/ffmpeg/version.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/audio-fifo.d.ts +399 -0
- package/dist/lib/audio-fifo.js +431 -0
- package/dist/lib/audio-fifo.js.map +1 -0
- package/dist/lib/binding.d.ts +228 -0
- package/dist/lib/binding.js +60 -0
- package/dist/lib/binding.js.map +1 -0
- package/dist/lib/bitstream-filter-context.d.ts +379 -0
- package/dist/lib/bitstream-filter-context.js +441 -0
- package/dist/lib/bitstream-filter-context.js.map +1 -0
- package/dist/lib/bitstream-filter.d.ts +140 -0
- package/dist/lib/bitstream-filter.js +154 -0
- package/dist/lib/bitstream-filter.js.map +1 -0
- package/dist/lib/codec-context.d.ts +1071 -0
- package/dist/lib/codec-context.js +1354 -0
- package/dist/lib/codec-context.js.map +1 -0
- package/dist/lib/codec-parameters.d.ts +616 -0
- package/dist/lib/codec-parameters.js +761 -0
- package/dist/lib/codec-parameters.js.map +1 -0
- package/dist/lib/codec-parser.d.ts +201 -0
- package/dist/lib/codec-parser.js +213 -0
- package/dist/lib/codec-parser.js.map +1 -0
- package/dist/lib/codec.d.ts +586 -0
- package/dist/lib/codec.js +713 -0
- package/dist/lib/codec.js.map +1 -0
- package/dist/lib/device.d.ts +291 -0
- package/dist/lib/device.js +324 -0
- package/dist/lib/device.js.map +1 -0
- package/dist/lib/dictionary.d.ts +333 -0
- package/dist/lib/dictionary.js +372 -0
- package/dist/lib/dictionary.js.map +1 -0
- package/dist/lib/error.d.ts +242 -0
- package/dist/lib/error.js +303 -0
- package/dist/lib/error.js.map +1 -0
- package/dist/lib/fifo.d.ts +416 -0
- package/dist/lib/fifo.js +453 -0
- package/dist/lib/fifo.js.map +1 -0
- package/dist/lib/filter-context.d.ts +712 -0
- package/dist/lib/filter-context.js +789 -0
- package/dist/lib/filter-context.js.map +1 -0
- package/dist/lib/filter-graph-segment.d.ts +160 -0
- package/dist/lib/filter-graph-segment.js +171 -0
- package/dist/lib/filter-graph-segment.js.map +1 -0
- package/dist/lib/filter-graph.d.ts +641 -0
- package/dist/lib/filter-graph.js +704 -0
- package/dist/lib/filter-graph.js.map +1 -0
- package/dist/lib/filter-inout.d.ts +198 -0
- package/dist/lib/filter-inout.js +257 -0
- package/dist/lib/filter-inout.js.map +1 -0
- package/dist/lib/filter.d.ts +243 -0
- package/dist/lib/filter.js +272 -0
- package/dist/lib/filter.js.map +1 -0
- package/dist/lib/format-context.d.ts +1254 -0
- package/dist/lib/format-context.js +1379 -0
- package/dist/lib/format-context.js.map +1 -0
- package/dist/lib/frame-utils.d.ts +116 -0
- package/dist/lib/frame-utils.js +98 -0
- package/dist/lib/frame-utils.js.map +1 -0
- package/dist/lib/frame.d.ts +1222 -0
- package/dist/lib/frame.js +1435 -0
- package/dist/lib/frame.js.map +1 -0
- package/dist/lib/hardware-device-context.d.ts +362 -0
- package/dist/lib/hardware-device-context.js +383 -0
- package/dist/lib/hardware-device-context.js.map +1 -0
- package/dist/lib/hardware-frames-context.d.ts +419 -0
- package/dist/lib/hardware-frames-context.js +477 -0
- package/dist/lib/hardware-frames-context.js.map +1 -0
- package/dist/lib/index.d.ts +35 -0
- package/dist/lib/index.js +60 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/input-format.d.ts +249 -0
- package/dist/lib/input-format.js +306 -0
- package/dist/lib/input-format.js.map +1 -0
- package/dist/lib/io-context.d.ts +696 -0
- package/dist/lib/io-context.js +769 -0
- package/dist/lib/io-context.js.map +1 -0
- package/dist/lib/log.d.ts +174 -0
- package/dist/lib/log.js +184 -0
- package/dist/lib/log.js.map +1 -0
- package/dist/lib/native-types.d.ts +946 -0
- package/dist/lib/native-types.js +2 -0
- package/dist/lib/native-types.js.map +1 -0
- package/dist/lib/option.d.ts +927 -0
- package/dist/lib/option.js +1583 -0
- package/dist/lib/option.js.map +1 -0
- package/dist/lib/output-format.d.ts +180 -0
- package/dist/lib/output-format.js +213 -0
- package/dist/lib/output-format.js.map +1 -0
- package/dist/lib/packet.d.ts +501 -0
- package/dist/lib/packet.js +590 -0
- package/dist/lib/packet.js.map +1 -0
- package/dist/lib/rational.d.ts +251 -0
- package/dist/lib/rational.js +278 -0
- package/dist/lib/rational.js.map +1 -0
- package/dist/lib/software-resample-context.d.ts +552 -0
- package/dist/lib/software-resample-context.js +592 -0
- package/dist/lib/software-resample-context.js.map +1 -0
- package/dist/lib/software-scale-context.d.ts +344 -0
- package/dist/lib/software-scale-context.js +366 -0
- package/dist/lib/software-scale-context.js.map +1 -0
- package/dist/lib/stream.d.ts +379 -0
- package/dist/lib/stream.js +526 -0
- package/dist/lib/stream.js.map +1 -0
- package/dist/lib/sync-queue.d.ts +179 -0
- package/dist/lib/sync-queue.js +197 -0
- package/dist/lib/sync-queue.js.map +1 -0
- package/dist/lib/types.d.ts +34 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/utilities.d.ts +1127 -0
- package/dist/lib/utilities.js +1225 -0
- package/dist/lib/utilities.js.map +1 -0
- package/dist/utils/electron.d.ts +49 -0
- package/dist/utils/electron.js +63 -0
- package/dist/utils/electron.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/install/check.js +121 -0
- package/install/ffmpeg.js +66 -0
- package/jellyfin-ffmpeg.patch +181 -0
- package/package.json +129 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demuxer.js","sourceRoot":"","sources":["../../src/api/demuxer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,586 @@
|
|
|
1
|
+
import { Demuxer } from './demuxer.js';
|
|
2
|
+
import type { AVPixelFormat } from '../constants/constants.js';
|
|
3
|
+
import type { FFVideoDecoder } from '../constants/decoders.js';
|
|
4
|
+
import type { AudioDeviceMode, DeviceInfo, DeviceMode } from '../lib/device.js';
|
|
5
|
+
/**
|
|
6
|
+
* Options for opening a camera device.
|
|
7
|
+
*/
|
|
8
|
+
export interface CameraOptions {
|
|
9
|
+
videoDevice?: string | number;
|
|
10
|
+
frameRate?: number;
|
|
11
|
+
width?: number;
|
|
12
|
+
height?: number;
|
|
13
|
+
pixelFormat?: AVPixelFormat;
|
|
14
|
+
avfoundation?: {
|
|
15
|
+
captureRawData?: boolean;
|
|
16
|
+
};
|
|
17
|
+
v4l2?: {
|
|
18
|
+
inputFormat?: FFVideoDecoder;
|
|
19
|
+
};
|
|
20
|
+
dshow?: {
|
|
21
|
+
videoDeviceNumber?: number;
|
|
22
|
+
videoPinName?: string;
|
|
23
|
+
};
|
|
24
|
+
formatOptions?: Record<string, string | number | boolean | undefined | null>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Options for opening a microphone device.
|
|
28
|
+
*/
|
|
29
|
+
export interface MicrophoneOptions {
|
|
30
|
+
audioDevice?: string | number;
|
|
31
|
+
sampleRate?: number;
|
|
32
|
+
channels?: number;
|
|
33
|
+
alsa?: {
|
|
34
|
+
configPath?: string;
|
|
35
|
+
};
|
|
36
|
+
dshow?: {
|
|
37
|
+
sampleSize?: number;
|
|
38
|
+
audioDeviceNumber?: number;
|
|
39
|
+
audioPinName?: string;
|
|
40
|
+
audioBufferSize?: number;
|
|
41
|
+
};
|
|
42
|
+
formatOptions?: Record<string, string | number | boolean | undefined | null>;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Options for screen capture.
|
|
46
|
+
*/
|
|
47
|
+
export interface ScreenCaptureOptions {
|
|
48
|
+
screenIndex?: number;
|
|
49
|
+
windowId?: number;
|
|
50
|
+
x?: number;
|
|
51
|
+
y?: number;
|
|
52
|
+
width?: number;
|
|
53
|
+
height?: number;
|
|
54
|
+
frameRate?: number;
|
|
55
|
+
drawMouse?: boolean;
|
|
56
|
+
pixelFormat?: AVPixelFormat;
|
|
57
|
+
avfoundation?: {
|
|
58
|
+
captureMouseClicks?: boolean;
|
|
59
|
+
captureSystemAudio?: boolean;
|
|
60
|
+
excludeProcessAudio?: boolean;
|
|
61
|
+
audioSampleRate?: 8000 | 16000 | 24000 | 48000;
|
|
62
|
+
audioChannels?: 1 | 2;
|
|
63
|
+
};
|
|
64
|
+
x11grab?: {
|
|
65
|
+
display?: string;
|
|
66
|
+
followMouse?: 'centered' | number;
|
|
67
|
+
showRegion?: boolean;
|
|
68
|
+
};
|
|
69
|
+
gdigrab?: {
|
|
70
|
+
windowTitle?: string;
|
|
71
|
+
showRegion?: boolean;
|
|
72
|
+
};
|
|
73
|
+
formatOptions?: Record<string, string | number | boolean | undefined | null>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Options for combined video + audio device capture.
|
|
77
|
+
*/
|
|
78
|
+
export interface DeviceOptions {
|
|
79
|
+
videoDevice?: string | number;
|
|
80
|
+
audioDevice?: string | number;
|
|
81
|
+
frameRate?: number;
|
|
82
|
+
width?: number;
|
|
83
|
+
height?: number;
|
|
84
|
+
pixelFormat?: AVPixelFormat;
|
|
85
|
+
sampleRate?: number;
|
|
86
|
+
channels?: number;
|
|
87
|
+
avfoundation?: {
|
|
88
|
+
captureRawData?: boolean;
|
|
89
|
+
};
|
|
90
|
+
dshow?: {
|
|
91
|
+
videoDeviceNumber?: number;
|
|
92
|
+
audioDeviceNumber?: number;
|
|
93
|
+
videoPinName?: string;
|
|
94
|
+
audioPinName?: string;
|
|
95
|
+
audioBufferSize?: number;
|
|
96
|
+
};
|
|
97
|
+
formatOptions?: Record<string, string | number | boolean | undefined | null>;
|
|
98
|
+
}
|
|
99
|
+
export declare class DeviceAPI {
|
|
100
|
+
/**
|
|
101
|
+
* List all available capture devices.
|
|
102
|
+
*
|
|
103
|
+
* Enumerates video (cameras) and audio (microphones) capture devices
|
|
104
|
+
* on the system using platform-specific APIs.
|
|
105
|
+
*
|
|
106
|
+
* @returns Array of device information
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```typescript
|
|
110
|
+
* const devices = await DeviceAPI.list();
|
|
111
|
+
*
|
|
112
|
+
* // Filter by type
|
|
113
|
+
* const cameras = devices.filter(d => d.type === 'video');
|
|
114
|
+
* const microphones = devices.filter(d => d.type === 'audio');
|
|
115
|
+
*
|
|
116
|
+
* // Find default devices
|
|
117
|
+
* const defaultCamera = devices.find(d => d.type === 'video' && d.isDefault);
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
static list(): Promise<DeviceInfo[]>;
|
|
121
|
+
/**
|
|
122
|
+
* List all available capture devices synchronously.
|
|
123
|
+
*
|
|
124
|
+
* @returns Array of device information
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* const devices = DeviceAPI.listSync();
|
|
129
|
+
* console.log('Found', devices.length, 'devices');
|
|
130
|
+
* ```
|
|
131
|
+
*
|
|
132
|
+
* @see {@link list} For async version
|
|
133
|
+
*/
|
|
134
|
+
static listSync(): DeviceInfo[];
|
|
135
|
+
/**
|
|
136
|
+
* Query supported capture modes for a video device.
|
|
137
|
+
*
|
|
138
|
+
* Returns supported resolutions and frame rate ranges, sorted descending
|
|
139
|
+
* by resolution (area), then by max frame rate.
|
|
140
|
+
*
|
|
141
|
+
* @param deviceName - Device name as returned by `list()` (e.g. uniqueID on macOS)
|
|
142
|
+
*
|
|
143
|
+
* @returns Array of supported device modes
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* const devices = await DeviceAPI.list();
|
|
148
|
+
* const camera = devices.find(d => d.type === 'video');
|
|
149
|
+
* if (camera) {
|
|
150
|
+
* const modes = await DeviceAPI.modes(camera.name);
|
|
151
|
+
* for (const mode of modes) {
|
|
152
|
+
* console.log(`${mode.width}x${mode.height} @ ${mode.minFrameRate}-${mode.maxFrameRate} fps`);
|
|
153
|
+
* }
|
|
154
|
+
* }
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* @see {@link modesSync} For sync version
|
|
158
|
+
*/
|
|
159
|
+
static modes(deviceName: string): Promise<DeviceMode[]>;
|
|
160
|
+
/**
|
|
161
|
+
* Query supported capture modes for a video device synchronously.
|
|
162
|
+
*
|
|
163
|
+
* @param deviceName - Device name as returned by `listSync()`
|
|
164
|
+
*
|
|
165
|
+
* @returns Array of supported device modes
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```typescript
|
|
169
|
+
* const devices = DeviceAPI.listSync();
|
|
170
|
+
* const camera = devices.find(d => d.type === 'video');
|
|
171
|
+
* if (camera) {
|
|
172
|
+
* const modes = DeviceAPI.modesSync(camera.name);
|
|
173
|
+
* for (const mode of modes) {
|
|
174
|
+
* console.log(`${mode.width}x${mode.height} @ ${mode.minFrameRate}-${mode.maxFrameRate} fps`);
|
|
175
|
+
* }
|
|
176
|
+
* }
|
|
177
|
+
* ```
|
|
178
|
+
*
|
|
179
|
+
* @see {@link modes} For async version
|
|
180
|
+
*/
|
|
181
|
+
static modesSync(deviceName: string): DeviceMode[];
|
|
182
|
+
/**
|
|
183
|
+
* Query supported audio capture modes for an audio device.
|
|
184
|
+
*
|
|
185
|
+
* Returns supported sample rates, channel counts and sample formats,
|
|
186
|
+
* sorted descending by sample rate, then by channel count.
|
|
187
|
+
*
|
|
188
|
+
* @param deviceName - Device name as returned by `list()` (e.g. uniqueID on macOS)
|
|
189
|
+
*
|
|
190
|
+
* @returns Array of supported audio device modes
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* const devices = await DeviceAPI.list();
|
|
195
|
+
* const mic = devices.find(d => d.type === 'audio');
|
|
196
|
+
* if (mic) {
|
|
197
|
+
* const modes = await DeviceAPI.audioModes(mic.name);
|
|
198
|
+
* for (const mode of modes) {
|
|
199
|
+
* console.log(`${mode.sampleRate}Hz ${mode.channels}ch`);
|
|
200
|
+
* }
|
|
201
|
+
* }
|
|
202
|
+
* ```
|
|
203
|
+
*
|
|
204
|
+
* @see {@link audioModesSync} For sync version
|
|
205
|
+
*/
|
|
206
|
+
static audioModes(deviceName: string): Promise<AudioDeviceMode[]>;
|
|
207
|
+
/**
|
|
208
|
+
* Query supported audio capture modes for an audio device synchronously.
|
|
209
|
+
*
|
|
210
|
+
* @param deviceName - Device name as returned by `listSync()`
|
|
211
|
+
*
|
|
212
|
+
* @returns Array of supported audio device modes
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
* ```typescript
|
|
216
|
+
* const devices = DeviceAPI.listSync();
|
|
217
|
+
* const mic = devices.find(d => d.type === 'audio');
|
|
218
|
+
* if (mic) {
|
|
219
|
+
* const modes = DeviceAPI.audioModesSync(mic.name);
|
|
220
|
+
* for (const mode of modes) {
|
|
221
|
+
* console.log(`${mode.sampleRate}Hz ${mode.channels}ch`);
|
|
222
|
+
* }
|
|
223
|
+
* }
|
|
224
|
+
* ```
|
|
225
|
+
*
|
|
226
|
+
* @see {@link audioModes} For async version
|
|
227
|
+
*/
|
|
228
|
+
static audioModesSync(deviceName: string): AudioDeviceMode[];
|
|
229
|
+
/**
|
|
230
|
+
* Open a camera device for capture.
|
|
231
|
+
*
|
|
232
|
+
* Creates a Demuxer for the specified video capture device.
|
|
233
|
+
* Uses platform-specific format and device naming conventions.
|
|
234
|
+
*
|
|
235
|
+
* @param options - Camera capture options
|
|
236
|
+
*
|
|
237
|
+
* @returns Demuxer for the camera stream
|
|
238
|
+
*
|
|
239
|
+
* @throws {Error} If device cannot be opened
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```typescript
|
|
243
|
+
* // Open first camera with default settings
|
|
244
|
+
* await using input = await DeviceAPI.openCamera({ videoDevice: 0 });
|
|
245
|
+
*
|
|
246
|
+
* // Open with specific resolution and frame rate
|
|
247
|
+
* await using input = await DeviceAPI.openCamera({
|
|
248
|
+
* videoDevice: 0,
|
|
249
|
+
* width: 1280,
|
|
250
|
+
* height: 720,
|
|
251
|
+
* frameRate: 30,
|
|
252
|
+
* });
|
|
253
|
+
*
|
|
254
|
+
* // Open by device name
|
|
255
|
+
* await using input = await DeviceAPI.openCamera({
|
|
256
|
+
* videoDevice: 'FaceTime HD Camera',
|
|
257
|
+
* });
|
|
258
|
+
* ```
|
|
259
|
+
*/
|
|
260
|
+
static openCamera(options?: CameraOptions): Promise<Demuxer>;
|
|
261
|
+
/**
|
|
262
|
+
* Open a camera device for capture synchronously.
|
|
263
|
+
*
|
|
264
|
+
* @param options - Camera capture options
|
|
265
|
+
*
|
|
266
|
+
* @returns Demuxer for the camera stream
|
|
267
|
+
*
|
|
268
|
+
* @example
|
|
269
|
+
* ```typescript
|
|
270
|
+
* using input = DeviceAPI.openCameraSync({ videoDevice: 0 });
|
|
271
|
+
* ```
|
|
272
|
+
*
|
|
273
|
+
* @see {@link openCamera} For async version
|
|
274
|
+
*/
|
|
275
|
+
static openCameraSync(options?: CameraOptions): Demuxer;
|
|
276
|
+
/**
|
|
277
|
+
* Open a microphone device for capture.
|
|
278
|
+
*
|
|
279
|
+
* Creates a Demuxer for the specified audio capture device.
|
|
280
|
+
* Uses platform-specific format and device naming conventions.
|
|
281
|
+
*
|
|
282
|
+
* @param options - Microphone capture options
|
|
283
|
+
*
|
|
284
|
+
* @returns Demuxer for the audio stream
|
|
285
|
+
*
|
|
286
|
+
* @throws {Error} If device cannot be opened
|
|
287
|
+
*
|
|
288
|
+
* @example
|
|
289
|
+
* ```typescript
|
|
290
|
+
* // Open first microphone
|
|
291
|
+
* await using input = await DeviceAPI.openMicrophone({ audioDevice: 0 });
|
|
292
|
+
*
|
|
293
|
+
* // Open with specific sample rate
|
|
294
|
+
* await using input = await DeviceAPI.openMicrophone({
|
|
295
|
+
* audioDevice: 'default',
|
|
296
|
+
* sampleRate: 48000,
|
|
297
|
+
* channels: 2,
|
|
298
|
+
* });
|
|
299
|
+
* ```
|
|
300
|
+
*/
|
|
301
|
+
static openMicrophone(options?: MicrophoneOptions): Promise<Demuxer>;
|
|
302
|
+
/**
|
|
303
|
+
* Open a microphone device for capture synchronously.
|
|
304
|
+
*
|
|
305
|
+
* @param options - Microphone capture options
|
|
306
|
+
*
|
|
307
|
+
* @returns Demuxer for the audio stream
|
|
308
|
+
*
|
|
309
|
+
* @example
|
|
310
|
+
* ```typescript
|
|
311
|
+
* using input = DeviceAPI.openMicrophoneSync({ audioDevice: 0 });
|
|
312
|
+
* ```
|
|
313
|
+
*
|
|
314
|
+
* @see {@link openMicrophone} For async version
|
|
315
|
+
*/
|
|
316
|
+
static openMicrophoneSync(options?: MicrophoneOptions): Demuxer;
|
|
317
|
+
/**
|
|
318
|
+
* Open screen capture.
|
|
319
|
+
*
|
|
320
|
+
* Creates a Demuxer for screen/display capture.
|
|
321
|
+
* Uses platform-specific format and capture conventions.
|
|
322
|
+
*
|
|
323
|
+
* @param options - Screen capture options
|
|
324
|
+
*
|
|
325
|
+
* @returns Demuxer for the screen capture stream
|
|
326
|
+
*
|
|
327
|
+
* @throws {Error} If screen capture cannot be opened
|
|
328
|
+
*
|
|
329
|
+
* @example
|
|
330
|
+
* ```typescript
|
|
331
|
+
* // Capture entire screen
|
|
332
|
+
* await using input = await DeviceAPI.openScreen({
|
|
333
|
+
* frameRate: 30,
|
|
334
|
+
* });
|
|
335
|
+
*
|
|
336
|
+
* // Capture specific region
|
|
337
|
+
* await using input = await DeviceAPI.openScreen({
|
|
338
|
+
* x: 100,
|
|
339
|
+
* y: 100,
|
|
340
|
+
* width: 800,
|
|
341
|
+
* height: 600,
|
|
342
|
+
* frameRate: 30,
|
|
343
|
+
* });
|
|
344
|
+
*
|
|
345
|
+
* // Capture specific screen (works cross-platform)
|
|
346
|
+
* await using input = await DeviceAPI.openScreen({
|
|
347
|
+
* screenIndex: 1,
|
|
348
|
+
* frameRate: 30,
|
|
349
|
+
* });
|
|
350
|
+
* ```
|
|
351
|
+
*/
|
|
352
|
+
static openScreen(options?: ScreenCaptureOptions): Promise<Demuxer>;
|
|
353
|
+
/**
|
|
354
|
+
* Open screen capture synchronously.
|
|
355
|
+
*
|
|
356
|
+
* @param options - Screen capture options
|
|
357
|
+
*
|
|
358
|
+
* @returns Demuxer for the screen capture stream
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* ```typescript
|
|
362
|
+
* using input = DeviceAPI.openScreenSync({ frameRate: 30 });
|
|
363
|
+
* ```
|
|
364
|
+
*
|
|
365
|
+
* @see {@link openScreen} For async version
|
|
366
|
+
*/
|
|
367
|
+
static openScreenSync(options?: ScreenCaptureOptions): Demuxer;
|
|
368
|
+
/**
|
|
369
|
+
* Open a combined video + audio device for capture.
|
|
370
|
+
*
|
|
371
|
+
* Creates a single Demuxer that captures both video and audio simultaneously.
|
|
372
|
+
* Supported on macOS (AVFoundation) and Windows (DirectShow).
|
|
373
|
+
* Not supported on Linux — use separate `openCamera()` and `openMicrophone()` calls instead.
|
|
374
|
+
*
|
|
375
|
+
* @param options - Combined device capture options
|
|
376
|
+
*
|
|
377
|
+
* @returns Demuxer for the combined video + audio stream
|
|
378
|
+
*
|
|
379
|
+
* @throws {Error} If devices cannot be opened or platform does not support combined capture
|
|
380
|
+
*
|
|
381
|
+
* @example
|
|
382
|
+
* ```typescript
|
|
383
|
+
* await using input = await DeviceAPI.openDevice({
|
|
384
|
+
* videoDevice: 0,
|
|
385
|
+
* audioDevice: 0,
|
|
386
|
+
* width: 1280,
|
|
387
|
+
* height: 720,
|
|
388
|
+
* frameRate: 30,
|
|
389
|
+
* sampleRate: 48000,
|
|
390
|
+
* channels: 2,
|
|
391
|
+
* });
|
|
392
|
+
* ```
|
|
393
|
+
*/
|
|
394
|
+
static openDevice(options: DeviceOptions): Promise<Demuxer>;
|
|
395
|
+
/**
|
|
396
|
+
* Open a combined video + audio device for capture synchronously.
|
|
397
|
+
*
|
|
398
|
+
* @param options - Combined device capture options
|
|
399
|
+
*
|
|
400
|
+
* @returns Demuxer for the combined video + audio stream
|
|
401
|
+
*
|
|
402
|
+
* @example
|
|
403
|
+
* ```typescript
|
|
404
|
+
* using input = DeviceAPI.openDeviceSync({
|
|
405
|
+
* videoDevice: 0,
|
|
406
|
+
* audioDevice: 0,
|
|
407
|
+
* });
|
|
408
|
+
* ```
|
|
409
|
+
*
|
|
410
|
+
* @see {@link openDevice} For async version
|
|
411
|
+
*/
|
|
412
|
+
static openDeviceSync(options: DeviceOptions): Demuxer;
|
|
413
|
+
/**
|
|
414
|
+
* Get the platform-specific input format for video devices.
|
|
415
|
+
*
|
|
416
|
+
* @returns Format name (avfoundation/v4l2/dshow)
|
|
417
|
+
*
|
|
418
|
+
* @example
|
|
419
|
+
* ```typescript
|
|
420
|
+
* const format = DeviceAPI.getVideoFormat();
|
|
421
|
+
* // Returns 'avfoundation' on macOS, 'v4l2' on Linux, 'dshow' on Windows
|
|
422
|
+
* ```
|
|
423
|
+
*/
|
|
424
|
+
static getVideoFormat(): string;
|
|
425
|
+
/**
|
|
426
|
+
* Get the platform-specific input format for audio devices.
|
|
427
|
+
*
|
|
428
|
+
* @returns Format name (avfoundation/alsa/dshow)
|
|
429
|
+
*
|
|
430
|
+
* @example
|
|
431
|
+
* ```typescript
|
|
432
|
+
* const format = DeviceAPI.getAudioFormat();
|
|
433
|
+
* // Returns 'avfoundation' on macOS, 'alsa' on Linux, 'dshow' on Windows
|
|
434
|
+
* ```
|
|
435
|
+
*/
|
|
436
|
+
static getAudioFormat(): string;
|
|
437
|
+
/**
|
|
438
|
+
* Get the platform-specific input format for screen capture.
|
|
439
|
+
*
|
|
440
|
+
* @returns Format name (avfoundation/x11grab/gdigrab)
|
|
441
|
+
*
|
|
442
|
+
* @example
|
|
443
|
+
* ```typescript
|
|
444
|
+
* const format = DeviceAPI.getScreenFormat();
|
|
445
|
+
* // Returns 'avfoundation' on macOS, 'x11grab' on Linux, 'gdigrab' on Windows
|
|
446
|
+
* ```
|
|
447
|
+
*/
|
|
448
|
+
static getScreenFormat(): string;
|
|
449
|
+
/**
|
|
450
|
+
* Check if the application has screen capture permission.
|
|
451
|
+
*
|
|
452
|
+
* On macOS 11+, uses `CGPreflightScreenCaptureAccess()` to check
|
|
453
|
+
* whether the app has been granted screen recording permission.
|
|
454
|
+
* Always returns `true` on Linux, Windows, and macOS < 11.
|
|
455
|
+
*
|
|
456
|
+
* @returns `true` if screen capture is permitted
|
|
457
|
+
*
|
|
458
|
+
* @example
|
|
459
|
+
* ```typescript
|
|
460
|
+
* if (!DeviceAPI.hasScreenCapturePermission()) {
|
|
461
|
+
* console.log('Screen capture permission not granted');
|
|
462
|
+
* DeviceAPI.requestScreenCaptureAccess(); // triggers system dialog
|
|
463
|
+
* }
|
|
464
|
+
* ```
|
|
465
|
+
*
|
|
466
|
+
* @see {@link requestScreenCaptureAccess} To trigger the permission dialog
|
|
467
|
+
*/
|
|
468
|
+
static hasScreenCapturePermission(): boolean;
|
|
469
|
+
/**
|
|
470
|
+
* Request screen capture permission from the user.
|
|
471
|
+
*
|
|
472
|
+
* On macOS 11+, uses `CGRequestScreenCaptureAccess()` to trigger
|
|
473
|
+
* the system permission dialog if not already granted.
|
|
474
|
+
* Always returns `true` on Linux, Windows, and macOS < 11.
|
|
475
|
+
*
|
|
476
|
+
* Note: This function returns immediately. If permission was not previously
|
|
477
|
+
* granted, the system dialog is shown asynchronously. The return value
|
|
478
|
+
* indicates whether permission was already granted at the time of the call,
|
|
479
|
+
* not the result of the dialog.
|
|
480
|
+
*
|
|
481
|
+
* @returns `true` if permission was already granted
|
|
482
|
+
*
|
|
483
|
+
* @example
|
|
484
|
+
* ```typescript
|
|
485
|
+
* const alreadyGranted = DeviceAPI.requestScreenCaptureAccess();
|
|
486
|
+
* if (!alreadyGranted) {
|
|
487
|
+
* console.log('Permission dialog shown — restart the app after granting access');
|
|
488
|
+
* }
|
|
489
|
+
* ```
|
|
490
|
+
*
|
|
491
|
+
* @see {@link hasScreenCapturePermission} To check current permission status
|
|
492
|
+
*/
|
|
493
|
+
static requestScreenCaptureAccess(): boolean;
|
|
494
|
+
/**
|
|
495
|
+
* Build platform-specific video device name.
|
|
496
|
+
*
|
|
497
|
+
* @param options - Camera options containing videoDevice
|
|
498
|
+
*
|
|
499
|
+
* @returns Platform-specific device name string
|
|
500
|
+
*
|
|
501
|
+
* @internal
|
|
502
|
+
*/
|
|
503
|
+
private static buildVideoDeviceName;
|
|
504
|
+
/**
|
|
505
|
+
* Build platform-specific audio device name.
|
|
506
|
+
*
|
|
507
|
+
* @param options - Microphone options containing audioDevice
|
|
508
|
+
*
|
|
509
|
+
* @returns Platform-specific device name string
|
|
510
|
+
*
|
|
511
|
+
* @internal
|
|
512
|
+
*/
|
|
513
|
+
private static buildAudioDeviceName;
|
|
514
|
+
/**
|
|
515
|
+
* Build platform-specific combined video + audio device name.
|
|
516
|
+
*
|
|
517
|
+
* @param options - Device options containing videoDevice and audioDevice
|
|
518
|
+
*
|
|
519
|
+
* @returns Platform-specific combined device name string
|
|
520
|
+
*
|
|
521
|
+
* @internal
|
|
522
|
+
*/
|
|
523
|
+
private static buildCombinedDeviceName;
|
|
524
|
+
/**
|
|
525
|
+
* Build video format options.
|
|
526
|
+
*
|
|
527
|
+
* @param options - Camera options containing video parameters
|
|
528
|
+
*
|
|
529
|
+
* @returns FFmpeg format options dictionary
|
|
530
|
+
*
|
|
531
|
+
* @internal
|
|
532
|
+
*/
|
|
533
|
+
private static buildVideoFormatOptions;
|
|
534
|
+
/**
|
|
535
|
+
* Build audio format options.
|
|
536
|
+
*
|
|
537
|
+
* @param options - Microphone options containing audio parameters
|
|
538
|
+
*
|
|
539
|
+
* @returns FFmpeg format options dictionary
|
|
540
|
+
*
|
|
541
|
+
* @internal
|
|
542
|
+
*/
|
|
543
|
+
private static buildAudioFormatOptions;
|
|
544
|
+
/**
|
|
545
|
+
* Build combined video + audio format options.
|
|
546
|
+
*
|
|
547
|
+
* @param options - Device options containing both video and audio parameters
|
|
548
|
+
*
|
|
549
|
+
* @returns FFmpeg format options dictionary
|
|
550
|
+
*
|
|
551
|
+
* @internal
|
|
552
|
+
*/
|
|
553
|
+
private static buildDeviceFormatOptions;
|
|
554
|
+
/**
|
|
555
|
+
* Build screen capture parameters.
|
|
556
|
+
*
|
|
557
|
+
* @param options - Screen capture options
|
|
558
|
+
*
|
|
559
|
+
* @returns Device name and format options for screen capture
|
|
560
|
+
*
|
|
561
|
+
* @internal
|
|
562
|
+
*/
|
|
563
|
+
private static buildScreenCaptureParams;
|
|
564
|
+
/**
|
|
565
|
+
* Resolve screen bounds for a given screen index.
|
|
566
|
+
*
|
|
567
|
+
* @param screenIndex - 0-based screen index
|
|
568
|
+
*
|
|
569
|
+
* @returns Screen bounds or undefined if not found
|
|
570
|
+
*
|
|
571
|
+
* @internal
|
|
572
|
+
*/
|
|
573
|
+
private static resolveScreenBounds;
|
|
574
|
+
/**
|
|
575
|
+
* Ensure ALSA configuration is available on Linux.
|
|
576
|
+
*
|
|
577
|
+
* Auto-detects the ALSA configuration file from standard paths and sets
|
|
578
|
+
* `ALSA_CONFIG_PATH` if not already defined. This ensures ALSA can find
|
|
579
|
+
* its configuration even if it is installed at a non-standard location.
|
|
580
|
+
*
|
|
581
|
+
* @param configPath - Optional explicit path to alsa.conf
|
|
582
|
+
*
|
|
583
|
+
* @internal
|
|
584
|
+
*/
|
|
585
|
+
private static ensureAlsaConfig;
|
|
586
|
+
}
|