node-av 6.0.0-beta.5 → 6.0.0-beta.7

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/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  [![FFmpeg](https://img.shields.io/badge/FFmpeg-8.1-green.svg)](https://ffmpeg.org)
12
12
  [![Platform](https://img.shields.io/badge/platform-Windows%20(MSVC%20%7C%20MinGW)%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/seydx/node-av)
13
13
 
14
- Native Node.js bindings for FFmpeg with full TypeScript support. Provides direct access to FFmpeg's C APIs through N-API. Includes both raw FFmpeg bindings for full control and higher-level abstractions. Automatic resource management via Disposable pattern, hardware acceleration support and prebuilt binaries for Windows, Linux, and macOS.
14
+ Native Node.js bindings for FFmpeg with full TypeScript support - including type-safe options (autocomplete + validation) for every codec, format, filter, and bitstream filter, generated from FFmpeg's own metadata. Provides direct access to FFmpeg's C APIs through N-API. Includes both raw FFmpeg bindings for full control and higher-level abstractions. Automatic resource management via Disposable pattern, hardware acceleration support and prebuilt binaries for Windows, Linux, and macOS.
15
15
 
16
16
  📚 **[Documentation](https://seydx.github.io/node-av)**
17
17
 
@@ -446,6 +446,9 @@ import * as ffmpeg from 'node-av';
446
446
 
447
447
  Beyond basic transcoding, NodeAV provides advanced media processing capabilities:
448
448
 
449
+ **Fully Typed FFmpeg Options**
450
+ Every FFmpeg option is typed - across codecs, formats, ~580 filters, and bitstream filters. Keys autocomplete, enum values are validated, and typos become compile-time errors, all generated directly from FFmpeg's `AVOption` metadata (including each option's description and a link to the FFmpeg docs as JSDoc). No more grepping the FFmpeg docs for flag names.
451
+
449
452
  **Speech Recognition with Whisper**
450
453
  Integrate automatic speech-to-text transcription using OpenAI's Whisper model through the whisper.cpp implementation. The library handles automatic model downloading from HuggingFace, supports multiple model sizes (tiny, base, small, medium, large) for different accuracy/performance tradeoffs, and provides hardware-accelerated inference through Metal (macOS), Vulkan (cross-platform), or OpenCL backends. Transcription results include precise timestamps and can be processed in real-time from any audio source.
451
454
 
@@ -458,6 +461,9 @@ Stream any media source directly to web browsers through fragmented MP4 (fMP4) o
458
461
  **RTSP Backchannel / Talkback**
459
462
  Implements bidirectional RTSP communication for IP camera integration. The library provides native support for RTSP backchannel streams, enabling audio transmission to camera devices. Transport is handled automatically with support for both TCP (interleaved mode) and UDP protocols, with proper RTP packet formatting and stream synchronization.
460
463
 
464
+ **Image Scaling & Snapshots**
465
+ The `Scaler` turns decoded frames into raw pixel buffers (`rgb`/`rgba`/`gray`/`nv12`/`yuv420p`) or JPEG/PNG images for detection, thumbnail, and snapshot workloads. One reusable instance pools its swscale contexts, GPU filter graphs, and encoders for zero per-frame allocation; hardware frames are cropped/scaled on the GPU with only the small result downloaded. Recurring resolutions can also be served directly by `EncoderPool`.
466
+
461
467
  See the [Examples](#examples) section for complete implementations.
462
468
 
463
469
  ## Performance
@@ -522,11 +528,13 @@ If you encounter module resolution errors like `Cannot find module 'lib/binary-s
522
528
  | `electron-builder` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/electron/builder) |
523
529
  | `electron-forge` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/electron/forge) |
524
530
  | `api-abort-signal` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-abort-signal.ts) |
531
+ | `api-bitstream-filter` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-bitstream-filter.ts) |
525
532
  | `api-dash` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-dash.ts) |
526
533
  | `api-device-capture` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-device-capture.ts) |
527
534
  | `api-encode-decode` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-encode-decode.ts) |
528
535
  | `api-filter-complex` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-filter-complex.ts) |
529
536
  | `api-filter-complex-grid` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-filter-complex-grid.ts) |
537
+ | `api-filter-complex-typed` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-filter-complex-typed.ts) |
530
538
  | `api-fmp4` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-fmp4.ts) |
531
539
  | `api-frame-extract` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-frame-extract.ts) |
532
540
  | `api-hw-codecs` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-hw-codecs.ts) |
@@ -539,10 +547,15 @@ If you encounter module resolution errors like `Cannot find module 'lib/binary-s
539
547
  | `api-hw-filter-sync` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-hw-filter-sync.ts) |
540
548
  | `api-muxing` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-muxing.ts) |
541
549
  | `api-pipeline-hw-rtsp` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-pipeline-hw-rtsp.ts) |
550
+ | `api-pipeline-progress` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-pipeline-progress.ts) |
542
551
  | `api-pipeline-raw-muxing` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-pipeline-raw-muxing.ts) |
552
+ | `api-probe` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-probe.ts) |
543
553
  | `api-rtp` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-rtp.ts) |
554
+ | `api-rtsp-backchannel` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-rtsp-backchannel.ts) |
555
+ | `api-scaler` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-scaler.ts) |
544
556
  | `api-sdp-custom` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-sdp-custom.ts) |
545
557
  | `api-sdp-input` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-sdp-input.ts) |
558
+ | `api-snapshot` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-snapshot.ts) |
546
559
  | `api-stream-input` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-stream-input.ts) |
547
560
  | `api-sw-decode-hw-encode` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-sw-decode-hw-encode.ts) |
548
561
  | `api-sw-transcode` | | | [✓](https://github.com/seydx/node-av/tree/main/examples/api-sw-transcode.ts) |
@@ -1 +1 @@
1
- {"version":3,"file":"demuxer.js","sourceRoot":"","sources":["../../src/api/demuxer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demuxer.js","sourceRoot":"","sources":["../../src/api/demuxer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,220 @@
1
+ import type { AVCodecFlag, AVCodecID, FFEncoderCodec } from '../constants/index.js';
2
+ import type { Codec } from '../lib/codec.js';
3
+ import type { Frame } from '../lib/frame.js';
4
+ import type { EncoderOptions } from './encoder.js';
5
+ /**
6
+ * Options for encoder pool creation.
7
+ *
8
+ * Extends {@link EncoderOptions} with the pool size limit.
9
+ */
10
+ export type EncoderPoolOptions<C = unknown> = EncoderOptions<C> & {
11
+ /**
12
+ * Maximum number of encoders kept alive at once.
13
+ *
14
+ * When exceeded, the least-recently-used encoder is closed. In the worst case
15
+ * (every frame a unique size) the pool degrades to per-frame open/close, never leaking.
16
+ *
17
+ * @default 8
18
+ */
19
+ maxSize?: number;
20
+ /**
21
+ * Codec flags applied to every pooled encoder before its first frame.
22
+ *
23
+ * Needed for flags that change encode behaviour, e.g. `AV_CODEC_FLAG_QSCALE` so
24
+ * MJPEG honours per-frame `frame.quality`.
25
+ */
26
+ flags?: AVCodecFlag | AVCodecFlag[];
27
+ };
28
+ /**
29
+ * Bounded LRU pool of image encoders keyed by resolution and pixel format.
30
+ *
31
+ * A single encoder cannot change dimensions after opening, so encoding frames of
32
+ * varying sizes needs one encoder per resolution. This pool routes each frame to
33
+ * the encoder matching its `width x height x pixelFormat`, creating one on demand
34
+ * and reusing it afterwards. Each frame is given a monotonic PTS internally, so
35
+ * callers can feed independent snapshots without managing timestamps.
36
+ *
37
+ * Pooled encoders are never flushed between frames, so this only suits intra-only
38
+ * image codecs (MJPEG, PNG, WebP, ...). Hardware frames work as-is: the encoder
39
+ * adopts the frame's hardware context. For a single one-off conversion use
40
+ * {@link Encoder.encodeOne} instead.
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * import { EncoderPool } from 'node-av/api';
45
+ * import { FF_ENCODER_MJPEG } from 'node-av/constants';
46
+ *
47
+ * using pool = new EncoderPool(FF_ENCODER_MJPEG);
48
+ * const a = await pool.encode(frame1920); // opens + caches
49
+ * const b = await pool.encode(frame640); // opens + caches
50
+ * const c = await pool.encode(frame1920); // reuses, no open
51
+ * ```
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * // MJPEG quality: set the QSCALE flag on the pool, then carry the quality on
56
+ * // each frame (qscale 2 = best, 31 = worst). The `q` private option has no
57
+ * // effect on MJPEG.
58
+ * import { AV_CODEC_FLAG_QSCALE, FF_QP2LAMBDA } from 'node-av/constants';
59
+ *
60
+ * using pool = new EncoderPool(FF_ENCODER_MJPEG, { maxSize: 4, flags: AV_CODEC_FLAG_QSCALE });
61
+ * frame.quality = 3 * FF_QP2LAMBDA;
62
+ * const jpeg = await pool.encode(frame);
63
+ * ```
64
+ *
65
+ * @see {@link Encoder.encodeOne} For a one-shot, stateless single-frame encode
66
+ */
67
+ export declare class EncoderPool<const C extends FFEncoderCodec | AVCodecID | Codec> implements Disposable {
68
+ private readonly encoderCodec;
69
+ private readonly options;
70
+ private readonly maxSize;
71
+ private readonly flags;
72
+ private readonly encoders;
73
+ /**
74
+ * Create a new encoder pool.
75
+ *
76
+ * @param encoderCodec - Encoder codec applied to every pooled encoder
77
+ *
78
+ * @param options - Encoder options forwarded to each encoder, plus the optional `maxSize` limit
79
+ *
80
+ * @throws {Error} If maxSize is less than 1
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * using pool = new EncoderPool(FF_ENCODER_MJPEG, { maxSize: 4, flags: AV_CODEC_FLAG_QSCALE });
85
+ * ```
86
+ */
87
+ constructor(encoderCodec: C, options?: EncoderPoolOptions<C>);
88
+ /**
89
+ * Number of encoders currently held alive.
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * console.log(`Pool holds ${pool.size} encoders`);
94
+ * ```
95
+ */
96
+ get size(): number;
97
+ /**
98
+ * Encode a frame into a self-contained image buffer.
99
+ *
100
+ * Routes the frame to the encoder matching its dimensions and pixel format,
101
+ * creating and caching one if necessary.
102
+ *
103
+ * @param frame - Frame to encode
104
+ *
105
+ * @returns Encoded image bytes
106
+ *
107
+ * @throws {FFmpegError} If the encoder is not found or encoding fails
108
+ *
109
+ * @throws {Error} If the encoder produced no output
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * const jpeg = await pool.encode(frame);
114
+ * ```
115
+ *
116
+ * @see {@link encodeSync} For synchronous version
117
+ */
118
+ encode(frame: Frame): Promise<Buffer>;
119
+ /**
120
+ * Encode a frame into a self-contained image buffer synchronously.
121
+ * Synchronous version of encode.
122
+ *
123
+ * @param frame - Frame to encode
124
+ *
125
+ * @returns Encoded image bytes
126
+ *
127
+ * @throws {FFmpegError} If the encoder is not found or encoding fails
128
+ *
129
+ * @throws {Error} If the encoder produced no output
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * const jpeg = pool.encodeSync(frame);
134
+ * ```
135
+ *
136
+ * @see {@link encode} For asynchronous version
137
+ */
138
+ encodeSync(frame: Frame): Buffer;
139
+ /**
140
+ * Close all pooled encoders and clear the pool.
141
+ *
142
+ * Automatically called by Symbol.dispose.
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * pool.close();
147
+ * ```
148
+ *
149
+ * @see {@link Symbol.dispose} For automatic cleanup
150
+ */
151
+ close(): void;
152
+ /**
153
+ * Build the cache key from frame dimensions and pixel format.
154
+ *
155
+ * Pixel format is part of the key because the encoder is opened with the frame's
156
+ * format; a cached encoder for the same size but a different format would be invalid.
157
+ *
158
+ * @param frame - Frame to derive the key from
159
+ *
160
+ * @returns Cache key `width x height x pixelFormat`
161
+ *
162
+ * @internal
163
+ */
164
+ private keyFor;
165
+ /**
166
+ * Look up an encoder and mark it as most-recently-used.
167
+ *
168
+ * @param key - Cache key to look up
169
+ *
170
+ * @returns Pooled encoder, or undefined if not cached
171
+ *
172
+ * @internal
173
+ */
174
+ private touch;
175
+ /**
176
+ * Insert a freshly created encoder, evicting the least-recently-used one if full.
177
+ *
178
+ * @param key - Cache key for the encoder
179
+ *
180
+ * @param encoder - Freshly created encoder to cache
181
+ *
182
+ * @returns The pooled encoder entry
183
+ *
184
+ * @internal
185
+ */
186
+ private set;
187
+ /**
188
+ * Extract the encoded bytes from the produced packets and free them.
189
+ *
190
+ * packet.data returns a JS-owned copy, so the buffer stays valid after freeing.
191
+ *
192
+ * @param packets - Packets produced by the encoder
193
+ *
194
+ * @param encoder - Encoder that produced the packets (for error messages)
195
+ *
196
+ * @returns Encoded image bytes
197
+ *
198
+ * @throws {Error} If no packet was produced
199
+ *
200
+ * @internal
201
+ */
202
+ private extract;
203
+ /**
204
+ * Dispose of the pool.
205
+ *
206
+ * Implements Disposable interface for automatic cleanup.
207
+ * Equivalent to calling close().
208
+ *
209
+ * @example
210
+ * ```typescript
211
+ * {
212
+ * using pool = new EncoderPool(FF_ENCODER_MJPEG, { maxSize: 4 });
213
+ * // Encode frames...
214
+ * } // All encoders automatically closed
215
+ * ```
216
+ *
217
+ * @see {@link close} For manual cleanup
218
+ */
219
+ [Symbol.dispose](): void;
220
+ }