@remotion/renderer 4.0.159 → 4.0.160
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/Cargo.lock +31 -5
- package/Cargo.toml +1 -1
- package/dist/browser/Browser.js +2 -0
- package/dist/browser-instances.d.ts +4 -0
- package/dist/browser-instances.js +21 -0
- package/dist/call-ffmpeg.js +7 -2
- package/dist/client.d.ts +70 -70
- package/dist/compositor/get-explicit-env.d.ts +3 -0
- package/dist/compositor/get-explicit-env.js +13 -0
- package/dist/crf.js +2 -1
- package/dist/get-extension-from-codec.d.ts +2 -2
- package/dist/index.d.ts +5 -5
- package/dist/index.js +2 -1
- package/dist/open-browser.d.ts +0 -1
- package/dist/open-browser.js +3 -12
- package/dist/options/audio-codec.d.ts +5 -5
- package/dist/options/color-space.d.ts +3 -3
- package/dist/options/gl.d.ts +3 -3
- package/dist/options/index.d.ts +14 -14
- package/dist/options/options-map.d.ts +17 -17
- package/dist/options/video-codec.d.ts +1 -1
- package/dist/options/x264-preset.js +4 -1
- package/dist/pixel-format.d.ts +1 -1
- package/dist/pure.d.ts +3 -3
- package/dist/validate-even-dimensions-with-codec.js +4 -1
- package/dist/validate-output-filename.d.ts +1 -1
- package/package.json +9 -9
package/Cargo.lock
CHANGED
|
@@ -247,6 +247,15 @@ dependencies = [
|
|
|
247
247
|
"str-buf",
|
|
248
248
|
]
|
|
249
249
|
|
|
250
|
+
[[package]]
|
|
251
|
+
name = "fdeflate"
|
|
252
|
+
version = "0.3.4"
|
|
253
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
254
|
+
checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645"
|
|
255
|
+
dependencies = [
|
|
256
|
+
"simd-adler32",
|
|
257
|
+
]
|
|
258
|
+
|
|
250
259
|
[[package]]
|
|
251
260
|
name = "ffmpeg-next"
|
|
252
261
|
version = "6.0.0"
|
|
@@ -374,7 +383,7 @@ dependencies = [
|
|
|
374
383
|
"color_quant",
|
|
375
384
|
"num-rational 0.4.1",
|
|
376
385
|
"num-traits",
|
|
377
|
-
"png 0.17.
|
|
386
|
+
"png 0.17.13",
|
|
378
387
|
"tiff 0.9.0",
|
|
379
388
|
]
|
|
380
389
|
|
|
@@ -519,6 +528,16 @@ dependencies = [
|
|
|
519
528
|
"adler",
|
|
520
529
|
]
|
|
521
530
|
|
|
531
|
+
[[package]]
|
|
532
|
+
name = "miniz_oxide"
|
|
533
|
+
version = "0.7.3"
|
|
534
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
535
|
+
checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae"
|
|
536
|
+
dependencies = [
|
|
537
|
+
"adler",
|
|
538
|
+
"simd-adler32",
|
|
539
|
+
]
|
|
540
|
+
|
|
522
541
|
[[package]]
|
|
523
542
|
name = "mp4"
|
|
524
543
|
version = "0.13.0"
|
|
@@ -722,14 +741,15 @@ dependencies = [
|
|
|
722
741
|
|
|
723
742
|
[[package]]
|
|
724
743
|
name = "png"
|
|
725
|
-
version = "0.17.
|
|
744
|
+
version = "0.17.13"
|
|
726
745
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
727
|
-
checksum = "
|
|
746
|
+
checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1"
|
|
728
747
|
dependencies = [
|
|
729
748
|
"bitflags",
|
|
730
749
|
"crc32fast",
|
|
750
|
+
"fdeflate",
|
|
731
751
|
"flate2",
|
|
732
|
-
"miniz_oxide 0.
|
|
752
|
+
"miniz_oxide 0.7.3",
|
|
733
753
|
]
|
|
734
754
|
|
|
735
755
|
[[package]]
|
|
@@ -814,7 +834,7 @@ dependencies = [
|
|
|
814
834
|
"jpeg-encoder",
|
|
815
835
|
"lazy_static",
|
|
816
836
|
"mp4",
|
|
817
|
-
"png 0.17.
|
|
837
|
+
"png 0.17.13",
|
|
818
838
|
"rayon",
|
|
819
839
|
"serde",
|
|
820
840
|
"serde_json",
|
|
@@ -882,6 +902,12 @@ version = "1.3.0"
|
|
|
882
902
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
883
903
|
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
|
884
904
|
|
|
905
|
+
[[package]]
|
|
906
|
+
name = "simd-adler32"
|
|
907
|
+
version = "0.3.7"
|
|
908
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
909
|
+
checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe"
|
|
910
|
+
|
|
885
911
|
[[package]]
|
|
886
912
|
name = "smallvec"
|
|
887
913
|
version = "1.11.0"
|
package/Cargo.toml
CHANGED
package/dist/browser/Browser.js
CHANGED
|
@@ -28,6 +28,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
28
28
|
var _HeadlessBrowser_instances, _HeadlessBrowser_defaultViewport, _HeadlessBrowser_closeCallback, _HeadlessBrowser_defaultContext, _HeadlessBrowser_contexts, _HeadlessBrowser_targets, _HeadlessBrowser_targetCreated, _HeadlessBrowser_targetDestroyed, _HeadlessBrowser_targetInfoChanged, _BrowserContext_browser;
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.BrowserContext = exports.HeadlessBrowser = void 0;
|
|
31
|
+
const browser_instances_1 = require("../browser-instances");
|
|
31
32
|
const assert_1 = require("./assert");
|
|
32
33
|
const EventEmitter_1 = require("./EventEmitter");
|
|
33
34
|
const Target_1 = require("./Target");
|
|
@@ -141,6 +142,7 @@ class HeadlessBrowser extends EventEmitter_1.EventEmitter {
|
|
|
141
142
|
});
|
|
142
143
|
this.disconnect();
|
|
143
144
|
this.emit(silent ? "closed-silent" /* BrowserEmittedEvents.ClosedSilent */ : "closed" /* BrowserEmittedEvents.Closed */);
|
|
145
|
+
(0, browser_instances_1.removeHeadlessBrowser)(this);
|
|
144
146
|
}
|
|
145
147
|
disconnect() {
|
|
146
148
|
this.connection.dispose();
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { HeadlessBrowser } from './browser/Browser';
|
|
2
|
+
export declare const killAllBrowsers: () => Promise<void>;
|
|
3
|
+
export declare const addHeadlessBrowser: (browser: HeadlessBrowser) => void;
|
|
4
|
+
export declare const removeHeadlessBrowser: (browser: HeadlessBrowser) => void;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.removeHeadlessBrowser = exports.addHeadlessBrowser = exports.killAllBrowsers = void 0;
|
|
4
|
+
const browserInstances = [];
|
|
5
|
+
const killAllBrowsers = async () => {
|
|
6
|
+
for (const browser of browserInstances) {
|
|
7
|
+
try {
|
|
8
|
+
await browser.close(true, 'info', false);
|
|
9
|
+
}
|
|
10
|
+
catch (err) { }
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
exports.killAllBrowsers = killAllBrowsers;
|
|
14
|
+
const addHeadlessBrowser = (browser) => {
|
|
15
|
+
browserInstances.push(browser);
|
|
16
|
+
};
|
|
17
|
+
exports.addHeadlessBrowser = addHeadlessBrowser;
|
|
18
|
+
const removeHeadlessBrowser = (browser) => {
|
|
19
|
+
browserInstances.splice(browserInstances.indexOf(browser), 1);
|
|
20
|
+
};
|
|
21
|
+
exports.removeHeadlessBrowser = removeHeadlessBrowser;
|
package/dist/call-ffmpeg.js
CHANGED
|
@@ -8,6 +8,7 @@ const execa_1 = __importDefault(require("execa"));
|
|
|
8
8
|
const node_child_process_1 = require("node:child_process");
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
10
|
const get_executable_path_1 = require("./compositor/get-executable-path");
|
|
11
|
+
const get_explicit_env_1 = require("./compositor/get-explicit-env");
|
|
11
12
|
const make_file_executable_1 = require("./compositor/make-file-executable");
|
|
12
13
|
const truthy_1 = require("./truthy");
|
|
13
14
|
const callFf = ({ args, bin, indent, logLevel, options, binariesDirectory, cancelSignal, }) => {
|
|
@@ -18,8 +19,10 @@ const callFf = ({ args, bin, indent, logLevel, options, binariesDirectory, cance
|
|
|
18
19
|
binariesDirectory,
|
|
19
20
|
});
|
|
20
21
|
(0, make_file_executable_1.makeFileExecutableIfItIsNot)(executablePath);
|
|
22
|
+
const cwd = path_1.default.dirname(executablePath);
|
|
21
23
|
const task = (0, execa_1.default)(executablePath, args.filter(truthy_1.truthy), {
|
|
22
|
-
cwd
|
|
24
|
+
cwd,
|
|
25
|
+
env: (0, get_explicit_env_1.getExplicitEnv)(cwd),
|
|
23
26
|
...options,
|
|
24
27
|
});
|
|
25
28
|
cancelSignal === null || cancelSignal === void 0 ? void 0 : cancelSignal(() => {
|
|
@@ -36,8 +39,10 @@ const callFfNative = ({ args, bin, indent, logLevel, options, binariesDirectory,
|
|
|
36
39
|
binariesDirectory,
|
|
37
40
|
});
|
|
38
41
|
(0, make_file_executable_1.makeFileExecutableIfItIsNot)(executablePath);
|
|
42
|
+
const cwd = path_1.default.dirname(executablePath);
|
|
39
43
|
const task = (0, node_child_process_1.spawn)(executablePath, args.filter(truthy_1.truthy), {
|
|
40
|
-
cwd
|
|
44
|
+
cwd,
|
|
45
|
+
env: (0, get_explicit_env_1.getExplicitEnv)(cwd),
|
|
41
46
|
...options,
|
|
42
47
|
});
|
|
43
48
|
cancelSignal === null || cancelSignal === void 0 ? void 0 : cancelSignal(() => {
|
package/dist/client.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
export { AvailableOptions, TypeOfOption } from './options';
|
|
2
2
|
export declare const BrowserSafeApis: {
|
|
3
|
-
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
3
|
+
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif">(codec: T, audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
4
4
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
5
5
|
validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
|
|
6
|
-
getDefaultCrfForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
7
|
-
getValidCrfRanges: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
8
|
-
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
6
|
+
getDefaultCrfForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif") => number;
|
|
7
|
+
getValidCrfRanges: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif") => [number, number];
|
|
8
|
+
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null | undefined) => boolean;
|
|
9
9
|
proResProfileOptions: readonly ["4444-xq", "4444", "hq", "standard", "light", "proxy"];
|
|
10
10
|
x264PresetOptions: readonly ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"];
|
|
11
11
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
12
12
|
validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
|
|
13
|
-
validPixelFormatsForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
13
|
+
validPixelFormatsForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif") => readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"] | ("yuv420p" | "yuv422p" | "yuv444p" | "yuva420p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le")[];
|
|
14
14
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
15
15
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
16
|
-
DEFAULT_PIXEL_FORMAT: "yuv420p" | "
|
|
16
|
+
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuv422p" | "yuv444p" | "yuva420p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
17
17
|
DEFAULT_TIMEOUT: number;
|
|
18
18
|
DEFAULT_JPEG_QUALITY: number;
|
|
19
19
|
DEFAULT_COLOR_SPACE: "default";
|
|
@@ -35,11 +35,11 @@ export declare const BrowserSafeApis: {
|
|
|
35
35
|
h264: {
|
|
36
36
|
default: import("./file-extensions").FileExtension;
|
|
37
37
|
forAudioCodec: {
|
|
38
|
-
|
|
38
|
+
aac: {
|
|
39
39
|
possible: import("./file-extensions").FileExtension[];
|
|
40
40
|
default: import("./file-extensions").FileExtension;
|
|
41
41
|
};
|
|
42
|
-
|
|
42
|
+
mp3: {
|
|
43
43
|
possible: import("./file-extensions").FileExtension[];
|
|
44
44
|
default: import("./file-extensions").FileExtension;
|
|
45
45
|
};
|
|
@@ -65,11 +65,11 @@ export declare const BrowserSafeApis: {
|
|
|
65
65
|
vp8: {
|
|
66
66
|
default: import("./file-extensions").FileExtension;
|
|
67
67
|
forAudioCodec: {
|
|
68
|
-
|
|
68
|
+
opus: {
|
|
69
69
|
possible: import("./file-extensions").FileExtension[];
|
|
70
70
|
default: import("./file-extensions").FileExtension;
|
|
71
71
|
};
|
|
72
|
-
|
|
72
|
+
"pcm-16": {
|
|
73
73
|
possible: import("./file-extensions").FileExtension[];
|
|
74
74
|
default: import("./file-extensions").FileExtension;
|
|
75
75
|
};
|
|
@@ -78,20 +78,20 @@ export declare const BrowserSafeApis: {
|
|
|
78
78
|
vp9: {
|
|
79
79
|
default: import("./file-extensions").FileExtension;
|
|
80
80
|
forAudioCodec: {
|
|
81
|
-
|
|
81
|
+
opus: {
|
|
82
82
|
possible: import("./file-extensions").FileExtension[];
|
|
83
83
|
default: import("./file-extensions").FileExtension;
|
|
84
84
|
};
|
|
85
|
-
|
|
85
|
+
"pcm-16": {
|
|
86
86
|
possible: import("./file-extensions").FileExtension[];
|
|
87
87
|
default: import("./file-extensions").FileExtension;
|
|
88
88
|
};
|
|
89
89
|
};
|
|
90
90
|
};
|
|
91
|
-
|
|
91
|
+
prores: {
|
|
92
92
|
default: import("./file-extensions").FileExtension;
|
|
93
93
|
forAudioCodec: {
|
|
94
|
-
|
|
94
|
+
aac: {
|
|
95
95
|
possible: import("./file-extensions").FileExtension[];
|
|
96
96
|
default: import("./file-extensions").FileExtension;
|
|
97
97
|
};
|
|
@@ -114,22 +114,22 @@ export declare const BrowserSafeApis: {
|
|
|
114
114
|
};
|
|
115
115
|
};
|
|
116
116
|
};
|
|
117
|
-
|
|
117
|
+
mp3: {
|
|
118
118
|
default: import("./file-extensions").FileExtension;
|
|
119
119
|
forAudioCodec: {
|
|
120
|
+
mp3: {
|
|
121
|
+
possible: import("./file-extensions").FileExtension[];
|
|
122
|
+
default: import("./file-extensions").FileExtension;
|
|
123
|
+
};
|
|
120
124
|
"pcm-16": {
|
|
121
125
|
possible: import("./file-extensions").FileExtension[];
|
|
122
126
|
default: import("./file-extensions").FileExtension;
|
|
123
127
|
};
|
|
124
128
|
};
|
|
125
129
|
};
|
|
126
|
-
|
|
130
|
+
wav: {
|
|
127
131
|
default: import("./file-extensions").FileExtension;
|
|
128
132
|
forAudioCodec: {
|
|
129
|
-
aac: {
|
|
130
|
-
possible: import("./file-extensions").FileExtension[];
|
|
131
|
-
default: import("./file-extensions").FileExtension;
|
|
132
|
-
};
|
|
133
133
|
"pcm-16": {
|
|
134
134
|
possible: import("./file-extensions").FileExtension[];
|
|
135
135
|
default: import("./file-extensions").FileExtension;
|
|
@@ -169,37 +169,37 @@ export declare const BrowserSafeApis: {
|
|
|
169
169
|
};
|
|
170
170
|
defaultAudioCodecs: {
|
|
171
171
|
h264: {
|
|
172
|
-
compressed: "
|
|
173
|
-
lossless: "
|
|
172
|
+
compressed: "aac" | "mp3" | "pcm-16" | null;
|
|
173
|
+
lossless: "aac" | "mp3" | "pcm-16" | null;
|
|
174
174
|
};
|
|
175
175
|
h265: {
|
|
176
176
|
compressed: "aac" | "pcm-16" | null;
|
|
177
177
|
lossless: "aac" | "pcm-16" | null;
|
|
178
178
|
};
|
|
179
179
|
vp8: {
|
|
180
|
-
compressed: "
|
|
181
|
-
lossless: "
|
|
180
|
+
compressed: "opus" | "pcm-16" | null;
|
|
181
|
+
lossless: "opus" | "pcm-16" | null;
|
|
182
182
|
};
|
|
183
183
|
vp9: {
|
|
184
|
-
compressed: "
|
|
185
|
-
lossless: "
|
|
184
|
+
compressed: "opus" | "pcm-16" | null;
|
|
185
|
+
lossless: "opus" | "pcm-16" | null;
|
|
186
186
|
};
|
|
187
|
-
|
|
188
|
-
compressed: "
|
|
189
|
-
lossless: "
|
|
187
|
+
prores: {
|
|
188
|
+
compressed: "aac" | "pcm-16" | null;
|
|
189
|
+
lossless: "aac" | "pcm-16" | null;
|
|
190
190
|
};
|
|
191
191
|
aac: {
|
|
192
192
|
compressed: "aac" | "pcm-16" | null;
|
|
193
193
|
lossless: "aac" | "pcm-16" | null;
|
|
194
194
|
};
|
|
195
|
+
mp3: {
|
|
196
|
+
compressed: "mp3" | "pcm-16" | null;
|
|
197
|
+
lossless: "mp3" | "pcm-16" | null;
|
|
198
|
+
};
|
|
195
199
|
wav: {
|
|
196
200
|
compressed: "pcm-16" | null;
|
|
197
201
|
lossless: "pcm-16" | null;
|
|
198
202
|
};
|
|
199
|
-
prores: {
|
|
200
|
-
compressed: "aac" | "pcm-16" | null;
|
|
201
|
-
lossless: "aac" | "pcm-16" | null;
|
|
202
|
-
};
|
|
203
203
|
"h264-mkv": {
|
|
204
204
|
compressed: "mp3" | "pcm-16" | null;
|
|
205
205
|
lossless: "mp3" | "pcm-16" | null;
|
|
@@ -213,10 +213,10 @@ export declare const BrowserSafeApis: {
|
|
|
213
213
|
lossless: null;
|
|
214
214
|
};
|
|
215
215
|
};
|
|
216
|
-
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "
|
|
217
|
-
validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
216
|
+
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif">;
|
|
217
|
+
validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
218
218
|
codec: T_1;
|
|
219
|
-
audioCodecSetting: "
|
|
219
|
+
audioCodecSetting: "opus" | "aac" | "mp3" | "pcm-16" | null;
|
|
220
220
|
extension: string;
|
|
221
221
|
preferLossless: boolean;
|
|
222
222
|
separateAudioTo: string | null;
|
|
@@ -224,12 +224,12 @@ export declare const BrowserSafeApis: {
|
|
|
224
224
|
options: {
|
|
225
225
|
audioCodecOption: {
|
|
226
226
|
cliFlag: "audio-codec";
|
|
227
|
-
setConfig: (audioCodec: "
|
|
227
|
+
setConfig: (audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null) => void;
|
|
228
228
|
getValue: ({ commandLine }: {
|
|
229
229
|
commandLine: Record<string, unknown>;
|
|
230
230
|
}) => {
|
|
231
231
|
source: string;
|
|
232
|
-
value: "
|
|
232
|
+
value: "opus" | "aac" | "mp3" | "pcm-16";
|
|
233
233
|
} | {
|
|
234
234
|
source: string;
|
|
235
235
|
value: null;
|
|
@@ -238,7 +238,7 @@ export declare const BrowserSafeApis: {
|
|
|
238
238
|
docLink: string;
|
|
239
239
|
name: string;
|
|
240
240
|
ssrName: "audioCodec";
|
|
241
|
-
type: "
|
|
241
|
+
type: "opus" | "aac" | "mp3" | "pcm-16";
|
|
242
242
|
};
|
|
243
243
|
scaleOption: {
|
|
244
244
|
name: string;
|
|
@@ -357,17 +357,17 @@ export declare const BrowserSafeApis: {
|
|
|
357
357
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
358
358
|
ssrName: string;
|
|
359
359
|
docLink: string;
|
|
360
|
-
type: "h264" | "h265" | "vp8" | "vp9" | "
|
|
360
|
+
type: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif";
|
|
361
361
|
getValue: ({ commandLine }: {
|
|
362
362
|
commandLine: Record<string, unknown>;
|
|
363
363
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
364
364
|
outName: string | null;
|
|
365
365
|
downloadName: string | null;
|
|
366
|
-
configFile: "h264" | "h265" | "vp8" | "vp9" | "
|
|
367
|
-
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
368
|
-
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
366
|
+
configFile: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
367
|
+
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
368
|
+
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
369
369
|
}) => {
|
|
370
|
-
value: "h264" | "h265" | "vp8" | "vp9" | "
|
|
370
|
+
value: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif";
|
|
371
371
|
source: string;
|
|
372
372
|
};
|
|
373
373
|
setConfig: (newCodec: import("./codec").CodecOrUndefined) => void;
|
|
@@ -406,14 +406,14 @@ export declare const BrowserSafeApis: {
|
|
|
406
406
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
407
407
|
docLink: string;
|
|
408
408
|
ssrName: string;
|
|
409
|
-
type: "
|
|
409
|
+
type: "bt709" | "bt2020-ncl" | "default" | null;
|
|
410
410
|
getValue: ({ commandLine }: {
|
|
411
411
|
commandLine: Record<string, unknown>;
|
|
412
412
|
}) => {
|
|
413
413
|
source: string;
|
|
414
|
-
value: "
|
|
414
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
415
415
|
};
|
|
416
|
-
setConfig: (value: "
|
|
416
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default" | null) => void;
|
|
417
417
|
};
|
|
418
418
|
deleteAfterOption: {
|
|
419
419
|
name: string;
|
|
@@ -467,19 +467,19 @@ export declare const BrowserSafeApis: {
|
|
|
467
467
|
cliFlag: "gl";
|
|
468
468
|
docLink: string;
|
|
469
469
|
name: string;
|
|
470
|
-
type: "
|
|
470
|
+
type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
471
471
|
ssrName: string;
|
|
472
472
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
473
473
|
getValue: ({ commandLine }: {
|
|
474
474
|
commandLine: Record<string, unknown>;
|
|
475
475
|
}) => {
|
|
476
|
-
value: "
|
|
476
|
+
value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
477
477
|
source: string;
|
|
478
478
|
} | {
|
|
479
479
|
value: null;
|
|
480
480
|
source: string;
|
|
481
481
|
};
|
|
482
|
-
setConfig: (value: "
|
|
482
|
+
setConfig: (value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
483
483
|
};
|
|
484
484
|
enableLambdaInsights: {
|
|
485
485
|
name: string;
|
|
@@ -900,14 +900,14 @@ export declare const BrowserSafeApis: {
|
|
|
900
900
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
901
901
|
docLink: string;
|
|
902
902
|
ssrName: string;
|
|
903
|
-
type: "
|
|
903
|
+
type: "bt709" | "bt2020-ncl" | "default" | null;
|
|
904
904
|
getValue: ({ commandLine }: {
|
|
905
905
|
commandLine: Record<string, unknown>;
|
|
906
906
|
}) => {
|
|
907
907
|
source: string;
|
|
908
|
-
value: "
|
|
908
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
909
909
|
};
|
|
910
|
-
setConfig: (value: "
|
|
910
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default" | null) => void;
|
|
911
911
|
};
|
|
912
912
|
readonly codec: {
|
|
913
913
|
name: string;
|
|
@@ -915,17 +915,17 @@ export declare const BrowserSafeApis: {
|
|
|
915
915
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
916
916
|
ssrName: string;
|
|
917
917
|
docLink: string;
|
|
918
|
-
type: "h264" | "h265" | "vp8" | "vp9" | "
|
|
918
|
+
type: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif";
|
|
919
919
|
getValue: ({ commandLine }: {
|
|
920
920
|
commandLine: Record<string, unknown>;
|
|
921
921
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
922
922
|
outName: string | null;
|
|
923
923
|
downloadName: string | null;
|
|
924
|
-
configFile: "h264" | "h265" | "vp8" | "vp9" | "
|
|
925
|
-
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
926
|
-
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
924
|
+
configFile: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
925
|
+
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
926
|
+
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
927
927
|
}) => {
|
|
928
|
-
value: "h264" | "h265" | "vp8" | "vp9" | "
|
|
928
|
+
value: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif";
|
|
929
929
|
source: string;
|
|
930
930
|
};
|
|
931
931
|
setConfig: (newCodec: import("./codec").CodecOrUndefined) => void;
|
|
@@ -1079,12 +1079,12 @@ export declare const BrowserSafeApis: {
|
|
|
1079
1079
|
};
|
|
1080
1080
|
readonly audioCodec: {
|
|
1081
1081
|
cliFlag: "audio-codec";
|
|
1082
|
-
setConfig: (audioCodec: "
|
|
1082
|
+
setConfig: (audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null) => void;
|
|
1083
1083
|
getValue: ({ commandLine }: {
|
|
1084
1084
|
commandLine: Record<string, unknown>;
|
|
1085
1085
|
}) => {
|
|
1086
1086
|
source: string;
|
|
1087
|
-
value: "
|
|
1087
|
+
value: "opus" | "aac" | "mp3" | "pcm-16";
|
|
1088
1088
|
} | {
|
|
1089
1089
|
source: string;
|
|
1090
1090
|
value: null;
|
|
@@ -1093,7 +1093,7 @@ export declare const BrowserSafeApis: {
|
|
|
1093
1093
|
docLink: string;
|
|
1094
1094
|
name: string;
|
|
1095
1095
|
ssrName: "audioCodec";
|
|
1096
|
-
type: "
|
|
1096
|
+
type: "opus" | "aac" | "mp3" | "pcm-16";
|
|
1097
1097
|
};
|
|
1098
1098
|
readonly onBrowserDownload: {
|
|
1099
1099
|
name: string;
|
|
@@ -1640,14 +1640,14 @@ export declare const BrowserSafeApis: {
|
|
|
1640
1640
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1641
1641
|
docLink: string;
|
|
1642
1642
|
ssrName: string;
|
|
1643
|
-
type: "
|
|
1643
|
+
type: "bt709" | "bt2020-ncl" | "default" | null;
|
|
1644
1644
|
getValue: ({ commandLine }: {
|
|
1645
1645
|
commandLine: Record<string, unknown>;
|
|
1646
1646
|
}) => {
|
|
1647
1647
|
source: string;
|
|
1648
|
-
value: "
|
|
1648
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
1649
1649
|
};
|
|
1650
|
-
setConfig: (value: "
|
|
1650
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default" | null) => void;
|
|
1651
1651
|
};
|
|
1652
1652
|
readonly muted: {
|
|
1653
1653
|
name: string;
|
|
@@ -1904,14 +1904,14 @@ export declare const BrowserSafeApis: {
|
|
|
1904
1904
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1905
1905
|
docLink: string;
|
|
1906
1906
|
ssrName: string;
|
|
1907
|
-
type: "
|
|
1907
|
+
type: "bt709" | "bt2020-ncl" | "default" | null;
|
|
1908
1908
|
getValue: ({ commandLine }: {
|
|
1909
1909
|
commandLine: Record<string, unknown>;
|
|
1910
1910
|
}) => {
|
|
1911
1911
|
source: string;
|
|
1912
|
-
value: "
|
|
1912
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
1913
1913
|
};
|
|
1914
|
-
setConfig: (value: "
|
|
1914
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default" | null) => void;
|
|
1915
1915
|
};
|
|
1916
1916
|
readonly audioBitrate: {
|
|
1917
1917
|
name: string;
|
|
@@ -2249,9 +2249,9 @@ export declare const BrowserSafeApis: {
|
|
|
2249
2249
|
};
|
|
2250
2250
|
};
|
|
2251
2251
|
};
|
|
2252
|
-
codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
2253
|
-
codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
2252
|
+
codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif") => boolean;
|
|
2253
|
+
codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif") => boolean;
|
|
2254
2254
|
logLevels: readonly ["verbose", "info", "warn", "error"];
|
|
2255
2255
|
getOutputCodecOrUndefined: () => import("./codec").CodecOrUndefined;
|
|
2256
|
-
getExtensionFromAudioCodec: (audioCodec: "
|
|
2256
|
+
getExtensionFromAudioCodec: (audioCodec: "opus" | "aac" | "mp3" | "pcm-16") => "opus" | "aac" | "mp3" | "wav";
|
|
2257
2257
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getExplicitEnv = void 0;
|
|
4
|
+
const getExplicitEnv = (cwd) => {
|
|
5
|
+
return process.platform === 'darwin'
|
|
6
|
+
? {
|
|
7
|
+
// Should work out of the box, but sometimes it doesn't
|
|
8
|
+
// https://github.com/remotion-dev/remotion/issues/3862
|
|
9
|
+
DYLD_LIBRARY_PATH: cwd,
|
|
10
|
+
}
|
|
11
|
+
: undefined;
|
|
12
|
+
};
|
|
13
|
+
exports.getExplicitEnv = getExplicitEnv;
|
package/dist/crf.js
CHANGED
|
@@ -74,7 +74,8 @@ const validateQualitySettings = ({ codec, crf, videoBitrate, encodingMaxRate, en
|
|
|
74
74
|
throw new TypeError('Expected CRF to be a number, but is ' + JSON.stringify(crf));
|
|
75
75
|
}
|
|
76
76
|
const range = (0, exports.getValidCrfRanges)(codec);
|
|
77
|
-
if (crf === 0 &&
|
|
77
|
+
if (crf === 0 &&
|
|
78
|
+
(codec === 'h264' || codec === 'h264-mkv' || codec === 'h264-ts')) {
|
|
78
79
|
throw new TypeError("Setting the CRF to 0 with a H264 codec is not supported anymore because of it's inconsistencies between platforms. Videos with CRF 0 cannot be played on iOS/macOS. 0 is a extreme value with inefficient settings which you probably do not want. Set CRF to a higher value to fix this error.");
|
|
79
80
|
}
|
|
80
81
|
if (crf < range[0] || crf > range[1]) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Codec } from './codec';
|
|
2
2
|
import type { FileExtension } from './file-extensions';
|
|
3
3
|
import type { AudioCodec } from './options/audio-codec';
|
|
4
|
-
export declare const getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
5
|
-
export declare const makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "
|
|
4
|
+
export declare const getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif">(codec: T, audioCodec: AudioCodec | null) => FileExtension;
|
|
5
|
+
export declare const makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif")[]>;
|
|
6
6
|
export declare const defaultCodecsForFileExtension: Record<FileExtension, Codec>;
|
package/dist/index.d.ts
CHANGED
|
@@ -140,8 +140,8 @@ export declare const RenderInternals: {
|
|
|
140
140
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
141
141
|
DEFAULT_BROWSER: "chrome";
|
|
142
142
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
143
|
-
DEFAULT_OPENGL_RENDERER: "
|
|
144
|
-
validateOpenGlRenderer: (option: unknown) => "
|
|
143
|
+
DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
144
|
+
validateOpenGlRenderer: (option: unknown) => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
145
145
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
146
146
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
147
147
|
validateJpegQuality: (q: unknown) => void;
|
|
@@ -353,8 +353,8 @@ export declare const RenderInternals: {
|
|
|
353
353
|
}) => execa.ExecaChildProcess<string>;
|
|
354
354
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
355
355
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
356
|
-
DEFAULT_STILL_IMAGE_FORMAT: "
|
|
357
|
-
DEFAULT_VIDEO_IMAGE_FORMAT: "
|
|
356
|
+
DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
|
|
357
|
+
DEFAULT_VIDEO_IMAGE_FORMAT: "png" | "jpeg" | "none";
|
|
358
358
|
DEFAULT_JPEG_QUALITY: number;
|
|
359
359
|
chalk: {
|
|
360
360
|
enabled: () => boolean;
|
|
@@ -453,7 +453,7 @@ export declare const RenderInternals: {
|
|
|
453
453
|
frame: number;
|
|
454
454
|
serializedInputPropsWithCustomSchema: string;
|
|
455
455
|
serializedResolvedPropsWithCustomSchema: string;
|
|
456
|
-
imageFormat: "
|
|
456
|
+
imageFormat: "png" | "jpeg" | "pdf" | "webp";
|
|
457
457
|
jpegQuality: number;
|
|
458
458
|
puppeteerInstance: HeadlessBrowser | null;
|
|
459
459
|
envVariables: Record<string, string>;
|
package/dist/index.js
CHANGED
|
@@ -110,6 +110,7 @@ Object.defineProperty(exports, "stitchFramesToVideo", { enumerable: true, get: f
|
|
|
110
110
|
var validate_output_filename_1 = require("./validate-output-filename");
|
|
111
111
|
Object.defineProperty(exports, "validateOutputFilename", { enumerable: true, get: function () { return validate_output_filename_1.validateOutputFilename; } });
|
|
112
112
|
const download_map_1 = require("./assets/download-map");
|
|
113
|
+
const browser_instances_1 = require("./browser-instances");
|
|
113
114
|
const codec_supports_media_1 = require("./codec-supports-media");
|
|
114
115
|
const make_file_executable_1 = require("./compositor/make-file-executable");
|
|
115
116
|
const ensure_browser_2 = require("./ensure-browser");
|
|
@@ -131,7 +132,7 @@ exports.RenderInternals = {
|
|
|
131
132
|
getRealFrameRange: get_frame_to_render_1.getRealFrameRange,
|
|
132
133
|
validatePuppeteerTimeout: validate_puppeteer_timeout_1.validatePuppeteerTimeout,
|
|
133
134
|
downloadFile: download_file_1.downloadFile,
|
|
134
|
-
killAllBrowsers:
|
|
135
|
+
killAllBrowsers: browser_instances_1.killAllBrowsers,
|
|
135
136
|
parseStack: parse_browser_error_stack_1.parseStack,
|
|
136
137
|
symbolicateError: symbolicate_error_1.symbolicateError,
|
|
137
138
|
SymbolicateableError: symbolicateable_error_1.SymbolicateableError,
|
package/dist/open-browser.d.ts
CHANGED
|
@@ -13,7 +13,6 @@ export type ChromiumOptions = {
|
|
|
13
13
|
userAgent?: string | null;
|
|
14
14
|
enableMultiProcessOnLinux?: boolean;
|
|
15
15
|
};
|
|
16
|
-
export declare const killAllBrowsers: () => Promise<void>;
|
|
17
16
|
type InternalOpenBrowserOptions = {
|
|
18
17
|
browserExecutable: string | null;
|
|
19
18
|
chromiumOptions: ChromiumOptions;
|
package/dist/open-browser.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.openBrowser = exports.internalOpenBrowser =
|
|
3
|
+
exports.openBrowser = exports.internalOpenBrowser = void 0;
|
|
4
|
+
const browser_instances_1 = require("./browser-instances");
|
|
4
5
|
const browser_download_progress_bar_1 = require("./browser/browser-download-progress-bar");
|
|
5
6
|
const node_1 = require("./browser/node");
|
|
6
7
|
const ensure_browser_1 = require("./ensure-browser");
|
|
@@ -32,16 +33,6 @@ const getOpenGlRenderer = (option) => {
|
|
|
32
33
|
}
|
|
33
34
|
return [`--use-gl=${renderer}`];
|
|
34
35
|
};
|
|
35
|
-
const browserInstances = [];
|
|
36
|
-
const killAllBrowsers = async () => {
|
|
37
|
-
for (const browser of browserInstances) {
|
|
38
|
-
try {
|
|
39
|
-
await browser.close(true, 'info', false);
|
|
40
|
-
}
|
|
41
|
-
catch (err) { }
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
exports.killAllBrowsers = killAllBrowsers;
|
|
45
36
|
const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent, viewport, logLevel, onBrowserDownload, }) => {
|
|
46
37
|
var _a, _b, _c;
|
|
47
38
|
// @ts-expect-error Firefox
|
|
@@ -144,7 +135,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
144
135
|
});
|
|
145
136
|
const pages = await browserInstance.pages(logLevel, indent);
|
|
146
137
|
await pages[0].close();
|
|
147
|
-
|
|
138
|
+
(0, browser_instances_1.addHeadlessBrowser)(browserInstance);
|
|
148
139
|
return browserInstance;
|
|
149
140
|
};
|
|
150
141
|
exports.internalOpenBrowser = internalOpenBrowser;
|
|
@@ -24,25 +24,25 @@ export declare const defaultAudioCodecs: {
|
|
|
24
24
|
[k in 'compressed' | 'lossless']: (typeof supportedAudioCodecs)[key][number] | null;
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
|
-
export declare const getExtensionFromAudioCodec: (audioCodec: AudioCodec) => "
|
|
27
|
+
export declare const getExtensionFromAudioCodec: (audioCodec: AudioCodec) => "opus" | "aac" | "mp3" | "wav";
|
|
28
28
|
export declare const resolveAudioCodec: ({ codec, setting, preferLossless, separateAudioTo, }: {
|
|
29
29
|
setting: AudioCodec | null;
|
|
30
30
|
codec: Codec;
|
|
31
31
|
preferLossless: boolean;
|
|
32
32
|
separateAudioTo: string | null;
|
|
33
|
-
}) => "
|
|
33
|
+
}) => "opus" | "aac" | "mp3" | "pcm-16" | null;
|
|
34
34
|
export declare const getDefaultAudioCodec: ({ codec, preferLossless, }: {
|
|
35
35
|
codec: Codec;
|
|
36
36
|
preferLossless: boolean;
|
|
37
37
|
}) => AudioCodec | null;
|
|
38
38
|
export declare const audioCodecOption: {
|
|
39
39
|
cliFlag: "audio-codec";
|
|
40
|
-
setConfig: (audioCodec: "
|
|
40
|
+
setConfig: (audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null) => void;
|
|
41
41
|
getValue: ({ commandLine }: {
|
|
42
42
|
commandLine: Record<string, unknown>;
|
|
43
43
|
}) => {
|
|
44
44
|
source: string;
|
|
45
|
-
value: "
|
|
45
|
+
value: "opus" | "aac" | "mp3" | "pcm-16";
|
|
46
46
|
} | {
|
|
47
47
|
source: string;
|
|
48
48
|
value: null;
|
|
@@ -51,6 +51,6 @@ export declare const audioCodecOption: {
|
|
|
51
51
|
docLink: string;
|
|
52
52
|
name: string;
|
|
53
53
|
ssrName: "audioCodec";
|
|
54
|
-
type: "
|
|
54
|
+
type: "opus" | "aac" | "mp3" | "pcm-16";
|
|
55
55
|
};
|
|
56
56
|
export {};
|
|
@@ -7,13 +7,13 @@ export declare const colorSpaceOption: {
|
|
|
7
7
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
docLink: string;
|
|
9
9
|
ssrName: string;
|
|
10
|
-
type: "
|
|
10
|
+
type: "bt709" | "bt2020-ncl" | "default" | null;
|
|
11
11
|
getValue: ({ commandLine }: {
|
|
12
12
|
commandLine: Record<string, unknown>;
|
|
13
13
|
}) => {
|
|
14
14
|
source: string;
|
|
15
|
-
value: "
|
|
15
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
16
16
|
};
|
|
17
|
-
setConfig: (value: "
|
|
17
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default" | null) => void;
|
|
18
18
|
};
|
|
19
19
|
export declare const validateColorSpace: (option: unknown) => void;
|
package/dist/options/gl.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
export declare const validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
|
|
2
2
|
export type OpenGlRenderer = (typeof validOpenGlRenderers)[number];
|
|
3
3
|
export declare const DEFAULT_OPENGL_RENDERER: OpenGlRenderer | null;
|
|
4
|
-
export declare const getChromiumOpenGlRenderer: () => "
|
|
4
|
+
export declare const getChromiumOpenGlRenderer: () => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
5
5
|
export declare const setChromiumOpenGlRenderer: (renderer: OpenGlRenderer) => void;
|
|
6
6
|
export declare const glOption: {
|
|
7
7
|
cliFlag: "gl";
|
|
8
8
|
docLink: string;
|
|
9
9
|
name: string;
|
|
10
|
-
type: "
|
|
10
|
+
type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
11
11
|
ssrName: string;
|
|
12
12
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
getValue: ({ commandLine }: {
|
|
14
14
|
commandLine: Record<string, unknown>;
|
|
15
15
|
}) => {
|
|
16
|
-
value: "
|
|
16
|
+
value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
17
17
|
source: string;
|
|
18
18
|
} | {
|
|
19
19
|
value: null;
|
package/dist/options/index.d.ts
CHANGED
|
@@ -2,12 +2,12 @@ import type { AnyRemotionOption } from './option';
|
|
|
2
2
|
export declare const allOptions: {
|
|
3
3
|
audioCodecOption: {
|
|
4
4
|
cliFlag: "audio-codec";
|
|
5
|
-
setConfig: (audioCodec: "
|
|
5
|
+
setConfig: (audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null) => void;
|
|
6
6
|
getValue: ({ commandLine }: {
|
|
7
7
|
commandLine: Record<string, unknown>;
|
|
8
8
|
}) => {
|
|
9
9
|
source: string;
|
|
10
|
-
value: "
|
|
10
|
+
value: "opus" | "aac" | "mp3" | "pcm-16";
|
|
11
11
|
} | {
|
|
12
12
|
source: string;
|
|
13
13
|
value: null;
|
|
@@ -16,7 +16,7 @@ export declare const allOptions: {
|
|
|
16
16
|
docLink: string;
|
|
17
17
|
name: string;
|
|
18
18
|
ssrName: "audioCodec";
|
|
19
|
-
type: "
|
|
19
|
+
type: "opus" | "aac" | "mp3" | "pcm-16";
|
|
20
20
|
};
|
|
21
21
|
scaleOption: {
|
|
22
22
|
name: string;
|
|
@@ -135,17 +135,17 @@ export declare const allOptions: {
|
|
|
135
135
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
136
136
|
ssrName: string;
|
|
137
137
|
docLink: string;
|
|
138
|
-
type: "h264" | "h265" | "vp8" | "vp9" | "
|
|
138
|
+
type: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif";
|
|
139
139
|
getValue: ({ commandLine }: {
|
|
140
140
|
commandLine: Record<string, unknown>;
|
|
141
141
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
142
142
|
outName: string | null;
|
|
143
143
|
downloadName: string | null;
|
|
144
|
-
configFile: "h264" | "h265" | "vp8" | "vp9" | "
|
|
145
|
-
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
146
|
-
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
144
|
+
configFile: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
145
|
+
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
146
|
+
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
147
147
|
}) => {
|
|
148
|
-
value: "h264" | "h265" | "vp8" | "vp9" | "
|
|
148
|
+
value: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif";
|
|
149
149
|
source: string;
|
|
150
150
|
};
|
|
151
151
|
setConfig: (newCodec: import("..").CodecOrUndefined) => void;
|
|
@@ -184,14 +184,14 @@ export declare const allOptions: {
|
|
|
184
184
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
185
185
|
docLink: string;
|
|
186
186
|
ssrName: string;
|
|
187
|
-
type: "
|
|
187
|
+
type: "bt709" | "bt2020-ncl" | "default" | null;
|
|
188
188
|
getValue: ({ commandLine }: {
|
|
189
189
|
commandLine: Record<string, unknown>;
|
|
190
190
|
}) => {
|
|
191
191
|
source: string;
|
|
192
|
-
value: "
|
|
192
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
193
193
|
};
|
|
194
|
-
setConfig: (value: "
|
|
194
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default" | null) => void;
|
|
195
195
|
};
|
|
196
196
|
deleteAfterOption: {
|
|
197
197
|
name: string;
|
|
@@ -245,19 +245,19 @@ export declare const allOptions: {
|
|
|
245
245
|
cliFlag: "gl";
|
|
246
246
|
docLink: string;
|
|
247
247
|
name: string;
|
|
248
|
-
type: "
|
|
248
|
+
type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
249
249
|
ssrName: string;
|
|
250
250
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
251
251
|
getValue: ({ commandLine }: {
|
|
252
252
|
commandLine: Record<string, unknown>;
|
|
253
253
|
}) => {
|
|
254
|
-
value: "
|
|
254
|
+
value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
255
255
|
source: string;
|
|
256
256
|
} | {
|
|
257
257
|
value: null;
|
|
258
258
|
source: string;
|
|
259
259
|
};
|
|
260
|
-
setConfig: (value: "
|
|
260
|
+
setConfig: (value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
261
261
|
};
|
|
262
262
|
enableLambdaInsights: {
|
|
263
263
|
name: string;
|
|
@@ -108,14 +108,14 @@ export declare const optionsMap: {
|
|
|
108
108
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
109
109
|
docLink: string;
|
|
110
110
|
ssrName: string;
|
|
111
|
-
type: "
|
|
111
|
+
type: "bt709" | "bt2020-ncl" | "default" | null;
|
|
112
112
|
getValue: ({ commandLine }: {
|
|
113
113
|
commandLine: Record<string, unknown>;
|
|
114
114
|
}) => {
|
|
115
115
|
source: string;
|
|
116
|
-
value: "
|
|
116
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
117
117
|
};
|
|
118
|
-
setConfig: (value: "
|
|
118
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default" | null) => void;
|
|
119
119
|
};
|
|
120
120
|
readonly codec: {
|
|
121
121
|
name: string;
|
|
@@ -123,17 +123,17 @@ export declare const optionsMap: {
|
|
|
123
123
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
124
124
|
ssrName: string;
|
|
125
125
|
docLink: string;
|
|
126
|
-
type: "h264" | "h265" | "vp8" | "vp9" | "
|
|
126
|
+
type: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif";
|
|
127
127
|
getValue: ({ commandLine }: {
|
|
128
128
|
commandLine: Record<string, unknown>;
|
|
129
129
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
130
130
|
outName: string | null;
|
|
131
131
|
downloadName: string | null;
|
|
132
|
-
configFile: "h264" | "h265" | "vp8" | "vp9" | "
|
|
133
|
-
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
134
|
-
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
132
|
+
configFile: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
133
|
+
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
134
|
+
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif" | null;
|
|
135
135
|
}) => {
|
|
136
|
-
value: "h264" | "h265" | "vp8" | "vp9" | "
|
|
136
|
+
value: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif";
|
|
137
137
|
source: string;
|
|
138
138
|
};
|
|
139
139
|
setConfig: (newCodec: import("..").CodecOrUndefined) => void;
|
|
@@ -287,12 +287,12 @@ export declare const optionsMap: {
|
|
|
287
287
|
};
|
|
288
288
|
readonly audioCodec: {
|
|
289
289
|
cliFlag: "audio-codec";
|
|
290
|
-
setConfig: (audioCodec: "
|
|
290
|
+
setConfig: (audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null) => void;
|
|
291
291
|
getValue: ({ commandLine }: {
|
|
292
292
|
commandLine: Record<string, unknown>;
|
|
293
293
|
}) => {
|
|
294
294
|
source: string;
|
|
295
|
-
value: "
|
|
295
|
+
value: "opus" | "aac" | "mp3" | "pcm-16";
|
|
296
296
|
} | {
|
|
297
297
|
source: string;
|
|
298
298
|
value: null;
|
|
@@ -301,7 +301,7 @@ export declare const optionsMap: {
|
|
|
301
301
|
docLink: string;
|
|
302
302
|
name: string;
|
|
303
303
|
ssrName: "audioCodec";
|
|
304
|
-
type: "
|
|
304
|
+
type: "opus" | "aac" | "mp3" | "pcm-16";
|
|
305
305
|
};
|
|
306
306
|
readonly onBrowserDownload: {
|
|
307
307
|
name: string;
|
|
@@ -848,14 +848,14 @@ export declare const optionsMap: {
|
|
|
848
848
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
849
849
|
docLink: string;
|
|
850
850
|
ssrName: string;
|
|
851
|
-
type: "
|
|
851
|
+
type: "bt709" | "bt2020-ncl" | "default" | null;
|
|
852
852
|
getValue: ({ commandLine }: {
|
|
853
853
|
commandLine: Record<string, unknown>;
|
|
854
854
|
}) => {
|
|
855
855
|
source: string;
|
|
856
|
-
value: "
|
|
856
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
857
857
|
};
|
|
858
|
-
setConfig: (value: "
|
|
858
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default" | null) => void;
|
|
859
859
|
};
|
|
860
860
|
readonly muted: {
|
|
861
861
|
name: string;
|
|
@@ -1112,14 +1112,14 @@ export declare const optionsMap: {
|
|
|
1112
1112
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1113
1113
|
docLink: string;
|
|
1114
1114
|
ssrName: string;
|
|
1115
|
-
type: "
|
|
1115
|
+
type: "bt709" | "bt2020-ncl" | "default" | null;
|
|
1116
1116
|
getValue: ({ commandLine }: {
|
|
1117
1117
|
commandLine: Record<string, unknown>;
|
|
1118
1118
|
}) => {
|
|
1119
1119
|
source: string;
|
|
1120
|
-
value: "
|
|
1120
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
1121
1121
|
};
|
|
1122
|
-
setConfig: (value: "
|
|
1122
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default" | null) => void;
|
|
1123
1123
|
};
|
|
1124
1124
|
readonly audioBitrate: {
|
|
1125
1125
|
name: string;
|
|
@@ -6,7 +6,7 @@ export declare const videoCodecOption: {
|
|
|
6
6
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
ssrName: string;
|
|
8
8
|
docLink: string;
|
|
9
|
-
type: "h264" | "h265" | "vp8" | "vp9" | "
|
|
9
|
+
type: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif";
|
|
10
10
|
getValue: ({ commandLine }: {
|
|
11
11
|
commandLine: Record<string, unknown>;
|
|
12
12
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
@@ -16,7 +16,10 @@ exports.x264PresetOptions = [
|
|
|
16
16
|
];
|
|
17
17
|
let preset = null;
|
|
18
18
|
const validateSelectedCodecAndPresetCombination = ({ codec, x264Preset, }) => {
|
|
19
|
-
if (x264Preset !== null &&
|
|
19
|
+
if (x264Preset !== null &&
|
|
20
|
+
codec !== 'h264' &&
|
|
21
|
+
codec !== 'h264-mkv' &&
|
|
22
|
+
codec !== 'h264-ts') {
|
|
20
23
|
throw new TypeError(`You have set a x264 preset but the codec is "${codec}". Set the codec to "h264" or remove the Preset profile.`);
|
|
21
24
|
}
|
|
22
25
|
if (x264Preset !== null &&
|
package/dist/pixel-format.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import type { Codec } from './codec';
|
|
|
2
2
|
export declare const validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
3
3
|
export type PixelFormat = (typeof validPixelFormats)[number];
|
|
4
4
|
export declare const DEFAULT_PIXEL_FORMAT: PixelFormat;
|
|
5
|
-
export declare const validPixelFormatsForCodec: (codec: Codec) => readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"] | ("yuv420p" | "
|
|
5
|
+
export declare const validPixelFormatsForCodec: (codec: Codec) => readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"] | ("yuv420p" | "yuv422p" | "yuv444p" | "yuva420p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le")[];
|
|
6
6
|
export declare const validateSelectedPixelFormatAndCodecCombination: (pixelFormat: PixelFormat | undefined, codec: Codec) => undefined;
|
package/dist/pure.d.ts
CHANGED
|
@@ -4,10 +4,10 @@ export declare const NoReactAPIs: {
|
|
|
4
4
|
indent: boolean;
|
|
5
5
|
}, ...unknown[]], R>(fn: (...args: A) => Promise<R>) => (...args: A) => Promise<R>;
|
|
6
6
|
getExtensionOfFilename: (filename: string | null) => string | null;
|
|
7
|
-
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
8
|
-
validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
7
|
+
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif">(codec: T, audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
8
|
+
validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
9
9
|
codec: T_1;
|
|
10
|
-
audioCodecSetting: "
|
|
10
|
+
audioCodecSetting: "opus" | "aac" | "mp3" | "pcm-16" | null;
|
|
11
11
|
extension: string;
|
|
12
12
|
preferLossless: boolean;
|
|
13
13
|
separateAudioTo: string | null;
|
|
@@ -6,7 +6,10 @@ const validateEvenDimensionsWithCodec = ({ width, height, codec, scale, wantsIma
|
|
|
6
6
|
if (wantsImageSequence) {
|
|
7
7
|
return;
|
|
8
8
|
}
|
|
9
|
-
if (codec !== 'h264-mkv' &&
|
|
9
|
+
if (codec !== 'h264-mkv' &&
|
|
10
|
+
codec !== 'h264' &&
|
|
11
|
+
codec !== 'h265' &&
|
|
12
|
+
codec !== 'h264-ts') {
|
|
10
13
|
return;
|
|
11
14
|
}
|
|
12
15
|
const actualWidth = width * scale;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AudioCodec } from './options/audio-codec';
|
|
2
|
-
export declare const validateOutputFilename: <T extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
2
|
+
export declare const validateOutputFilename: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "h264-ts" | "gif">({ codec, audioCodecSetting, extension, preferLossless, separateAudioTo, }: {
|
|
3
3
|
codec: T;
|
|
4
4
|
audioCodecSetting: AudioCodec | null;
|
|
5
5
|
extension: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/renderer",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.160",
|
|
4
4
|
"description": "Renderer for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"extract-zip": "2.0.1",
|
|
19
19
|
"source-map": "^0.8.0-beta.0",
|
|
20
20
|
"ws": "8.7.0",
|
|
21
|
-
"remotion": "4.0.
|
|
21
|
+
"remotion": "4.0.160"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=16.8.0",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"@types/ws": "8.5.10"
|
|
44
44
|
},
|
|
45
45
|
"optionalDependencies": {
|
|
46
|
-
"@remotion/compositor-
|
|
47
|
-
"@remotion/compositor-
|
|
48
|
-
"@remotion/compositor-darwin-x64": "4.0.
|
|
49
|
-
"@remotion/compositor-linux-x64-gnu": "4.0.
|
|
50
|
-
"@remotion/compositor-linux-arm64-musl": "4.0.
|
|
51
|
-
"@remotion/compositor-linux-x64-musl": "4.0.
|
|
52
|
-
"@remotion/compositor-win32-x64-msvc": "4.0.
|
|
46
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.160",
|
|
47
|
+
"@remotion/compositor-darwin-arm64": "4.0.160",
|
|
48
|
+
"@remotion/compositor-darwin-x64": "4.0.160",
|
|
49
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.160",
|
|
50
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.160",
|
|
51
|
+
"@remotion/compositor-linux-x64-musl": "4.0.160",
|
|
52
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.160"
|
|
53
53
|
},
|
|
54
54
|
"keywords": [
|
|
55
55
|
"remotion",
|