node-av 2.6.4 → 2.7.0
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/dist/api/bitstream-filter.d.ts +41 -40
- package/dist/api/bitstream-filter.js +84 -80
- package/dist/api/bitstream-filter.js.map +1 -1
- package/dist/api/data/test_h264.h264 +0 -0
- package/dist/api/data/test_hevc.h265 +0 -0
- package/dist/api/decoder.d.ts +2 -6
- package/dist/api/decoder.js +20 -10
- package/dist/api/decoder.js.map +1 -1
- package/dist/api/encoder.d.ts +2 -10
- package/dist/api/encoder.js +6 -20
- package/dist/api/encoder.js.map +1 -1
- package/dist/api/filter.d.ts +4 -4
- package/dist/api/filter.js +22 -20
- package/dist/api/filter.js.map +1 -1
- package/dist/api/hardware.d.ts +89 -2
- package/dist/api/hardware.js +290 -4
- package/dist/api/hardware.js.map +1 -1
- package/dist/api/media-input.d.ts +23 -3
- package/dist/api/media-input.js +63 -7
- package/dist/api/media-input.js.map +1 -1
- package/dist/api/types.d.ts +9 -0
- package/dist/lib/codec-context.d.ts +10 -0
- package/dist/lib/codec-context.js +14 -0
- package/dist/lib/codec-context.js.map +1 -1
- package/dist/lib/filter-context.d.ts +10 -0
- package/dist/lib/filter-context.js +14 -0
- package/dist/lib/filter-context.js.map +1 -1
- package/dist/lib/native-types.d.ts +2 -0
- package/package.json +18 -17
package/dist/api/hardware.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Codec, HardwareDeviceContext } from '../lib/index.js';
|
|
2
|
-
import type { AVCodecID, AVHWDeviceType, AVPixelFormat } from '../constants/index.js';
|
|
2
|
+
import type { AVCodecID, AVHWDeviceType, AVPixelFormat, FFDecoderCodec, FFEncoderCodec } from '../constants/index.js';
|
|
3
3
|
import type { BaseCodecName, HardwareOptions } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* High-level hardware acceleration management.
|
|
@@ -259,6 +259,8 @@ export declare class HardwareContext implements Disposable {
|
|
|
259
259
|
*
|
|
260
260
|
* @param codec - Generic codec name (e.g., 'h264', 'hevc', 'av1') or AVCodecID
|
|
261
261
|
*
|
|
262
|
+
* @param validate - Whether to validate encoder by testing (default: false)
|
|
263
|
+
*
|
|
262
264
|
* @returns Hardware encoder codec or null if unsupported
|
|
263
265
|
*
|
|
264
266
|
* @example
|
|
@@ -281,7 +283,67 @@ export declare class HardwareContext implements Disposable {
|
|
|
281
283
|
*
|
|
282
284
|
* @see {@link Encoder.create} For using the codec
|
|
283
285
|
*/
|
|
284
|
-
getEncoderCodec(codec: BaseCodecName | AVCodecID): Codec | null;
|
|
286
|
+
getEncoderCodec(codec: BaseCodecName | AVCodecID, validate?: boolean): Codec | null;
|
|
287
|
+
/**
|
|
288
|
+
* Test if hardware acceleration is working by decoding a test frame.
|
|
289
|
+
*
|
|
290
|
+
* Creates a simple decoder and attempts to decode with hardware acceleration.
|
|
291
|
+
* Returns true if hardware decoding succeeds, false otherwise.
|
|
292
|
+
* Useful for validating hardware setup before processing.
|
|
293
|
+
*
|
|
294
|
+
* @param codecId - Codec ID to test (default: H.264)
|
|
295
|
+
*
|
|
296
|
+
* @returns Promise that resolves to true if hardware works
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* ```typescript
|
|
300
|
+
* const hw = HardwareContext.auto();
|
|
301
|
+
* if (hw && await hw.testDecoder()) {
|
|
302
|
+
* console.log('Hardware acceleration working!');
|
|
303
|
+
* // Proceed with hardware decoding/encoding
|
|
304
|
+
* } else {
|
|
305
|
+
* console.log('Hardware acceleration not available');
|
|
306
|
+
* // Fall back to software
|
|
307
|
+
* }
|
|
308
|
+
* ```
|
|
309
|
+
*
|
|
310
|
+
* @example
|
|
311
|
+
* ```typescript
|
|
312
|
+
* // Test specific hardware
|
|
313
|
+
* const cuda = HardwareContext.create(AV_HWDEVICE_TYPE_CUDA);
|
|
314
|
+
* if (cuda && await cuda.testDecoder()) {
|
|
315
|
+
* console.log('CUDA acceleration works');
|
|
316
|
+
* }
|
|
317
|
+
* ```
|
|
318
|
+
*
|
|
319
|
+
* @see {@link supportsCodec} For checking codec support
|
|
320
|
+
*/
|
|
321
|
+
testDecoder(codecId?: AVCodecID): boolean;
|
|
322
|
+
/**
|
|
323
|
+
* Test if hardware encoding works with a specific codec pair.
|
|
324
|
+
*
|
|
325
|
+
* Attempts to decode and re-encode a test frame using hardware acceleration.
|
|
326
|
+
* Validates both decoding and encoding paths for the given codecs.
|
|
327
|
+
*
|
|
328
|
+
* @param decoderCodec - Codec name, ID, or instance to use for decoding
|
|
329
|
+
*
|
|
330
|
+
* @param encoderCodec - Codec name or instance to use for encoding
|
|
331
|
+
*
|
|
332
|
+
* @returns true if both decoding and encoding succeed
|
|
333
|
+
*
|
|
334
|
+
* @example
|
|
335
|
+
* ```typescript
|
|
336
|
+
* import { AV_CODEC_ID_H264 } from 'node-av/constants';
|
|
337
|
+
*
|
|
338
|
+
* const hw = HardwareContext.auto();
|
|
339
|
+
* if (hw && hw.testEncoder(AV_CODEC_ID_H264, AV_CODEC_ID_H264)) {
|
|
340
|
+
* console.log('Hardware H.264 encoding works!');
|
|
341
|
+
* }
|
|
342
|
+
* ```
|
|
343
|
+
*
|
|
344
|
+
* @see {@link getEncoderCodec} For obtaining hardware encoder codec
|
|
345
|
+
*/
|
|
346
|
+
testEncoder(decoderCodec: FFDecoderCodec | Codec | AVCodecID, encoderCodec: FFEncoderCodec | Codec): boolean;
|
|
285
347
|
/**
|
|
286
348
|
* Find all codecs that support this hardware device.
|
|
287
349
|
*
|
|
@@ -328,6 +390,18 @@ export declare class HardwareContext implements Disposable {
|
|
|
328
390
|
* @see {@link Symbol.dispose} For automatic cleanup
|
|
329
391
|
*/
|
|
330
392
|
dispose(): void;
|
|
393
|
+
/**
|
|
394
|
+
* Test hardware decoding with a specific codec.
|
|
395
|
+
*
|
|
396
|
+
* @param decoderCodec - Decoder codec name, ID, or instance to test
|
|
397
|
+
*
|
|
398
|
+
* @param encoderCodec - Optional encoder codec name or instance to test
|
|
399
|
+
*
|
|
400
|
+
* @returns true if decoding succeeds
|
|
401
|
+
*
|
|
402
|
+
* @internal
|
|
403
|
+
*/
|
|
404
|
+
private testCodec;
|
|
331
405
|
/**
|
|
332
406
|
* Map AVCodecID to base codec name for hardware encoder lookup.
|
|
333
407
|
*
|
|
@@ -341,6 +415,19 @@ export declare class HardwareContext implements Disposable {
|
|
|
341
415
|
* @internal
|
|
342
416
|
*/
|
|
343
417
|
private getBaseCodecName;
|
|
418
|
+
/**
|
|
419
|
+
* Map base codec name to AVCodecID for internal use.
|
|
420
|
+
*
|
|
421
|
+
* Converts generic codec names to AVCodecID enum values.
|
|
422
|
+
* Used internally for codec testing and validation.
|
|
423
|
+
*
|
|
424
|
+
* @param codecBaseName - Base codec name string
|
|
425
|
+
*
|
|
426
|
+
* @returns Corresponding AVCodecID or null if unsupported
|
|
427
|
+
*
|
|
428
|
+
* @internal
|
|
429
|
+
*/
|
|
430
|
+
private getCodecIDFromBaseName;
|
|
344
431
|
/**
|
|
345
432
|
* Get the hardware decoder pixel format for this device type.
|
|
346
433
|
*
|
package/dist/api/hardware.js
CHANGED
|
@@ -1,5 +1,64 @@
|
|
|
1
|
+
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
2
|
+
if (value !== null && value !== void 0) {
|
|
3
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
4
|
+
var dispose, inner;
|
|
5
|
+
if (async) {
|
|
6
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
7
|
+
dispose = value[Symbol.asyncDispose];
|
|
8
|
+
}
|
|
9
|
+
if (dispose === void 0) {
|
|
10
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
11
|
+
dispose = value[Symbol.dispose];
|
|
12
|
+
if (async) inner = dispose;
|
|
13
|
+
}
|
|
14
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
15
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
16
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
17
|
+
}
|
|
18
|
+
else if (async) {
|
|
19
|
+
env.stack.push({ async: true });
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
24
|
+
return function (env) {
|
|
25
|
+
function fail(e) {
|
|
26
|
+
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
27
|
+
env.hasError = true;
|
|
28
|
+
}
|
|
29
|
+
var r, s = 0;
|
|
30
|
+
function next() {
|
|
31
|
+
while (r = env.stack.pop()) {
|
|
32
|
+
try {
|
|
33
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
34
|
+
if (r.dispose) {
|
|
35
|
+
var result = r.dispose.call(r.value);
|
|
36
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
37
|
+
}
|
|
38
|
+
else s |= 1;
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
fail(e);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
45
|
+
if (env.hasError) throw env.error;
|
|
46
|
+
}
|
|
47
|
+
return next();
|
|
48
|
+
};
|
|
49
|
+
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
50
|
+
var e = new Error(message);
|
|
51
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
|
+
});
|
|
53
|
+
import { dirname, join } from 'node:path';
|
|
54
|
+
import { fileURLToPath } from 'node:url';
|
|
55
|
+
import { Decoder, Encoder, MediaInput } from '../api/index.js';
|
|
1
56
|
import { AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX, AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX, AV_CODEC_ID_AV1, AV_CODEC_ID_H263, AV_CODEC_ID_H264, AV_CODEC_ID_HEVC, AV_CODEC_ID_MJPEG, AV_CODEC_ID_MPEG2VIDEO, AV_CODEC_ID_MPEG4, AV_CODEC_ID_PRORES, AV_CODEC_ID_VP8, AV_CODEC_ID_VP9, AV_HWDEVICE_TYPE_CUDA, AV_HWDEVICE_TYPE_D3D11VA, AV_HWDEVICE_TYPE_D3D12VA, AV_HWDEVICE_TYPE_DRM, AV_HWDEVICE_TYPE_DXVA2, AV_HWDEVICE_TYPE_MEDIACODEC, AV_HWDEVICE_TYPE_NONE, AV_HWDEVICE_TYPE_OPENCL, AV_HWDEVICE_TYPE_QSV, AV_HWDEVICE_TYPE_RKMPP, AV_HWDEVICE_TYPE_VAAPI, AV_HWDEVICE_TYPE_VDPAU, AV_HWDEVICE_TYPE_VIDEOTOOLBOX, AV_HWDEVICE_TYPE_VULKAN, AV_PIX_FMT_CUDA, AV_PIX_FMT_D3D11, AV_PIX_FMT_D3D12, AV_PIX_FMT_DRM_PRIME, AV_PIX_FMT_DXVA2_VLD, AV_PIX_FMT_MEDIACODEC, AV_PIX_FMT_NV12, AV_PIX_FMT_OPENCL, AV_PIX_FMT_QSV, AV_PIX_FMT_VAAPI, AV_PIX_FMT_VIDEOTOOLBOX, AV_PIX_FMT_VULKAN, } from '../constants/constants.js';
|
|
2
57
|
import { Codec, Dictionary, FFmpegError, HardwareDeviceContext } from '../lib/index.js';
|
|
58
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
59
|
+
const __dirname = dirname(__filename);
|
|
60
|
+
const h264Data = join(__dirname, 'data', 'test_h264.h264');
|
|
61
|
+
const hevcData = join(__dirname, 'data', 'test_hevc.h265');
|
|
3
62
|
/**
|
|
4
63
|
* High-level hardware acceleration management.
|
|
5
64
|
*
|
|
@@ -90,7 +149,17 @@ export class HardwareContext {
|
|
|
90
149
|
const preferenceOrder = this.getPreferenceOrder();
|
|
91
150
|
for (const deviceType of preferenceOrder) {
|
|
92
151
|
try {
|
|
93
|
-
|
|
152
|
+
if (deviceType === AV_HWDEVICE_TYPE_VAAPI && !options.device) {
|
|
153
|
+
options.device = '/dev/dri/renderD128'; // Default VAAPI render node
|
|
154
|
+
}
|
|
155
|
+
let hwCtx = this.createFromType(deviceType, options.device, options.options);
|
|
156
|
+
const isSupported = hwCtx.testDecoder();
|
|
157
|
+
if (!isSupported) {
|
|
158
|
+
hwCtx.dispose();
|
|
159
|
+
hwCtx = null;
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
return hwCtx;
|
|
94
163
|
}
|
|
95
164
|
catch {
|
|
96
165
|
// Try next device type
|
|
@@ -330,6 +399,8 @@ export class HardwareContext {
|
|
|
330
399
|
*
|
|
331
400
|
* @param codec - Generic codec name (e.g., 'h264', 'hevc', 'av1') or AVCodecID
|
|
332
401
|
*
|
|
402
|
+
* @param validate - Whether to validate encoder by testing (default: false)
|
|
403
|
+
*
|
|
333
404
|
* @returns Hardware encoder codec or null if unsupported
|
|
334
405
|
*
|
|
335
406
|
* @example
|
|
@@ -352,12 +423,12 @@ export class HardwareContext {
|
|
|
352
423
|
*
|
|
353
424
|
* @see {@link Encoder.create} For using the codec
|
|
354
425
|
*/
|
|
355
|
-
getEncoderCodec(codec) {
|
|
426
|
+
getEncoderCodec(codec, validate) {
|
|
356
427
|
// Build the encoder name
|
|
357
|
-
let codecBaseName =
|
|
428
|
+
let codecBaseName = null;
|
|
358
429
|
let encoderSuffix = '';
|
|
359
430
|
if (typeof codec === 'number') {
|
|
360
|
-
codecBaseName = this.getBaseCodecName(codec) ??
|
|
431
|
+
codecBaseName = this.getBaseCodecName(codec) ?? null;
|
|
361
432
|
}
|
|
362
433
|
else {
|
|
363
434
|
codecBaseName = codec;
|
|
@@ -365,6 +436,7 @@ export class HardwareContext {
|
|
|
365
436
|
if (!codecBaseName) {
|
|
366
437
|
return null;
|
|
367
438
|
}
|
|
439
|
+
const decoderCodecId = this.getCodecIDFromBaseName(codecBaseName);
|
|
368
440
|
// We might only have hardware decode capabilities (d3d11va, d3d12va etc)
|
|
369
441
|
// So we need to check for other hardware encoders
|
|
370
442
|
const getAlternativeEncoder = () => {
|
|
@@ -422,8 +494,93 @@ export class HardwareContext {
|
|
|
422
494
|
if (!encoderCodec?.isHardwareAcceleratedEncoder()) {
|
|
423
495
|
return null;
|
|
424
496
|
}
|
|
497
|
+
if (validate && decoderCodecId !== null) {
|
|
498
|
+
const isValid = this.testEncoder(decoderCodecId, encoderCodec);
|
|
499
|
+
if (!isValid) {
|
|
500
|
+
return null;
|
|
501
|
+
}
|
|
502
|
+
}
|
|
425
503
|
return encoderCodec;
|
|
426
504
|
}
|
|
505
|
+
/**
|
|
506
|
+
* Test if hardware acceleration is working by decoding a test frame.
|
|
507
|
+
*
|
|
508
|
+
* Creates a simple decoder and attempts to decode with hardware acceleration.
|
|
509
|
+
* Returns true if hardware decoding succeeds, false otherwise.
|
|
510
|
+
* Useful for validating hardware setup before processing.
|
|
511
|
+
*
|
|
512
|
+
* @param codecId - Codec ID to test (default: H.264)
|
|
513
|
+
*
|
|
514
|
+
* @returns Promise that resolves to true if hardware works
|
|
515
|
+
*
|
|
516
|
+
* @example
|
|
517
|
+
* ```typescript
|
|
518
|
+
* const hw = HardwareContext.auto();
|
|
519
|
+
* if (hw && await hw.testDecoder()) {
|
|
520
|
+
* console.log('Hardware acceleration working!');
|
|
521
|
+
* // Proceed with hardware decoding/encoding
|
|
522
|
+
* } else {
|
|
523
|
+
* console.log('Hardware acceleration not available');
|
|
524
|
+
* // Fall back to software
|
|
525
|
+
* }
|
|
526
|
+
* ```
|
|
527
|
+
*
|
|
528
|
+
* @example
|
|
529
|
+
* ```typescript
|
|
530
|
+
* // Test specific hardware
|
|
531
|
+
* const cuda = HardwareContext.create(AV_HWDEVICE_TYPE_CUDA);
|
|
532
|
+
* if (cuda && await cuda.testDecoder()) {
|
|
533
|
+
* console.log('CUDA acceleration works');
|
|
534
|
+
* }
|
|
535
|
+
* ```
|
|
536
|
+
*
|
|
537
|
+
* @see {@link supportsCodec} For checking codec support
|
|
538
|
+
*/
|
|
539
|
+
testDecoder(codecId = AV_CODEC_ID_H264) {
|
|
540
|
+
try {
|
|
541
|
+
if (this.supportsCodec(codecId, false)) {
|
|
542
|
+
const isSupported = this.testCodec(codecId);
|
|
543
|
+
if (!isSupported) {
|
|
544
|
+
return false;
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
return true;
|
|
548
|
+
}
|
|
549
|
+
catch {
|
|
550
|
+
return false;
|
|
551
|
+
}
|
|
552
|
+
}
|
|
553
|
+
/**
|
|
554
|
+
* Test if hardware encoding works with a specific codec pair.
|
|
555
|
+
*
|
|
556
|
+
* Attempts to decode and re-encode a test frame using hardware acceleration.
|
|
557
|
+
* Validates both decoding and encoding paths for the given codecs.
|
|
558
|
+
*
|
|
559
|
+
* @param decoderCodec - Codec name, ID, or instance to use for decoding
|
|
560
|
+
*
|
|
561
|
+
* @param encoderCodec - Codec name or instance to use for encoding
|
|
562
|
+
*
|
|
563
|
+
* @returns true if both decoding and encoding succeed
|
|
564
|
+
*
|
|
565
|
+
* @example
|
|
566
|
+
* ```typescript
|
|
567
|
+
* import { AV_CODEC_ID_H264 } from 'node-av/constants';
|
|
568
|
+
*
|
|
569
|
+
* const hw = HardwareContext.auto();
|
|
570
|
+
* if (hw && hw.testEncoder(AV_CODEC_ID_H264, AV_CODEC_ID_H264)) {
|
|
571
|
+
* console.log('Hardware H.264 encoding works!');
|
|
572
|
+
* }
|
|
573
|
+
* ```
|
|
574
|
+
*
|
|
575
|
+
* @see {@link getEncoderCodec} For obtaining hardware encoder codec
|
|
576
|
+
*/
|
|
577
|
+
testEncoder(decoderCodec, encoderCodec) {
|
|
578
|
+
const isSupported = this.testCodec(decoderCodec, encoderCodec);
|
|
579
|
+
if (!isSupported) {
|
|
580
|
+
return false;
|
|
581
|
+
}
|
|
582
|
+
return true;
|
|
583
|
+
}
|
|
427
584
|
/**
|
|
428
585
|
* Find all codecs that support this hardware device.
|
|
429
586
|
*
|
|
@@ -502,6 +659,97 @@ export class HardwareContext {
|
|
|
502
659
|
this._deviceContext.free();
|
|
503
660
|
this._isDisposed = true;
|
|
504
661
|
}
|
|
662
|
+
/**
|
|
663
|
+
* Test hardware decoding with a specific codec.
|
|
664
|
+
*
|
|
665
|
+
* @param decoderCodec - Decoder codec name, ID, or instance to test
|
|
666
|
+
*
|
|
667
|
+
* @param encoderCodec - Optional encoder codec name or instance to test
|
|
668
|
+
*
|
|
669
|
+
* @returns true if decoding succeeds
|
|
670
|
+
*
|
|
671
|
+
* @internal
|
|
672
|
+
*/
|
|
673
|
+
testCodec(decoderCodec, encoderCodec) {
|
|
674
|
+
try {
|
|
675
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
676
|
+
try {
|
|
677
|
+
let codecDecoder = null;
|
|
678
|
+
let codecEncoder = null;
|
|
679
|
+
if (decoderCodec instanceof Codec) {
|
|
680
|
+
codecDecoder = decoderCodec;
|
|
681
|
+
}
|
|
682
|
+
else if (typeof decoderCodec === 'string') {
|
|
683
|
+
codecDecoder = Codec.findDecoderByName(decoderCodec);
|
|
684
|
+
}
|
|
685
|
+
else {
|
|
686
|
+
codecDecoder = Codec.findDecoder(decoderCodec);
|
|
687
|
+
}
|
|
688
|
+
if (!codecDecoder) {
|
|
689
|
+
throw new Error('Decoder codec not found');
|
|
690
|
+
}
|
|
691
|
+
const testFilePath = codecDecoder.id === AV_CODEC_ID_HEVC ? hevcData : h264Data;
|
|
692
|
+
// Read test bitstream
|
|
693
|
+
const input = __addDisposableResource(env_1, MediaInput.openSync(testFilePath), false);
|
|
694
|
+
const videoStream = input.video();
|
|
695
|
+
const decoder = __addDisposableResource(env_1, Decoder.createSync(videoStream, {
|
|
696
|
+
hardware: this,
|
|
697
|
+
}), false);
|
|
698
|
+
const inputGenerator = input.packetsSync();
|
|
699
|
+
const frameGenerator = decoder.framesSync(inputGenerator);
|
|
700
|
+
let packetGenerator = null;
|
|
701
|
+
let encoder = null;
|
|
702
|
+
if (encoderCodec) {
|
|
703
|
+
if (encoderCodec instanceof Codec) {
|
|
704
|
+
codecEncoder = encoderCodec;
|
|
705
|
+
}
|
|
706
|
+
else if (typeof encoderCodec === 'string') {
|
|
707
|
+
codecEncoder = Codec.findEncoderByName(encoderCodec);
|
|
708
|
+
}
|
|
709
|
+
else if (encoderCodec) {
|
|
710
|
+
codecEncoder = Codec.findEncoder(encoderCodec);
|
|
711
|
+
}
|
|
712
|
+
if (!codecEncoder) {
|
|
713
|
+
throw new Error('Encoder codec not found');
|
|
714
|
+
}
|
|
715
|
+
encoder = Encoder.createSync(codecEncoder, {
|
|
716
|
+
timeBase: videoStream.timeBase,
|
|
717
|
+
frameRate: videoStream.avgFrameRate,
|
|
718
|
+
});
|
|
719
|
+
packetGenerator = encoder.packetsSync(frameGenerator);
|
|
720
|
+
}
|
|
721
|
+
const _encoder = __addDisposableResource(env_1, encoder, false);
|
|
722
|
+
let hasData = false;
|
|
723
|
+
const generator = packetGenerator ?? frameGenerator;
|
|
724
|
+
for (const _1 of generator) {
|
|
725
|
+
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
726
|
+
try {
|
|
727
|
+
const _ = __addDisposableResource(env_2, _1, false);
|
|
728
|
+
hasData = true;
|
|
729
|
+
break; // We only need to decode one frame
|
|
730
|
+
}
|
|
731
|
+
catch (e_1) {
|
|
732
|
+
env_2.error = e_1;
|
|
733
|
+
env_2.hasError = true;
|
|
734
|
+
}
|
|
735
|
+
finally {
|
|
736
|
+
__disposeResources(env_2);
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
return hasData;
|
|
740
|
+
}
|
|
741
|
+
catch (e_2) {
|
|
742
|
+
env_1.error = e_2;
|
|
743
|
+
env_1.hasError = true;
|
|
744
|
+
}
|
|
745
|
+
finally {
|
|
746
|
+
__disposeResources(env_1);
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
catch {
|
|
750
|
+
return false;
|
|
751
|
+
}
|
|
752
|
+
}
|
|
505
753
|
/**
|
|
506
754
|
* Map AVCodecID to base codec name for hardware encoder lookup.
|
|
507
755
|
*
|
|
@@ -540,6 +788,44 @@ export class HardwareContext {
|
|
|
540
788
|
return null;
|
|
541
789
|
}
|
|
542
790
|
}
|
|
791
|
+
/**
|
|
792
|
+
* Map base codec name to AVCodecID for internal use.
|
|
793
|
+
*
|
|
794
|
+
* Converts generic codec names to AVCodecID enum values.
|
|
795
|
+
* Used internally for codec testing and validation.
|
|
796
|
+
*
|
|
797
|
+
* @param codecBaseName - Base codec name string
|
|
798
|
+
*
|
|
799
|
+
* @returns Corresponding AVCodecID or null if unsupported
|
|
800
|
+
*
|
|
801
|
+
* @internal
|
|
802
|
+
*/
|
|
803
|
+
getCodecIDFromBaseName(codecBaseName) {
|
|
804
|
+
switch (codecBaseName) {
|
|
805
|
+
case 'av1':
|
|
806
|
+
return AV_CODEC_ID_AV1;
|
|
807
|
+
case 'h264':
|
|
808
|
+
return AV_CODEC_ID_H264;
|
|
809
|
+
case 'hevc':
|
|
810
|
+
return AV_CODEC_ID_HEVC;
|
|
811
|
+
case 'h263':
|
|
812
|
+
return AV_CODEC_ID_H263;
|
|
813
|
+
case 'mpeg2':
|
|
814
|
+
return AV_CODEC_ID_MPEG2VIDEO;
|
|
815
|
+
case 'mpeg4':
|
|
816
|
+
return AV_CODEC_ID_MPEG4;
|
|
817
|
+
case 'vp8':
|
|
818
|
+
return AV_CODEC_ID_VP8;
|
|
819
|
+
case 'vp9':
|
|
820
|
+
return AV_CODEC_ID_VP9;
|
|
821
|
+
case 'mjpeg':
|
|
822
|
+
return AV_CODEC_ID_MJPEG;
|
|
823
|
+
case 'prores':
|
|
824
|
+
return AV_CODEC_ID_PRORES;
|
|
825
|
+
default:
|
|
826
|
+
return null;
|
|
827
|
+
}
|
|
828
|
+
}
|
|
543
829
|
/**
|
|
544
830
|
* Get the hardware decoder pixel format for this device type.
|
|
545
831
|
*
|
package/dist/api/hardware.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hardware.js","sourceRoot":"","sources":["../../src/api/hardware.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hardware.js","sourceRoot":"","sources":["../../src/api/hardware.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
45
45
|
private formatContext;
|
|
46
46
|
private _streams;
|
|
47
47
|
private ioContext?;
|
|
48
|
+
private isClosed;
|
|
48
49
|
/**
|
|
49
50
|
* @param formatContext - Opened format context
|
|
50
51
|
*
|
|
@@ -238,6 +239,17 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
238
239
|
static openSync(rawData: RawData & {
|
|
239
240
|
input: string;
|
|
240
241
|
}, options?: MediaInputOptions): MediaInput;
|
|
242
|
+
/**
|
|
243
|
+
* Check if input is open.
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```typescript
|
|
247
|
+
* if (!input.isInputOpen) {
|
|
248
|
+
* console.log('Input is not open');
|
|
249
|
+
* }
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
get isInputOpen(): boolean;
|
|
241
253
|
/**
|
|
242
254
|
* Get all streams in the media.
|
|
243
255
|
*
|
|
@@ -252,7 +264,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
252
264
|
/**
|
|
253
265
|
* Get media duration in seconds.
|
|
254
266
|
*
|
|
255
|
-
* Returns 0 if duration is unknown or not available.
|
|
267
|
+
* Returns 0 if duration is unknown or not available or input is closed.
|
|
256
268
|
*
|
|
257
269
|
* @example
|
|
258
270
|
* ```typescript
|
|
@@ -263,7 +275,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
263
275
|
/**
|
|
264
276
|
* Get media bitrate in kilobits per second.
|
|
265
277
|
*
|
|
266
|
-
* Returns 0 if bitrate is unknown.
|
|
278
|
+
* Returns 0 if bitrate is unknown or not available or input is closed.
|
|
267
279
|
*
|
|
268
280
|
* @example
|
|
269
281
|
* ```typescript
|
|
@@ -287,6 +299,8 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
287
299
|
/**
|
|
288
300
|
* Get format name.
|
|
289
301
|
*
|
|
302
|
+
* Returns 'unknown' if input is closed or format is not available.
|
|
303
|
+
*
|
|
290
304
|
* @example
|
|
291
305
|
* ```typescript
|
|
292
306
|
* console.log(`Format: ${input.formatName}`); // "mov,mp4,m4a,3gp,3g2,mj2"
|
|
@@ -296,6 +310,8 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
296
310
|
/**
|
|
297
311
|
* Get format long name.
|
|
298
312
|
*
|
|
313
|
+
* Returns 'Unknown Format' if input is closed or format is not available.
|
|
314
|
+
*
|
|
299
315
|
* @example
|
|
300
316
|
* ```typescript
|
|
301
317
|
* console.log(`Format: ${input.formatLongName}`); // "QuickTime / MOV"
|
|
@@ -368,7 +384,7 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
368
384
|
*
|
|
369
385
|
* @param type - Media type to find
|
|
370
386
|
*
|
|
371
|
-
* @returns Best stream or undefined if not found
|
|
387
|
+
* @returns Best stream or undefined if not found or input is closed
|
|
372
388
|
*
|
|
373
389
|
* @example
|
|
374
390
|
* ```typescript
|
|
@@ -475,6 +491,8 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
475
491
|
*
|
|
476
492
|
* @returns 0 on success, negative on error
|
|
477
493
|
*
|
|
494
|
+
* @throws {Error} If input is closed
|
|
495
|
+
*
|
|
478
496
|
* @example
|
|
479
497
|
* ```typescript
|
|
480
498
|
* // Seek to 30 seconds
|
|
@@ -510,6 +528,8 @@ export declare class MediaInput implements AsyncDisposable, Disposable {
|
|
|
510
528
|
*
|
|
511
529
|
* @returns 0 on success, negative on error
|
|
512
530
|
*
|
|
531
|
+
* @throws {Error} If input is closed
|
|
532
|
+
*
|
|
513
533
|
* @example
|
|
514
534
|
* ```typescript
|
|
515
535
|
* // Seek to 30 seconds
|