node-av 7.0.0-beta.3 → 7.0.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 +5 -2
- package/dist/ffmpeg/index.js +3 -1
- package/dist/ffmpeg/index.js.map +1 -1
- package/dist/lib/binding.js +3 -2
- package/dist/lib/binding.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/libc.d.ts +11 -0
- package/dist/utils/libc.js +35 -0
- package/dist/utils/libc.js.map +1 -0
- package/install/check.js +3 -8
- package/package.json +10 -8
package/README.md
CHANGED
|
@@ -561,7 +561,7 @@ The repository ships 60+ runnable examples covering both API levels — high-lev
|
|
|
561
561
|
Prebuilt binaries are available for multiple platforms:
|
|
562
562
|
|
|
563
563
|
- **macOS**: x64, ARM64
|
|
564
|
-
- **Linux**: x64, ARM64
|
|
564
|
+
- **Linux**: x64, ARM64 (glibc and musl, e.g. Alpine)
|
|
565
565
|
- **Windows**: x64, ARM64
|
|
566
566
|
|
|
567
567
|
### Cross-Platform Packaging (CI/CD)
|
|
@@ -569,11 +569,14 @@ Prebuilt binaries are available for multiple platforms:
|
|
|
569
569
|
By default npm installs the native binding (and the FFmpeg binary, if
|
|
570
570
|
`@seydx/node-av-ffmpeg` is installed) for the host platform. When packaging for
|
|
571
571
|
a different target (e.g. building a Windows Electron app from a Linux CI
|
|
572
|
-
runner), pass npm's standard `--os` / `--cpu` flags:
|
|
572
|
+
runner), pass npm's standard `--os` / `--cpu` / `--libc` flags:
|
|
573
573
|
|
|
574
574
|
```bash
|
|
575
575
|
# Install Windows x64 binaries while running on Linux
|
|
576
576
|
npm install --os=win32 --cpu=x64
|
|
577
|
+
|
|
578
|
+
# Install the musl binaries for an Alpine image while running on a glibc Linux
|
|
579
|
+
npm install --os=linux --cpu=x64 --libc=musl
|
|
577
580
|
```
|
|
578
581
|
|
|
579
582
|
npm filters the platform-specific `optionalDependencies` of both packages by
|
package/dist/ffmpeg/index.js
CHANGED
|
@@ -2,6 +2,7 @@ import { existsSync } from 'node:fs';
|
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { dirname, join, resolve } from 'node:path';
|
|
4
4
|
import { getDirname, getUnpackedPath } from '../utils/electron.js';
|
|
5
|
+
import { isMusl } from '../utils/libc.js';
|
|
5
6
|
import { FFMPEG_VERSION } from './version.js';
|
|
6
7
|
const __dirname = getDirname(import.meta.url);
|
|
7
8
|
const require = createRequire(import.meta.url);
|
|
@@ -31,7 +32,8 @@ function findFfmpeg() {
|
|
|
31
32
|
// The platform package is a dependency of the meta package, not of node-av, so it is
|
|
32
33
|
// resolved from there (strict layouts like pnpm don't expose it to node-av directly).
|
|
33
34
|
const metaPackageJson = require.resolve(`${FFMPEG_PACKAGE}/package.json`);
|
|
34
|
-
const
|
|
35
|
+
const platformPackage = `${FFMPEG_PACKAGE}-${process.platform}-${process.arch}${isMusl() ? '-musl' : ''}`;
|
|
36
|
+
const platformPackageJson = createRequire(metaPackageJson).resolve(`${platformPackage}/package.json`);
|
|
35
37
|
const path = getUnpackedPath(join(dirname(platformPackageJson), ffmpegFile));
|
|
36
38
|
if (existsSync(path)) {
|
|
37
39
|
resolvedFfmpegPath = path;
|
package/dist/ffmpeg/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ffmpeg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE3E,6DAA6D;AAC7D,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;AAEvE,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAE7C;;;;;;;;GAQG;AACH,SAAS,UAAU;IACjB,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,kBAAkB,GAAG,eAAe,CAAC;QACrC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC;QACH,qFAAqF;QACrF,sFAAsF;QACtF,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,cAAc,eAAe,CAAC,CAAC;QAC1E,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ffmpeg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,cAAc,GAAG,uBAAuB,CAAC;AAC/C,MAAM,UAAU,GAAG,QAAQ,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE3E,6DAA6D;AAC7D,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;AAEvE,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAE7C;;;;;;;;GAQG;AACH,SAAS,UAAU;IACjB,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,kBAAkB,GAAG,eAAe,CAAC;QACrC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC;QACH,qFAAqF;QACrF,sFAAsF;QACtF,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,cAAc,eAAe,CAAC,CAAC;QAC1E,MAAM,eAAe,GAAG,GAAG,cAAc,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1G,MAAM,mBAAmB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,GAAG,eAAe,eAAe,CAAC,CAAC;QACtG,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAC7E,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,kBAAkB,GAAG,IAAI,CAAC;YAC1B,OAAO,kBAAkB,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,kCAAkC,cAAc,EAAE,CAAC,CAAC;IACrI,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,UAAU,EAAE,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
package/dist/lib/binding.js
CHANGED
|
@@ -9,6 +9,7 @@ import { createRequire } from 'node:module';
|
|
|
9
9
|
import { resolve } from 'node:path';
|
|
10
10
|
import { isMainThread } from 'node:worker_threads';
|
|
11
11
|
import { getDirname } from '../utils/electron.js';
|
|
12
|
+
import { isMusl } from '../utils/libc.js';
|
|
12
13
|
const __dirname = getDirname(import.meta.url);
|
|
13
14
|
/**
|
|
14
15
|
* Load the native binding
|
|
@@ -64,9 +65,9 @@ function loadBinding() {
|
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
else {
|
|
67
|
-
// Non-Windows platforms
|
|
68
|
+
// Non-Windows platforms. musl (Alpine) needs its own build, a glibc one doesn't load there.
|
|
68
69
|
try {
|
|
69
|
-
const packageName = `@seydx/node-av-${platformArch}`;
|
|
70
|
+
const packageName = `@seydx/node-av-${platformArch}${isMusl() ? '-musl' : ''}`;
|
|
70
71
|
return require(`${packageName}/node-av.node`);
|
|
71
72
|
}
|
|
72
73
|
catch (err) {
|
package/dist/lib/binding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/lib/binding.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/lib/binding.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check whether this Node.js runs on musl libc (Alpine Linux and other musl distributions).
|
|
3
|
+
*
|
|
4
|
+
* Only a glibc build of Node.js carries a glibc runtime version in its diagnostic report.
|
|
5
|
+
* Network details are left out of the report, resolving open sockets can take seconds.
|
|
6
|
+
*
|
|
7
|
+
* @returns True on Linux with a musl build of Node.js
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare function isMusl(): boolean;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
let musl;
|
|
2
|
+
/**
|
|
3
|
+
* Check whether this Node.js runs on musl libc (Alpine Linux and other musl distributions).
|
|
4
|
+
*
|
|
5
|
+
* Only a glibc build of Node.js carries a glibc runtime version in its diagnostic report.
|
|
6
|
+
* Network details are left out of the report, resolving open sockets can take seconds.
|
|
7
|
+
*
|
|
8
|
+
* @returns True on Linux with a musl build of Node.js
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export function isMusl() {
|
|
13
|
+
if (musl !== undefined) {
|
|
14
|
+
return musl;
|
|
15
|
+
}
|
|
16
|
+
musl = false;
|
|
17
|
+
if (process.platform !== 'linux') {
|
|
18
|
+
return musl;
|
|
19
|
+
}
|
|
20
|
+
const report = process.report;
|
|
21
|
+
const excludeNetwork = report.excludeNetwork;
|
|
22
|
+
try {
|
|
23
|
+
report.excludeNetwork = true;
|
|
24
|
+
const { header } = report.getReport();
|
|
25
|
+
musl = !header?.glibcVersionRuntime;
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// No report available, assume glibc
|
|
29
|
+
}
|
|
30
|
+
finally {
|
|
31
|
+
report.excludeNetwork = excludeNetwork;
|
|
32
|
+
}
|
|
33
|
+
return musl;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=libc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libc.js","sourceRoot":"","sources":["../../src/utils/libc.ts"],"names":[],"mappings":"AAAA,IAAI,IAAyB,CAAC;AAE9B;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM;IACpB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,GAAG,KAAK,CAAC;IACb,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAA6D,CAAC;IACrF,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAmD,CAAC;QACvF,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;IACzC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/install/check.js
CHANGED
|
@@ -41,7 +41,8 @@ const tryLoadPrebuilt = () => {
|
|
|
41
41
|
// Package not installed
|
|
42
42
|
}
|
|
43
43
|
} else {
|
|
44
|
-
|
|
44
|
+
// musl (Alpine) has its own build, a glibc one doesn't load there
|
|
45
|
+
const packageName = `@seydx/node-av-${platform}-${arch}${isMuslLibc() ? '-musl' : ''}`;
|
|
45
46
|
|
|
46
47
|
try {
|
|
47
48
|
// Check if the package is installed (don't check for .node file yet - it may be extracted by postinstall)
|
|
@@ -80,13 +81,7 @@ const isMuslLibc = () => {
|
|
|
80
81
|
|
|
81
82
|
const noPrebuiltError = () => {
|
|
82
83
|
log('');
|
|
83
|
-
log(`No prebuilt binary available for ${process.platform}-${process.arch}.`);
|
|
84
|
-
|
|
85
|
-
if (isMuslLibc()) {
|
|
86
|
-
log('Note: You appear to be on a musl-based system (e.g. Alpine Linux).');
|
|
87
|
-
log('Prebuilt binaries are only provided for glibc-based Linux distributions.');
|
|
88
|
-
}
|
|
89
|
-
|
|
84
|
+
log(`No prebuilt binary available for ${process.platform}-${process.arch}${isMuslLibc() ? ' (musl)' : ''}.`);
|
|
90
85
|
log('The published npm package does not contain the native sources,');
|
|
91
86
|
log('so it cannot be built from source inside node_modules.');
|
|
92
87
|
log('To build from source, clone the repository and follow the build instructions:');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-av",
|
|
3
|
-
"version": "7.0.0
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "FFmpeg bindings for Node.js",
|
|
5
5
|
"author": "seydx (https://github.com/seydx/node-av)",
|
|
6
6
|
"type": "module",
|
|
@@ -91,12 +91,14 @@
|
|
|
91
91
|
"update": "updates --update ./"
|
|
92
92
|
},
|
|
93
93
|
"optionalDependencies": {
|
|
94
|
-
"@seydx/node-av-darwin-arm64": "7.0.0
|
|
95
|
-
"@seydx/node-av-darwin-x64": "7.0.0
|
|
96
|
-
"@seydx/node-av-linux-arm64": "7.0.0
|
|
97
|
-
"@seydx/node-av-linux-
|
|
98
|
-
"@seydx/node-av-
|
|
99
|
-
"@seydx/node-av-
|
|
94
|
+
"@seydx/node-av-darwin-arm64": "7.0.0",
|
|
95
|
+
"@seydx/node-av-darwin-x64": "7.0.0",
|
|
96
|
+
"@seydx/node-av-linux-arm64": "7.0.0",
|
|
97
|
+
"@seydx/node-av-linux-arm64-musl": "7.0.0",
|
|
98
|
+
"@seydx/node-av-linux-x64": "7.0.0",
|
|
99
|
+
"@seydx/node-av-linux-x64-musl": "7.0.0",
|
|
100
|
+
"@seydx/node-av-win32-arm64-msvc": "7.0.0",
|
|
101
|
+
"@seydx/node-av-win32-x64-msvc": "7.0.0"
|
|
100
102
|
},
|
|
101
103
|
"peerDependencies": {
|
|
102
104
|
"@seydx/node-av-ffmpeg": "*",
|
|
@@ -125,7 +127,7 @@
|
|
|
125
127
|
"globals": "^17.14.0",
|
|
126
128
|
"node-addon-api": "^8.9.2",
|
|
127
129
|
"node-gyp": "^13.1.0",
|
|
128
|
-
"prettier": "^3.
|
|
130
|
+
"prettier": "^3.10.1",
|
|
129
131
|
"rimraf": "^6.1.4",
|
|
130
132
|
"sharp": "^0.35.5",
|
|
131
133
|
"tsx": "^4.23.15",
|