node-av 2.7.1 → 3.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 +2 -4
- package/binding.gyp +149 -88
- package/dist/api/encoder.d.ts +3 -0
- package/dist/api/encoder.js +9 -4
- package/dist/api/encoder.js.map +1 -1
- package/dist/api/filter-presets.d.ts +2 -0
- package/dist/api/filter-presets.js +97 -43
- package/dist/api/filter-presets.js.map +1 -1
- package/dist/api/hardware.js +5 -0
- package/dist/api/hardware.js.map +1 -1
- package/dist/api/media-input.d.ts +2 -0
- package/dist/api/media-input.js +10 -10
- package/dist/api/media-input.js.map +1 -1
- package/dist/constants/constants.d.ts +233 -28
- package/dist/constants/constants.js +198 -34
- package/dist/constants/constants.js.map +1 -1
- package/dist/constants/decoders.d.ts +23 -0
- package/dist/constants/decoders.js +25 -2
- package/dist/constants/decoders.js.map +1 -1
- package/dist/constants/encoders.d.ts +9 -2
- package/dist/constants/encoders.js +11 -4
- package/dist/constants/encoders.js.map +1 -1
- package/dist/lib/codec-context.d.ts +80 -0
- package/dist/lib/codec-context.js +88 -0
- package/dist/lib/codec-context.js.map +1 -1
- package/dist/lib/filter-context.d.ts +0 -24
- package/dist/lib/filter-context.js +0 -28
- package/dist/lib/filter-context.js.map +1 -1
- package/dist/lib/format-context.d.ts +40 -0
- package/dist/lib/format-context.js +44 -0
- package/dist/lib/format-context.js.map +1 -1
- package/dist/lib/native-types.d.ts +13 -4
- package/dist/lib/packet.d.ts +40 -0
- package/dist/lib/packet.js +44 -0
- package/dist/lib/packet.js.map +1 -1
- package/dist/lib/software-scale-context.d.ts +2 -2
- package/dist/lib/software-scale-context.js.map +1 -1
- package/dist/lib/stream.d.ts +40 -0
- package/dist/lib/stream.js +44 -0
- package/dist/lib/stream.js.map +1 -1
- package/package.json +17 -16
package/README.md
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
[](https://www.npmjs.com/package/node-av)
|
|
9
9
|
[](https://opensource.org/licenses/MIT)
|
|
10
10
|
[](https://www.typescriptlang.org/)
|
|
11
|
-
[%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/seydx/node-av
|
|
11
|
+
[](https://ffmpeg.org)
|
|
12
|
+
[%20%7C%20macOS%20%7C%20Linux-lightgrey.svg)](https://github.com/seydx/node-av)
|
|
13
13
|
|
|
14
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.
|
|
15
15
|
|
|
@@ -445,8 +445,6 @@ Prebuilt binaries are available for multiple platforms:
|
|
|
445
445
|
- **Linux**: x64, ARM64
|
|
446
446
|
- **Windows**: x64, ARM64 (automatic MSVC/MinGW selection)
|
|
447
447
|
|
|
448
|
-
For detailed installation instructions, build requirements, and troubleshooting, see the **[Installation Guide](https://github.com/seydx/node-av/tree/main/INSTALLATION.md)**.
|
|
449
|
-
|
|
450
448
|
## License
|
|
451
449
|
|
|
452
450
|
This project is licensed under the MIT License. See the LICENSE file for details.
|
package/binding.gyp
CHANGED
|
@@ -1,91 +1,152 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
2
|
+
"targets": [
|
|
3
|
+
{
|
|
4
|
+
"target_name": "node-av",
|
|
5
|
+
"sources": [
|
|
6
|
+
"src/bindings/index.cc",
|
|
7
|
+
"src/bindings/packet.cc",
|
|
8
|
+
"src/bindings/frame.cc",
|
|
9
|
+
"src/bindings/frame_async.cc",
|
|
10
|
+
"src/bindings/frame_sync.cc",
|
|
11
|
+
"src/bindings/codec.cc",
|
|
12
|
+
"src/bindings/codec_context.cc",
|
|
13
|
+
"src/bindings/codec_context_async.cc",
|
|
14
|
+
"src/bindings/codec_context_sync.cc",
|
|
15
|
+
"src/bindings/codec_parameters.cc",
|
|
16
|
+
"src/bindings/codec_parser.cc",
|
|
17
|
+
"src/bindings/format_context.cc",
|
|
18
|
+
"src/bindings/format_context_async.cc",
|
|
19
|
+
"src/bindings/format_context_sync.cc",
|
|
20
|
+
"src/bindings/stream.cc",
|
|
21
|
+
"src/bindings/dictionary.cc",
|
|
22
|
+
"src/bindings/input_format.cc",
|
|
23
|
+
"src/bindings/input_format_async.cc",
|
|
24
|
+
"src/bindings/input_format_sync.cc",
|
|
25
|
+
"src/bindings/output_format.cc",
|
|
26
|
+
"src/bindings/io_context.cc",
|
|
27
|
+
"src/bindings/io_context_async.cc",
|
|
28
|
+
"src/bindings/io_context_sync.cc",
|
|
29
|
+
"src/bindings/error.cc",
|
|
30
|
+
"src/bindings/software_scale_context.cc",
|
|
31
|
+
"src/bindings/software_scale_context_async.cc",
|
|
32
|
+
"src/bindings/software_scale_context_sync.cc",
|
|
33
|
+
"src/bindings/software_resample_context.cc",
|
|
34
|
+
"src/bindings/software_resample_context_async.cc",
|
|
35
|
+
"src/bindings/software_resample_context_sync.cc",
|
|
36
|
+
"src/bindings/filter.cc",
|
|
37
|
+
"src/bindings/filter_context.cc",
|
|
38
|
+
"src/bindings/filter_context_async.cc",
|
|
39
|
+
"src/bindings/filter_context_sync.cc",
|
|
40
|
+
"src/bindings/filter_graph.cc",
|
|
41
|
+
"src/bindings/filter_graph_async.cc",
|
|
42
|
+
"src/bindings/filter_graph_sync.cc",
|
|
43
|
+
"src/bindings/filter_inout.cc",
|
|
44
|
+
"src/bindings/hardware_device_context.cc",
|
|
45
|
+
"src/bindings/hardware_frames_context.cc",
|
|
46
|
+
"src/bindings/hardware_frames_context_async.cc",
|
|
47
|
+
"src/bindings/hardware_frames_context_sync.cc",
|
|
48
|
+
"src/bindings/log.cc",
|
|
49
|
+
"src/bindings/utilities.cc",
|
|
50
|
+
"src/bindings/audio_fifo.cc",
|
|
51
|
+
"src/bindings/audio_fifo_async.cc",
|
|
52
|
+
"src/bindings/audio_fifo_sync.cc",
|
|
53
|
+
"src/bindings/frame_utils.cc",
|
|
54
|
+
"src/bindings/bitstream_filter.cc",
|
|
55
|
+
"src/bindings/bitstream_filter_context.cc",
|
|
56
|
+
"src/bindings/bitstream_filter_context_async.cc",
|
|
57
|
+
"src/bindings/bitstream_filter_context_sync.cc",
|
|
58
|
+
"src/bindings/option.cc",
|
|
59
|
+
],
|
|
60
|
+
"include_dirs": [
|
|
61
|
+
"<!@(node -p \"require('node-addon-api').include\")",
|
|
62
|
+
"/opt/ffbuild/prefix/include",
|
|
63
|
+
],
|
|
64
|
+
"library_dirs": ["/opt/ffbuild/prefix/lib"],
|
|
65
|
+
"dependencies": ["<!(node -p \"require('node-addon-api').gyp\")"],
|
|
66
|
+
"cflags!": ["-fno-exceptions"],
|
|
67
|
+
"cflags_cc!": ["-fno-exceptions"],
|
|
68
|
+
"defines": ["NAPI_DISABLE_CPP_EXCEPTIONS"],
|
|
69
|
+
"libraries": [
|
|
70
|
+
"-Wl,-force_load,/opt/ffbuild/prefix/lib/libavformat.a",
|
|
71
|
+
"-Wl,-force_load,/opt/ffbuild/prefix/lib/libavcodec.a",
|
|
72
|
+
"-Wl,-force_load,/opt/ffbuild/prefix/lib/libavfilter.a",
|
|
73
|
+
"-Wl,-force_load,/opt/ffbuild/prefix/lib/libavutil.a",
|
|
74
|
+
"-Wl,-force_load,/opt/ffbuild/prefix/lib/libswscale.a",
|
|
75
|
+
"-Wl,-force_load,/opt/ffbuild/prefix/lib/libswresample.a",
|
|
76
|
+
"-Wl,-force_load,/opt/ffbuild/prefix/lib/libavdevice.a",
|
|
77
|
+
"-L/opt/ffbuild/prefix/lib",
|
|
78
|
+
"/opt/ffbuild/prefix/lib/libx264.a",
|
|
79
|
+
"/opt/ffbuild/prefix/lib/libx265.a",
|
|
80
|
+
"/opt/ffbuild/prefix/lib/libvpx.a",
|
|
81
|
+
"/opt/ffbuild/prefix/lib/libopus.a",
|
|
82
|
+
"/opt/ffbuild/prefix/lib/libmp3lame.a",
|
|
83
|
+
"/opt/ffbuild/prefix/lib/libdav1d.a",
|
|
84
|
+
"/opt/ffbuild/prefix/lib/libSvtAv1Enc.a",
|
|
85
|
+
"/opt/ffbuild/prefix/lib/libogg.a",
|
|
86
|
+
"/opt/ffbuild/prefix/lib/libvorbis.a",
|
|
87
|
+
"/opt/ffbuild/prefix/lib/libvorbisenc.a",
|
|
88
|
+
"/opt/ffbuild/prefix/lib/libtheora.a",
|
|
89
|
+
"/opt/ffbuild/prefix/lib/libtheoraenc.a",
|
|
90
|
+
"/opt/ffbuild/prefix/lib/libtheoradec.a",
|
|
91
|
+
"/opt/ffbuild/prefix/lib/libwebp.a",
|
|
92
|
+
"/opt/ffbuild/prefix/lib/libwebpmux.a",
|
|
93
|
+
"/opt/ffbuild/prefix/lib/libsrt.a",
|
|
94
|
+
"/opt/ffbuild/prefix/lib/libass.a",
|
|
95
|
+
"/opt/ffbuild/prefix/lib/libharfbuzz.a",
|
|
96
|
+
"/opt/ffbuild/prefix/lib/libfontconfig.a",
|
|
97
|
+
"/opt/ffbuild/prefix/lib/libfreetype.a",
|
|
98
|
+
"/opt/ffbuild/prefix/lib/libfribidi.a",
|
|
99
|
+
"/opt/ffbuild/prefix/lib/libbluray.a",
|
|
100
|
+
"/opt/ffbuild/prefix/lib/libudfread.a",
|
|
101
|
+
"/opt/ffbuild/prefix/lib/libz.a",
|
|
102
|
+
"/opt/ffbuild/prefix/lib/liblzma.a",
|
|
103
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libNE10.a 2>/dev/null || echo '')",
|
|
104
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libwebpdemux.a 2>/dev/null || echo '')",
|
|
105
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libchromaprint.a 2>/dev/null || echo '')",
|
|
106
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libopenmpt.a 2>/dev/null || echo '')",
|
|
107
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libxml2.a 2>/dev/null || echo '')",
|
|
108
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libbz2.a 2>/dev/null || echo '')",
|
|
109
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libzvbi.a 2>/dev/null || echo '')",
|
|
110
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libzimg.a 2>/dev/null || echo '')",
|
|
111
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libgmp.a 2>/dev/null || echo '')",
|
|
112
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libssl.a 2>/dev/null || echo '')",
|
|
113
|
+
"<!@(ls /opt/ffbuild/prefix/lib/libcrypto.a 2>/dev/null || echo '')",
|
|
114
|
+
"-liconv",
|
|
115
|
+
"-lxml2",
|
|
116
|
+
"-lbz2",
|
|
117
|
+
"-framework CoreFoundation",
|
|
118
|
+
"-framework CoreVideo",
|
|
119
|
+
"-framework CoreMedia",
|
|
120
|
+
"-framework CoreServices",
|
|
121
|
+
"-framework AudioToolbox",
|
|
122
|
+
"-framework VideoToolbox",
|
|
123
|
+
"-framework AVFoundation",
|
|
124
|
+
"-framework AppKit",
|
|
125
|
+
"-framework Accelerate",
|
|
126
|
+
"-framework Security",
|
|
127
|
+
"-framework IOKit",
|
|
128
|
+
"-framework OpenGL",
|
|
129
|
+
"-framework Metal",
|
|
130
|
+
"-framework OpenCL",
|
|
131
|
+
],
|
|
132
|
+
"xcode_settings": {
|
|
133
|
+
"GCC_ENABLE_CPP_EXCEPTIONS": "YES",
|
|
134
|
+
"CLANG_CXX_LIBRARY": "libc++",
|
|
135
|
+
"CLANG_CXX_LANGUAGE_STANDARD": "c++17",
|
|
136
|
+
"MACOSX_DEPLOYMENT_TARGET": "12.0",
|
|
137
|
+
"OTHER_CPLUSPLUSFLAGS": [
|
|
138
|
+
"-fexceptions",
|
|
139
|
+
"-O3",
|
|
140
|
+
],
|
|
141
|
+
"OTHER_LDFLAGS": [
|
|
142
|
+
"-Wl,-dead_strip",
|
|
143
|
+
"-Wl,-no_warn_duplicate_libraries",
|
|
144
|
+
],
|
|
145
|
+
"CONDITIONS": [
|
|
146
|
+
["target_arch=='x64'", {"ARCHS": ["x86_64"]}],
|
|
147
|
+
["target_arch=='arm64'", {"ARCHS": ["arm64"]}],
|
|
148
|
+
],
|
|
149
|
+
},
|
|
84
150
|
}
|
|
85
|
-
|
|
86
|
-
"defines": [
|
|
87
|
-
"NAPI_DISABLE_CPP_EXCEPTIONS"
|
|
88
|
-
]
|
|
89
|
-
}
|
|
90
|
-
]
|
|
151
|
+
]
|
|
91
152
|
}
|
package/dist/api/encoder.d.ts
CHANGED
|
@@ -68,11 +68,14 @@ export declare class Encoder implements Disposable {
|
|
|
68
68
|
private initialized;
|
|
69
69
|
private isClosed;
|
|
70
70
|
private opts?;
|
|
71
|
+
private options;
|
|
71
72
|
/**
|
|
72
73
|
* @param codecContext - Configured codec context
|
|
73
74
|
*
|
|
74
75
|
* @param codec - Encoder codec
|
|
75
76
|
*
|
|
77
|
+
* @param options - Encoder options
|
|
78
|
+
*
|
|
76
79
|
* @param opts - Encoder options as Dictionary
|
|
77
80
|
*
|
|
78
81
|
* @internal
|
package/dist/api/encoder.js
CHANGED
|
@@ -66,18 +66,22 @@ export class Encoder {
|
|
|
66
66
|
initialized = false;
|
|
67
67
|
isClosed = false;
|
|
68
68
|
opts;
|
|
69
|
+
options;
|
|
69
70
|
/**
|
|
70
71
|
* @param codecContext - Configured codec context
|
|
71
72
|
*
|
|
72
73
|
* @param codec - Encoder codec
|
|
73
74
|
*
|
|
75
|
+
* @param options - Encoder options
|
|
76
|
+
*
|
|
74
77
|
* @param opts - Encoder options as Dictionary
|
|
75
78
|
*
|
|
76
79
|
* @internal
|
|
77
80
|
*/
|
|
78
|
-
constructor(codecContext, codec, opts) {
|
|
81
|
+
constructor(codecContext, codec, options, opts) {
|
|
79
82
|
this.codecContext = codecContext;
|
|
80
83
|
this.codec = codec;
|
|
84
|
+
this.options = options;
|
|
81
85
|
this.opts = opts;
|
|
82
86
|
this.packet = new Packet();
|
|
83
87
|
this.packet.alloc();
|
|
@@ -189,7 +193,7 @@ export class Encoder {
|
|
|
189
193
|
codecContext.framerate = new Rational(options.frameRate.num, options.frameRate.den);
|
|
190
194
|
}
|
|
191
195
|
const opts = options.options ? Dictionary.fromObject(options.options) : undefined;
|
|
192
|
-
return new Encoder(codecContext, codec, opts);
|
|
196
|
+
return new Encoder(codecContext, codec, options, opts);
|
|
193
197
|
}
|
|
194
198
|
/**
|
|
195
199
|
* Create an encoder with specified codec and options synchronously.
|
|
@@ -299,7 +303,7 @@ export class Encoder {
|
|
|
299
303
|
codecContext.timeBase = new Rational(options.timeBase.num, options.timeBase.den);
|
|
300
304
|
codecContext.pktTimebase = new Rational(options.timeBase.num, options.timeBase.den);
|
|
301
305
|
const opts = options.options ? Dictionary.fromObject(options.options) : undefined;
|
|
302
|
-
return new Encoder(codecContext, codec, opts);
|
|
306
|
+
return new Encoder(codecContext, codec, options, opts);
|
|
303
307
|
}
|
|
304
308
|
/**
|
|
305
309
|
* Check if encoder is open.
|
|
@@ -421,8 +425,9 @@ export class Encoder {
|
|
|
421
425
|
if (sendRet < 0 && sendRet !== AVERROR_EOF) {
|
|
422
426
|
// Encoder might be full, try to receive first
|
|
423
427
|
const packet = await this.receive();
|
|
424
|
-
if (packet)
|
|
428
|
+
if (packet) {
|
|
425
429
|
return packet;
|
|
430
|
+
}
|
|
426
431
|
// If still failing, it's an error
|
|
427
432
|
if (sendRet !== AVERROR_EAGAIN) {
|
|
428
433
|
FFmpegError.throwIfError(sendRet, 'Failed to send frame');
|
package/dist/api/encoder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/api/encoder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/api/encoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1188,6 +1188,8 @@ export declare class FilterPreset {
|
|
|
1188
1188
|
*
|
|
1189
1189
|
* @param filter - Filter string to add (ignored if null/undefined)
|
|
1190
1190
|
*
|
|
1191
|
+
* @param unshift - If true, adds to the start instead of the end (default: false)
|
|
1192
|
+
*
|
|
1191
1193
|
* @returns This instance for chaining
|
|
1192
1194
|
*
|
|
1193
1195
|
* @example
|
|
@@ -177,6 +177,10 @@ export class FilterPreset {
|
|
|
177
177
|
filterName = 'vpp_qsv'; // QSV uses vpp_qsv for scaling with w= and h= parameters
|
|
178
178
|
filter = `${filterName}=w=${width}:h=${height}`;
|
|
179
179
|
}
|
|
180
|
+
else if (this.hardware.deviceType === AV_HWDEVICE_TYPE_VULKAN) {
|
|
181
|
+
filterName = 'libplacebo'; // Vulkan uses libplacebo for advanced GPU processing
|
|
182
|
+
filter = `${filterName}=w=${width}:h=${height}`;
|
|
183
|
+
}
|
|
180
184
|
else {
|
|
181
185
|
filterName = `scale_${this.hardware.deviceTypeName}`;
|
|
182
186
|
filter = `${filterName}=${width}:${height}`;
|
|
@@ -245,6 +249,9 @@ export class FilterPreset {
|
|
|
245
249
|
else if (this.hardware.deviceType === AV_HWDEVICE_TYPE_QSV) {
|
|
246
250
|
filterName = 'vpp_qsv';
|
|
247
251
|
}
|
|
252
|
+
else if (this.hardware.deviceType === AV_HWDEVICE_TYPE_VULKAN) {
|
|
253
|
+
filterName = 'libplacebo';
|
|
254
|
+
}
|
|
248
255
|
else {
|
|
249
256
|
filterName = `scale_${this.hardware.deviceTypeName}`;
|
|
250
257
|
}
|
|
@@ -286,11 +293,8 @@ export class FilterPreset {
|
|
|
286
293
|
if (this.hardware?.deviceType === AV_HWDEVICE_TYPE_OPENCL) {
|
|
287
294
|
this.add(`scale_opencl=cw=${width}:ch=${height}:cx=${x}:cy=${y}`);
|
|
288
295
|
}
|
|
289
|
-
else if (this.hardware?.deviceType === AV_HWDEVICE_TYPE_QSV) {
|
|
290
|
-
this.add(`vpp_qsv=cw=${width}:ch=${height}:cx=${x}:cy=${y}`);
|
|
291
|
-
}
|
|
292
296
|
else {
|
|
293
|
-
this.add(`crop=${width}:${height}:${x}:${y}
|
|
297
|
+
this.add(`crop=${width}:${height}:${x}:${y}`, true);
|
|
294
298
|
}
|
|
295
299
|
return this;
|
|
296
300
|
}
|
|
@@ -387,6 +391,11 @@ export class FilterPreset {
|
|
|
387
391
|
const detail = amount ? Math.min(100, Math.max(0, Math.round(amount * 10))) : 50;
|
|
388
392
|
filter = `vpp_qsv=detail=${detail}`;
|
|
389
393
|
break;
|
|
394
|
+
case AV_HWDEVICE_TYPE_VULKAN:
|
|
395
|
+
// libplacebo contrast parameter (>1 increases sharpness)
|
|
396
|
+
const contrast = amount ? Math.max(1, 1 + amount) : 1.5;
|
|
397
|
+
filter = `libplacebo=contrast=${contrast}`;
|
|
398
|
+
break;
|
|
390
399
|
case AV_HWDEVICE_TYPE_CUDA:
|
|
391
400
|
// CUDA sharpening not available (NPP not included)
|
|
392
401
|
filter = null;
|
|
@@ -574,6 +583,7 @@ export class FilterPreset {
|
|
|
574
583
|
}
|
|
575
584
|
if (this.hardware) {
|
|
576
585
|
if (this.hardware.deviceType === AV_HWDEVICE_TYPE_VULKAN) {
|
|
586
|
+
// Use native Vulkan flip filters
|
|
577
587
|
if (direction === 'v') {
|
|
578
588
|
this.add('vflip_vulkan');
|
|
579
589
|
}
|
|
@@ -666,16 +676,29 @@ export class FilterPreset {
|
|
|
666
676
|
return this;
|
|
667
677
|
}
|
|
668
678
|
if (this.hardware) {
|
|
669
|
-
//
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
679
|
+
// Vulkan uses libplacebo for comprehensive HDR tone-mapping
|
|
680
|
+
if (this.hardware.deviceType === AV_HWDEVICE_TYPE_VULKAN) {
|
|
681
|
+
let filter = `libplacebo=tonemapping=${alg}`;
|
|
682
|
+
if (options) {
|
|
683
|
+
const opts = Object.entries(options)
|
|
684
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
685
|
+
.join(':');
|
|
686
|
+
filter += `:${opts}`;
|
|
687
|
+
}
|
|
688
|
+
this.add(filter);
|
|
689
|
+
}
|
|
690
|
+
else {
|
|
691
|
+
// VideoToolbox uses different filter name
|
|
692
|
+
const filterName = this.hardware.deviceType === AV_HWDEVICE_TYPE_VIDEOTOOLBOX ? 'tonemap_videotoolbox' : `tonemap_${this.hardware.deviceTypeName}`;
|
|
693
|
+
let filter = `${filterName}=${alg}`;
|
|
694
|
+
if (options) {
|
|
695
|
+
const opts = Object.entries(options)
|
|
696
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
697
|
+
.join(':');
|
|
698
|
+
filter += `=${opts}`;
|
|
699
|
+
}
|
|
700
|
+
this.add(filter);
|
|
677
701
|
}
|
|
678
|
-
this.add(filter);
|
|
679
702
|
}
|
|
680
703
|
else {
|
|
681
704
|
let filter = `tonemap=${alg}`;
|
|
@@ -739,15 +762,27 @@ export class FilterPreset {
|
|
|
739
762
|
return this;
|
|
740
763
|
}
|
|
741
764
|
if (this.hardware) {
|
|
742
|
-
//
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
765
|
+
// Vulkan uses libplacebo with multiple inputs support
|
|
766
|
+
if (this.hardware.deviceType === AV_HWDEVICE_TYPE_VULKAN) {
|
|
767
|
+
let filter = `libplacebo=x=${x}:y=${y}`;
|
|
768
|
+
if (options) {
|
|
769
|
+
for (const [key, value] of Object.entries(options)) {
|
|
770
|
+
filter += `:${key}=${value}`;
|
|
771
|
+
}
|
|
748
772
|
}
|
|
773
|
+
this.add(filter);
|
|
774
|
+
}
|
|
775
|
+
else {
|
|
776
|
+
// Special handling for RKMPP which uses RGA
|
|
777
|
+
const filterName = this.hardware.deviceType === AV_HWDEVICE_TYPE_RKMPP ? 'overlay_rkrga' : `overlay_${this.hardware.deviceTypeName}`;
|
|
778
|
+
let filter = `${filterName}=${x}:${y}`;
|
|
779
|
+
if (options) {
|
|
780
|
+
for (const [key, value] of Object.entries(options)) {
|
|
781
|
+
filter += `:${key}=${value}`;
|
|
782
|
+
}
|
|
783
|
+
}
|
|
784
|
+
this.add(filter);
|
|
749
785
|
}
|
|
750
|
-
this.add(filter);
|
|
751
786
|
}
|
|
752
787
|
else {
|
|
753
788
|
let filter = `overlay=${x}:${y}`;
|
|
@@ -955,13 +990,25 @@ export class FilterPreset {
|
|
|
955
990
|
* @see {@link https://ffmpeg.org/ffmpeg-filters.html#pad | FFmpeg pad filter}
|
|
956
991
|
*/
|
|
957
992
|
pad(width, height, x, y, color = 'black') {
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
filter
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
993
|
+
if (this.hardware && this.hardware.deviceType === AV_HWDEVICE_TYPE_VULKAN) {
|
|
994
|
+
// Vulkan uses libplacebo with pos_x/y/w/h and fillcolor
|
|
995
|
+
let filter = `libplacebo=w=${width}:h=${height}`;
|
|
996
|
+
if (x !== undefined)
|
|
997
|
+
filter += `:pos_x=${x}`;
|
|
998
|
+
if (y !== undefined)
|
|
999
|
+
filter += `:pos_y=${y}`;
|
|
1000
|
+
filter += `:fillcolor=${color}`;
|
|
1001
|
+
this.add(filter);
|
|
1002
|
+
}
|
|
1003
|
+
else {
|
|
1004
|
+
let filter = `pad=${width}:${height}`;
|
|
1005
|
+
if (x !== undefined)
|
|
1006
|
+
filter += `:${x}`;
|
|
1007
|
+
if (y !== undefined)
|
|
1008
|
+
filter += `:${y}`;
|
|
1009
|
+
filter += `:${color}`;
|
|
1010
|
+
this.add(filter);
|
|
1011
|
+
}
|
|
965
1012
|
return this;
|
|
966
1013
|
}
|
|
967
1014
|
/**
|
|
@@ -1779,6 +1826,8 @@ export class FilterPreset {
|
|
|
1779
1826
|
*
|
|
1780
1827
|
* @param filter - Filter string to add (ignored if null/undefined)
|
|
1781
1828
|
*
|
|
1829
|
+
* @param unshift - If true, adds to the start instead of the end (default: false)
|
|
1830
|
+
*
|
|
1782
1831
|
* @returns This instance for chaining
|
|
1783
1832
|
*
|
|
1784
1833
|
* @example
|
|
@@ -1788,9 +1837,14 @@ export class FilterPreset {
|
|
|
1788
1837
|
*
|
|
1789
1838
|
* @internal
|
|
1790
1839
|
*/
|
|
1791
|
-
add(filter) {
|
|
1840
|
+
add(filter, unshift) {
|
|
1792
1841
|
if (filter) {
|
|
1793
|
-
|
|
1842
|
+
if (unshift) {
|
|
1843
|
+
this.filters.unshift(filter);
|
|
1844
|
+
}
|
|
1845
|
+
else {
|
|
1846
|
+
this.filters.push(filter);
|
|
1847
|
+
}
|
|
1794
1848
|
}
|
|
1795
1849
|
return this;
|
|
1796
1850
|
}
|
|
@@ -1875,20 +1929,20 @@ export class FilterPreset {
|
|
|
1875
1929
|
};
|
|
1876
1930
|
case AV_HWDEVICE_TYPE_VULKAN:
|
|
1877
1931
|
return {
|
|
1878
|
-
scale: true, //
|
|
1879
|
-
overlay: true, //
|
|
1880
|
-
transpose: true, //
|
|
1881
|
-
tonemap:
|
|
1882
|
-
deinterlace: true, // bwdif_vulkan
|
|
1883
|
-
denoise:
|
|
1884
|
-
flip: true, //
|
|
1885
|
-
blur: true, // avgblur_vulkan
|
|
1886
|
-
sharpen:
|
|
1887
|
-
sobel: false,
|
|
1888
|
-
chromakey: false,
|
|
1889
|
-
colorspace:
|
|
1890
|
-
pad:
|
|
1891
|
-
stack: false,
|
|
1932
|
+
scale: true, // libplacebo (w/h/format/crop params)
|
|
1933
|
+
overlay: true, // libplacebo (multiple inputs support)
|
|
1934
|
+
transpose: true, // libplacebo (rotate via pos_x/y/w/h transformations)
|
|
1935
|
+
tonemap: true, // libplacebo (comprehensive HDR tone-mapping)
|
|
1936
|
+
deinterlace: true, // bwdif_vulkan (libplacebo doesn't have deinterlace)
|
|
1937
|
+
denoise: true, // libplacebo (deband for banding artifacts)
|
|
1938
|
+
flip: true, // libplacebo (via transformations)
|
|
1939
|
+
blur: true, // libplacebo (via custom shaders or avgblur_vulkan fallback)
|
|
1940
|
+
sharpen: true, // libplacebo (contrast/sharpness adjustments)
|
|
1941
|
+
sobel: false, // Not available in libplacebo or vulkan
|
|
1942
|
+
chromakey: false, // Not available in libplacebo
|
|
1943
|
+
colorspace: true, // libplacebo (comprehensive color management)
|
|
1944
|
+
pad: true, // libplacebo (via pos_x/y/w/h and fillcolor)
|
|
1945
|
+
stack: false, // Not available (use overlay with positioning)
|
|
1892
1946
|
};
|
|
1893
1947
|
case AV_HWDEVICE_TYPE_OPENCL:
|
|
1894
1948
|
return {
|