node-av 2.5.2 → 2.6.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/README.md +155 -38
- package/binding.gyp +1 -0
- package/dist/api/decoder.js +0 -6
- package/dist/api/decoder.js.map +1 -1
- package/dist/api/encoder.d.ts +1 -3
- package/dist/api/encoder.js +7 -11
- package/dist/api/encoder.js.map +1 -1
- package/dist/api/filter-presets.d.ts +32 -1
- package/dist/api/filter-presets.js +92 -2
- package/dist/api/filter-presets.js.map +1 -1
- package/dist/api/filter.d.ts +0 -4
- package/dist/api/filter.js +5 -5
- package/dist/api/filter.js.map +1 -1
- package/dist/api/hardware.d.ts +3 -5
- package/dist/api/hardware.js +5 -7
- package/dist/api/hardware.js.map +1 -1
- package/dist/api/types.d.ts +0 -7
- package/dist/ffmpeg/index.d.ts +85 -2
- package/dist/ffmpeg/index.js +88 -3
- package/dist/ffmpeg/index.js.map +1 -1
- package/dist/lib/binding.d.ts +17 -2
- package/dist/lib/binding.js.map +1 -1
- package/dist/lib/frame-utils.d.ts +83 -0
- package/dist/lib/frame-utils.js +98 -0
- package/dist/lib/frame-utils.js.map +1 -0
- package/dist/lib/frame.d.ts +51 -0
- package/dist/lib/frame.js +53 -0
- package/dist/lib/frame.js.map +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +2 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/native-types.d.ts +15 -1
- package/dist/lib/types.d.ts +34 -0
- package/dist/lib/utilities.d.ts +73 -0
- package/dist/lib/utilities.js +65 -0
- package/dist/lib/utilities.js.map +1 -1
- package/install/check.js +30 -8
- package/package.json +16 -15
package/dist/lib/types.d.ts
CHANGED
|
@@ -57,3 +57,37 @@ export interface LogOptions {
|
|
|
57
57
|
*/
|
|
58
58
|
maxLevel?: AVLogLevel;
|
|
59
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Image output format
|
|
62
|
+
*/
|
|
63
|
+
export type ImageOutputFormat = 'nv12' | 'yuv420p' | 'rgb' | 'rgba' | 'gray';
|
|
64
|
+
/**
|
|
65
|
+
* Image cropping options
|
|
66
|
+
*/
|
|
67
|
+
export interface ImageCrop {
|
|
68
|
+
top: number;
|
|
69
|
+
left: number;
|
|
70
|
+
width: number;
|
|
71
|
+
height: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Image resizing options
|
|
75
|
+
*/
|
|
76
|
+
export interface ImageResize {
|
|
77
|
+
width: number;
|
|
78
|
+
height: number;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Image format conversion options
|
|
82
|
+
*/
|
|
83
|
+
export interface ImageFormat {
|
|
84
|
+
to: ImageOutputFormat;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
Image processing options
|
|
88
|
+
*/
|
|
89
|
+
export interface ImageOptions {
|
|
90
|
+
format?: ImageFormat;
|
|
91
|
+
crop?: ImageCrop;
|
|
92
|
+
resize?: ImageResize;
|
|
93
|
+
}
|
package/dist/lib/utilities.d.ts
CHANGED
|
@@ -1,6 +1,37 @@
|
|
|
1
1
|
import type { AVCodecID, AVMediaType, AVPixelFormat, AVSampleFormat } from '../constants/constants.js';
|
|
2
2
|
import type { FormatContext } from './format-context.js';
|
|
3
3
|
import type { ChannelLayout, IRational } from './types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Get FFmpeg library information.
|
|
6
|
+
*
|
|
7
|
+
* Returns detailed information about the FFmpeg libraries including
|
|
8
|
+
* version numbers and build configuration.
|
|
9
|
+
*
|
|
10
|
+
* @returns FFmpeg information object with version, configuration, and library versions
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import { getFFmpegInfo } from 'node-av/lib';
|
|
15
|
+
*
|
|
16
|
+
* const info = getFFmpegInfo();
|
|
17
|
+
* console.log('FFmpeg version:', info.version);
|
|
18
|
+
* console.log('Configuration:', info.configuration);
|
|
19
|
+
* console.log('libavcodec:', info.libraries.avcodec);
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function getFFmpegInfo(): {
|
|
23
|
+
version: string;
|
|
24
|
+
configuration: string;
|
|
25
|
+
libraries: {
|
|
26
|
+
avutil: string;
|
|
27
|
+
avcodec: string;
|
|
28
|
+
avformat: string;
|
|
29
|
+
avfilter: string;
|
|
30
|
+
avdevice: string;
|
|
31
|
+
swscale: string;
|
|
32
|
+
swresample: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
4
35
|
/**
|
|
5
36
|
* Get bytes per audio sample.
|
|
6
37
|
*
|
|
@@ -615,6 +646,48 @@ export declare function avSamplesGetBufferSize(nbChannels: number, nbSamples: nu
|
|
|
615
646
|
size: number;
|
|
616
647
|
linesize: number;
|
|
617
648
|
};
|
|
649
|
+
/**
|
|
650
|
+
* Image crop function.
|
|
651
|
+
*
|
|
652
|
+
* Crops an image region from source buffer to destination buffer.
|
|
653
|
+
*
|
|
654
|
+
* @param dstBuffer - Destination buffer (must be pre-allocated)
|
|
655
|
+
*
|
|
656
|
+
* @param srcBuffer - Source buffer containing the image
|
|
657
|
+
*
|
|
658
|
+
* @param pixFmt - Pixel format
|
|
659
|
+
*
|
|
660
|
+
* @param srcWidth - Source image width
|
|
661
|
+
*
|
|
662
|
+
* @param srcHeight - Source image height
|
|
663
|
+
*
|
|
664
|
+
* @param cropX - X coordinate of crop region (left)
|
|
665
|
+
*
|
|
666
|
+
* @param cropY - Y coordinate of crop region (top)
|
|
667
|
+
*
|
|
668
|
+
* @param cropWidth - Width of crop region
|
|
669
|
+
*
|
|
670
|
+
* @param cropHeight - Height of crop region
|
|
671
|
+
*
|
|
672
|
+
* @returns Number of bytes copied
|
|
673
|
+
*
|
|
674
|
+
* @example
|
|
675
|
+
* ```typescript
|
|
676
|
+
* import { AV_PIX_FMT_NV12 } from 'node-av/constants';
|
|
677
|
+
*
|
|
678
|
+
* const dstSize = avImageGetBufferSize(AV_PIX_FMT_NV12, 100, 100, 1);
|
|
679
|
+
* const dstBuffer = Buffer.alloc(dstSize);
|
|
680
|
+
*
|
|
681
|
+
* const bytesCopied = avImageCrop(
|
|
682
|
+
* dstBuffer, srcBuffer,
|
|
683
|
+
* AV_PIX_FMT_NV12,
|
|
684
|
+
* 320, 180, // source dimensions
|
|
685
|
+
* 10, 10, // crop position
|
|
686
|
+
* 100, 100 // crop size
|
|
687
|
+
* );
|
|
688
|
+
* ```
|
|
689
|
+
*/
|
|
690
|
+
export declare function avImageCrop(dstBuffer: Buffer, srcBuffer: Buffer, pixFmt: AVPixelFormat, srcWidth: number, srcHeight: number, cropX: number, cropY: number, cropWidth: number, cropHeight: number): number;
|
|
618
691
|
/**
|
|
619
692
|
* Describe channel layout.
|
|
620
693
|
*
|
package/dist/lib/utilities.js
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
import { bindings } from './binding.js';
|
|
2
2
|
import { FFmpegError } from './error.js';
|
|
3
|
+
/**
|
|
4
|
+
* Get FFmpeg library information.
|
|
5
|
+
*
|
|
6
|
+
* Returns detailed information about the FFmpeg libraries including
|
|
7
|
+
* version numbers and build configuration.
|
|
8
|
+
*
|
|
9
|
+
* @returns FFmpeg information object with version, configuration, and library versions
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { getFFmpegInfo } from 'node-av/lib';
|
|
14
|
+
*
|
|
15
|
+
* const info = getFFmpegInfo();
|
|
16
|
+
* console.log('FFmpeg version:', info.version);
|
|
17
|
+
* console.log('Configuration:', info.configuration);
|
|
18
|
+
* console.log('libavcodec:', info.libraries.avcodec);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export function getFFmpegInfo() {
|
|
22
|
+
return bindings.getFFmpegInfo();
|
|
23
|
+
}
|
|
3
24
|
/**
|
|
4
25
|
* Get bytes per audio sample.
|
|
5
26
|
*
|
|
@@ -672,6 +693,50 @@ export function avSamplesGetBufferSize(nbChannels, nbSamples, sampleFmt, align)
|
|
|
672
693
|
}
|
|
673
694
|
return result;
|
|
674
695
|
}
|
|
696
|
+
/**
|
|
697
|
+
* Image crop function.
|
|
698
|
+
*
|
|
699
|
+
* Crops an image region from source buffer to destination buffer.
|
|
700
|
+
*
|
|
701
|
+
* @param dstBuffer - Destination buffer (must be pre-allocated)
|
|
702
|
+
*
|
|
703
|
+
* @param srcBuffer - Source buffer containing the image
|
|
704
|
+
*
|
|
705
|
+
* @param pixFmt - Pixel format
|
|
706
|
+
*
|
|
707
|
+
* @param srcWidth - Source image width
|
|
708
|
+
*
|
|
709
|
+
* @param srcHeight - Source image height
|
|
710
|
+
*
|
|
711
|
+
* @param cropX - X coordinate of crop region (left)
|
|
712
|
+
*
|
|
713
|
+
* @param cropY - Y coordinate of crop region (top)
|
|
714
|
+
*
|
|
715
|
+
* @param cropWidth - Width of crop region
|
|
716
|
+
*
|
|
717
|
+
* @param cropHeight - Height of crop region
|
|
718
|
+
*
|
|
719
|
+
* @returns Number of bytes copied
|
|
720
|
+
*
|
|
721
|
+
* @example
|
|
722
|
+
* ```typescript
|
|
723
|
+
* import { AV_PIX_FMT_NV12 } from 'node-av/constants';
|
|
724
|
+
*
|
|
725
|
+
* const dstSize = avImageGetBufferSize(AV_PIX_FMT_NV12, 100, 100, 1);
|
|
726
|
+
* const dstBuffer = Buffer.alloc(dstSize);
|
|
727
|
+
*
|
|
728
|
+
* const bytesCopied = avImageCrop(
|
|
729
|
+
* dstBuffer, srcBuffer,
|
|
730
|
+
* AV_PIX_FMT_NV12,
|
|
731
|
+
* 320, 180, // source dimensions
|
|
732
|
+
* 10, 10, // crop position
|
|
733
|
+
* 100, 100 // crop size
|
|
734
|
+
* );
|
|
735
|
+
* ```
|
|
736
|
+
*/
|
|
737
|
+
export function avImageCrop(dstBuffer, srcBuffer, pixFmt, srcWidth, srcHeight, cropX, cropY, cropWidth, cropHeight) {
|
|
738
|
+
return bindings.avImageCrop(dstBuffer, srcBuffer, pixFmt, srcWidth, srcHeight, cropX, cropY, cropWidth, cropHeight);
|
|
739
|
+
}
|
|
675
740
|
/**
|
|
676
741
|
* Describe channel layout.
|
|
677
742
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/lib/utilities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../src/lib/utilities.ts"],"names":[],"mappings":"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"}
|
package/install/check.js
CHANGED
|
@@ -4,6 +4,7 @@ import { existsSync } from 'node:fs';
|
|
|
4
4
|
import { createRequire } from 'node:module';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
|
|
7
|
+
import { type } from 'node:os';
|
|
7
8
|
import { log, spawnRebuild, useGlobalFFmpeg } from './ffmpeg.js';
|
|
8
9
|
|
|
9
10
|
const require = createRequire(import.meta.url);
|
|
@@ -12,16 +13,37 @@ const tryLoadPrebuilt = () => {
|
|
|
12
13
|
// Try to load from platform-specific package (optionalDependencies)
|
|
13
14
|
const platform = process.platform;
|
|
14
15
|
const arch = process.arch;
|
|
15
|
-
const packageName = `@seydx/node-av-${platform}-${arch}`;
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
if (platform === 'win32') {
|
|
18
|
+
const useMingW = type() !== 'Windows_NT';
|
|
19
|
+
if (useMingW) {
|
|
20
|
+
try {
|
|
21
|
+
const packageName = `@seydx/node-av-${platform}-${arch}-mingw`;
|
|
22
|
+
return require(`${packageName}/node-av.node`);
|
|
23
|
+
} catch {
|
|
24
|
+
// Package not installed or file not found
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Fallback to MSVC
|
|
29
|
+
try {
|
|
30
|
+
const packageName = `@seydx/node-av-${platform}-${arch}-msvc`;
|
|
31
|
+
return require(`${packageName}/node-av.node`);
|
|
32
|
+
} catch {
|
|
33
|
+
// Package not installed or file not found
|
|
34
|
+
}
|
|
35
|
+
} else {
|
|
36
|
+
const packageName = `@seydx/node-av-${platform}-${arch}`;
|
|
37
|
+
|
|
38
|
+
try {
|
|
39
|
+
const packagePath = require.resolve(`${packageName}/node-av.node`);
|
|
40
|
+
if (existsSync(packagePath)) {
|
|
41
|
+
log(`Using prebuilt binary from ${packageName}`);
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
} catch {
|
|
45
|
+
// Package not installed or file not found
|
|
22
46
|
}
|
|
23
|
-
} catch {
|
|
24
|
-
// Package not installed or file not found
|
|
25
47
|
}
|
|
26
48
|
|
|
27
49
|
// Try local binary folder (for development)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-av",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
4
4
|
"description": "FFmpeg bindings for Node.js",
|
|
5
5
|
"author": "seydx (https://github.com/seydx/av)",
|
|
6
6
|
"type": "module",
|
|
@@ -61,43 +61,44 @@
|
|
|
61
61
|
"update": "updates --update ./"
|
|
62
62
|
},
|
|
63
63
|
"optionalDependencies": {
|
|
64
|
-
"@seydx/node-av-darwin-arm64": "^2.
|
|
65
|
-
"@seydx/node-av-darwin-x64": "^2.
|
|
66
|
-
"@seydx/node-av-linux-arm64": "^2.
|
|
67
|
-
"@seydx/node-av-linux-x64": "^2.
|
|
68
|
-
"@seydx/node-av-win32-arm64-mingw": "^2.
|
|
69
|
-
"@seydx/node-av-win32-arm64-msvc": "^2.
|
|
70
|
-
"@seydx/node-av-win32-x64-mingw": "^2.
|
|
71
|
-
"@seydx/node-av-win32-x64-msvc": "^2.
|
|
64
|
+
"@seydx/node-av-darwin-arm64": "^2.6.0",
|
|
65
|
+
"@seydx/node-av-darwin-x64": "^2.6.0",
|
|
66
|
+
"@seydx/node-av-linux-arm64": "^2.6.0",
|
|
67
|
+
"@seydx/node-av-linux-x64": "^2.6.0",
|
|
68
|
+
"@seydx/node-av-win32-arm64-mingw": "^2.6.0",
|
|
69
|
+
"@seydx/node-av-win32-arm64-msvc": "^2.6.0",
|
|
70
|
+
"@seydx/node-av-win32-x64-mingw": "^2.6.0",
|
|
71
|
+
"@seydx/node-av-win32-x64-msvc": "^2.6.0"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@camera.ui/ffmpeg": "^0.0.14",
|
|
75
75
|
"@stylistic/eslint-plugin": "^5.4.0",
|
|
76
76
|
"@types/debug": "^4.1.12",
|
|
77
|
-
"@types/node": "^24.
|
|
77
|
+
"@types/node": "^24.6.0",
|
|
78
78
|
"@types/node-abi": "^3.0.3",
|
|
79
79
|
"@types/pngjs": "^6.0.5",
|
|
80
80
|
"@types/semver": "^7.7.1",
|
|
81
81
|
"@types/unzipper": "^0.10.11",
|
|
82
|
-
"@typescript-eslint/parser": "^8.
|
|
82
|
+
"@typescript-eslint/parser": "^8.45.0",
|
|
83
83
|
"concurrently": "^9.2.1",
|
|
84
84
|
"cpy-cli": "^6.0.0",
|
|
85
|
-
"cross-env": "^10.
|
|
85
|
+
"cross-env": "^10.1.0",
|
|
86
86
|
"eslint": "^9.36.0",
|
|
87
|
-
"eslint-plugin-jsdoc": "^60.
|
|
87
|
+
"eslint-plugin-jsdoc": "^60.5.0",
|
|
88
88
|
"globals": "^16.4.0",
|
|
89
89
|
"node-addon-api": "^8.5.0",
|
|
90
90
|
"node-gyp": "^11.4.2",
|
|
91
91
|
"pngjs": "^7.0.0",
|
|
92
92
|
"prettier": "^3.6.2",
|
|
93
93
|
"rimraf": "^6.0.1",
|
|
94
|
+
"sharp": "^0.34.4",
|
|
94
95
|
"tsx": "^4.20.6",
|
|
95
96
|
"typedoc": "^0.28.13",
|
|
96
97
|
"typedoc-plugin-markdown": "^4.9.0",
|
|
97
98
|
"typedoc-vitepress-theme": "^1.1.2",
|
|
98
99
|
"typescript": "^5.9.2",
|
|
99
|
-
"typescript-eslint": "^8.
|
|
100
|
-
"updates": "^16.7.
|
|
100
|
+
"typescript-eslint": "^8.45.0",
|
|
101
|
+
"updates": "^16.7.4",
|
|
101
102
|
"vitepress": "^2.0.0-alpha.12"
|
|
102
103
|
},
|
|
103
104
|
"bugs": {
|