@remotion/renderer 4.0.116 → 4.0.118
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +64 -64
- package/dist/compositor/payloads.d.ts +1 -0
- package/dist/ffmpeg-args.js +10 -2
- package/dist/get-extension-from-codec.d.ts +2 -2
- package/dist/index.d.ts +29 -29
- package/dist/offthread-video-server.d.ts +1 -0
- package/dist/offthread-video-server.js +12 -3
- package/dist/options/color-space.d.ts +3 -3
- package/dist/options/gl.d.ts +3 -3
- package/dist/options/index.d.ts +12 -12
- package/dist/options/options-map.d.ts +14 -14
- package/dist/options/video-codec.d.ts +1 -1
- package/dist/options/webhook-custom-data.d.ts +1 -1
- package/dist/pixel-format.d.ts +1 -1
- package/dist/pure.d.ts +3 -3
- package/dist/validate-output-filename.d.ts +1 -1
- package/package.json +9 -9
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" | "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", "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" | "gif") => number;
|
|
7
|
+
getValidCrfRanges: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => [number, number];
|
|
8
|
+
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "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" | "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
|
supportedAudioCodecs: {
|
|
19
19
|
readonly h264: readonly ["aac", "pcm-16", "mp3"];
|
|
@@ -31,11 +31,11 @@ export declare const BrowserSafeApis: {
|
|
|
31
31
|
h264: {
|
|
32
32
|
default: import("./file-extensions").FileExtension;
|
|
33
33
|
forAudioCodec: {
|
|
34
|
-
|
|
34
|
+
aac: {
|
|
35
35
|
possible: import("./file-extensions").FileExtension[];
|
|
36
36
|
default: import("./file-extensions").FileExtension;
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
mp3: {
|
|
39
39
|
possible: import("./file-extensions").FileExtension[];
|
|
40
40
|
default: import("./file-extensions").FileExtension;
|
|
41
41
|
};
|
|
@@ -61,11 +61,11 @@ export declare const BrowserSafeApis: {
|
|
|
61
61
|
vp8: {
|
|
62
62
|
default: import("./file-extensions").FileExtension;
|
|
63
63
|
forAudioCodec: {
|
|
64
|
-
|
|
64
|
+
opus: {
|
|
65
65
|
possible: import("./file-extensions").FileExtension[];
|
|
66
66
|
default: import("./file-extensions").FileExtension;
|
|
67
67
|
};
|
|
68
|
-
|
|
68
|
+
"pcm-16": {
|
|
69
69
|
possible: import("./file-extensions").FileExtension[];
|
|
70
70
|
default: import("./file-extensions").FileExtension;
|
|
71
71
|
};
|
|
@@ -74,20 +74,20 @@ export declare const BrowserSafeApis: {
|
|
|
74
74
|
vp9: {
|
|
75
75
|
default: import("./file-extensions").FileExtension;
|
|
76
76
|
forAudioCodec: {
|
|
77
|
-
|
|
77
|
+
opus: {
|
|
78
78
|
possible: import("./file-extensions").FileExtension[];
|
|
79
79
|
default: import("./file-extensions").FileExtension;
|
|
80
80
|
};
|
|
81
|
-
|
|
81
|
+
"pcm-16": {
|
|
82
82
|
possible: import("./file-extensions").FileExtension[];
|
|
83
83
|
default: import("./file-extensions").FileExtension;
|
|
84
84
|
};
|
|
85
85
|
};
|
|
86
86
|
};
|
|
87
|
-
|
|
87
|
+
prores: {
|
|
88
88
|
default: import("./file-extensions").FileExtension;
|
|
89
89
|
forAudioCodec: {
|
|
90
|
-
|
|
90
|
+
aac: {
|
|
91
91
|
possible: import("./file-extensions").FileExtension[];
|
|
92
92
|
default: import("./file-extensions").FileExtension;
|
|
93
93
|
};
|
|
@@ -110,22 +110,22 @@ export declare const BrowserSafeApis: {
|
|
|
110
110
|
};
|
|
111
111
|
};
|
|
112
112
|
};
|
|
113
|
-
|
|
113
|
+
mp3: {
|
|
114
114
|
default: import("./file-extensions").FileExtension;
|
|
115
115
|
forAudioCodec: {
|
|
116
|
+
mp3: {
|
|
117
|
+
possible: import("./file-extensions").FileExtension[];
|
|
118
|
+
default: import("./file-extensions").FileExtension;
|
|
119
|
+
};
|
|
116
120
|
"pcm-16": {
|
|
117
121
|
possible: import("./file-extensions").FileExtension[];
|
|
118
122
|
default: import("./file-extensions").FileExtension;
|
|
119
123
|
};
|
|
120
124
|
};
|
|
121
125
|
};
|
|
122
|
-
|
|
126
|
+
wav: {
|
|
123
127
|
default: import("./file-extensions").FileExtension;
|
|
124
128
|
forAudioCodec: {
|
|
125
|
-
aac: {
|
|
126
|
-
possible: import("./file-extensions").FileExtension[];
|
|
127
|
-
default: import("./file-extensions").FileExtension;
|
|
128
|
-
};
|
|
129
129
|
"pcm-16": {
|
|
130
130
|
possible: import("./file-extensions").FileExtension[];
|
|
131
131
|
default: import("./file-extensions").FileExtension;
|
|
@@ -152,37 +152,37 @@ export declare const BrowserSafeApis: {
|
|
|
152
152
|
};
|
|
153
153
|
defaultAudioCodecs: {
|
|
154
154
|
h264: {
|
|
155
|
-
compressed: "
|
|
156
|
-
lossless: "
|
|
155
|
+
compressed: "aac" | "mp3" | "pcm-16" | null;
|
|
156
|
+
lossless: "aac" | "mp3" | "pcm-16" | null;
|
|
157
157
|
};
|
|
158
158
|
h265: {
|
|
159
159
|
compressed: "aac" | "pcm-16" | null;
|
|
160
160
|
lossless: "aac" | "pcm-16" | null;
|
|
161
161
|
};
|
|
162
162
|
vp8: {
|
|
163
|
-
compressed: "
|
|
164
|
-
lossless: "
|
|
163
|
+
compressed: "opus" | "pcm-16" | null;
|
|
164
|
+
lossless: "opus" | "pcm-16" | null;
|
|
165
165
|
};
|
|
166
166
|
vp9: {
|
|
167
|
-
compressed: "
|
|
168
|
-
lossless: "
|
|
167
|
+
compressed: "opus" | "pcm-16" | null;
|
|
168
|
+
lossless: "opus" | "pcm-16" | null;
|
|
169
169
|
};
|
|
170
|
-
|
|
171
|
-
compressed: "
|
|
172
|
-
lossless: "
|
|
170
|
+
prores: {
|
|
171
|
+
compressed: "aac" | "pcm-16" | null;
|
|
172
|
+
lossless: "aac" | "pcm-16" | null;
|
|
173
173
|
};
|
|
174
174
|
aac: {
|
|
175
175
|
compressed: "aac" | "pcm-16" | null;
|
|
176
176
|
lossless: "aac" | "pcm-16" | null;
|
|
177
177
|
};
|
|
178
|
+
mp3: {
|
|
179
|
+
compressed: "mp3" | "pcm-16" | null;
|
|
180
|
+
lossless: "mp3" | "pcm-16" | null;
|
|
181
|
+
};
|
|
178
182
|
wav: {
|
|
179
183
|
compressed: "pcm-16" | null;
|
|
180
184
|
lossless: "pcm-16" | null;
|
|
181
185
|
};
|
|
182
|
-
prores: {
|
|
183
|
-
compressed: "aac" | "pcm-16" | null;
|
|
184
|
-
lossless: "aac" | "pcm-16" | null;
|
|
185
|
-
};
|
|
186
186
|
"h264-mkv": {
|
|
187
187
|
compressed: "mp3" | "pcm-16" | null;
|
|
188
188
|
lossless: "mp3" | "pcm-16" | null;
|
|
@@ -192,10 +192,10 @@ export declare const BrowserSafeApis: {
|
|
|
192
192
|
lossless: null;
|
|
193
193
|
};
|
|
194
194
|
};
|
|
195
|
-
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "
|
|
196
|
-
validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
195
|
+
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">;
|
|
196
|
+
validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
|
|
197
197
|
codec: T_1;
|
|
198
|
-
audioCodec: "
|
|
198
|
+
audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null;
|
|
199
199
|
extension: string;
|
|
200
200
|
preferLossless: boolean;
|
|
201
201
|
}) => void;
|
|
@@ -314,17 +314,17 @@ export declare const BrowserSafeApis: {
|
|
|
314
314
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
315
315
|
ssrName: string;
|
|
316
316
|
docLink: string;
|
|
317
|
-
type: "h264" | "h265" | "vp8" | "vp9" | "
|
|
317
|
+
type: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
318
318
|
getValue: ({ commandLine }: {
|
|
319
319
|
commandLine: Record<string, unknown>;
|
|
320
320
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
321
321
|
outName: string | null;
|
|
322
322
|
downloadName: string | null;
|
|
323
|
-
configFile: "h264" | "h265" | "vp8" | "vp9" | "
|
|
324
|
-
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
325
|
-
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
323
|
+
configFile: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
324
|
+
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
325
|
+
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
326
326
|
}) => {
|
|
327
|
-
value: "h264" | "h265" | "vp8" | "vp9" | "
|
|
327
|
+
value: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
328
328
|
source: string;
|
|
329
329
|
};
|
|
330
330
|
setConfig: (newCodec: import("./codec").CodecOrUndefined) => void;
|
|
@@ -350,7 +350,7 @@ export declare const BrowserSafeApis: {
|
|
|
350
350
|
webhookCustomDataOption: {
|
|
351
351
|
name: string;
|
|
352
352
|
cliFlag: "webhook-custom-data";
|
|
353
|
-
description: (type: "
|
|
353
|
+
description: (type: "ssr" | "cli") => import("react/jsx-runtime").JSX.Element;
|
|
354
354
|
ssrName: "customData";
|
|
355
355
|
docLink: string;
|
|
356
356
|
type: Record<string, unknown> | null;
|
|
@@ -363,14 +363,14 @@ export declare const BrowserSafeApis: {
|
|
|
363
363
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
364
364
|
docLink: string;
|
|
365
365
|
ssrName: string;
|
|
366
|
-
type: "
|
|
366
|
+
type: "bt709" | "bt2020-ncl" | "default";
|
|
367
367
|
getValue: ({ commandLine }: {
|
|
368
368
|
commandLine: Record<string, unknown>;
|
|
369
369
|
}) => {
|
|
370
370
|
source: string;
|
|
371
|
-
value: "
|
|
371
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
372
372
|
};
|
|
373
|
-
setConfig: (value: "
|
|
373
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default") => void;
|
|
374
374
|
};
|
|
375
375
|
deleteAfterOption: {
|
|
376
376
|
name: string;
|
|
@@ -424,19 +424,19 @@ export declare const BrowserSafeApis: {
|
|
|
424
424
|
cliFlag: "gl";
|
|
425
425
|
docLink: string;
|
|
426
426
|
name: string;
|
|
427
|
-
type: "
|
|
427
|
+
type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
428
428
|
ssrName: string;
|
|
429
429
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
430
430
|
getValue: ({ commandLine }: {
|
|
431
431
|
commandLine: Record<string, unknown>;
|
|
432
432
|
}) => {
|
|
433
|
-
value: "
|
|
433
|
+
value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
434
434
|
source: string;
|
|
435
435
|
} | {
|
|
436
436
|
value: null;
|
|
437
437
|
source: string;
|
|
438
438
|
};
|
|
439
|
-
setConfig: (value: "
|
|
439
|
+
setConfig: (value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
440
440
|
};
|
|
441
441
|
enableLambdaInsights: {
|
|
442
442
|
name: string;
|
|
@@ -727,14 +727,14 @@ export declare const BrowserSafeApis: {
|
|
|
727
727
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
728
728
|
docLink: string;
|
|
729
729
|
ssrName: string;
|
|
730
|
-
type: "
|
|
730
|
+
type: "bt709" | "bt2020-ncl" | "default";
|
|
731
731
|
getValue: ({ commandLine }: {
|
|
732
732
|
commandLine: Record<string, unknown>;
|
|
733
733
|
}) => {
|
|
734
734
|
source: string;
|
|
735
|
-
value: "
|
|
735
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
736
736
|
};
|
|
737
|
-
setConfig: (value: "
|
|
737
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default") => void;
|
|
738
738
|
};
|
|
739
739
|
readonly codec: {
|
|
740
740
|
name: string;
|
|
@@ -742,17 +742,17 @@ export declare const BrowserSafeApis: {
|
|
|
742
742
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
743
743
|
ssrName: string;
|
|
744
744
|
docLink: string;
|
|
745
|
-
type: "h264" | "h265" | "vp8" | "vp9" | "
|
|
745
|
+
type: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
746
746
|
getValue: ({ commandLine }: {
|
|
747
747
|
commandLine: Record<string, unknown>;
|
|
748
748
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
749
749
|
outName: string | null;
|
|
750
750
|
downloadName: string | null;
|
|
751
|
-
configFile: "h264" | "h265" | "vp8" | "vp9" | "
|
|
752
|
-
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
753
|
-
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
751
|
+
configFile: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
752
|
+
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
753
|
+
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
754
754
|
}) => {
|
|
755
|
-
value: "h264" | "h265" | "vp8" | "vp9" | "
|
|
755
|
+
value: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
756
756
|
source: string;
|
|
757
757
|
};
|
|
758
758
|
setConfig: (newCodec: import("./codec").CodecOrUndefined) => void;
|
|
@@ -1232,14 +1232,14 @@ export declare const BrowserSafeApis: {
|
|
|
1232
1232
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1233
1233
|
docLink: string;
|
|
1234
1234
|
ssrName: string;
|
|
1235
|
-
type: "
|
|
1235
|
+
type: "bt709" | "bt2020-ncl" | "default";
|
|
1236
1236
|
getValue: ({ commandLine }: {
|
|
1237
1237
|
commandLine: Record<string, unknown>;
|
|
1238
1238
|
}) => {
|
|
1239
1239
|
source: string;
|
|
1240
|
-
value: "
|
|
1240
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
1241
1241
|
};
|
|
1242
|
-
setConfig: (value: "
|
|
1242
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default") => void;
|
|
1243
1243
|
};
|
|
1244
1244
|
readonly muted: {
|
|
1245
1245
|
name: string;
|
|
@@ -1478,14 +1478,14 @@ export declare const BrowserSafeApis: {
|
|
|
1478
1478
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1479
1479
|
docLink: string;
|
|
1480
1480
|
ssrName: string;
|
|
1481
|
-
type: "
|
|
1481
|
+
type: "bt709" | "bt2020-ncl" | "default";
|
|
1482
1482
|
getValue: ({ commandLine }: {
|
|
1483
1483
|
commandLine: Record<string, unknown>;
|
|
1484
1484
|
}) => {
|
|
1485
1485
|
source: string;
|
|
1486
|
-
value: "
|
|
1486
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
1487
1487
|
};
|
|
1488
|
-
setConfig: (value: "
|
|
1488
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default") => void;
|
|
1489
1489
|
};
|
|
1490
1490
|
readonly audioBitrate: {
|
|
1491
1491
|
name: string;
|
|
@@ -1761,8 +1761,8 @@ export declare const BrowserSafeApis: {
|
|
|
1761
1761
|
};
|
|
1762
1762
|
};
|
|
1763
1763
|
};
|
|
1764
|
-
codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
1765
|
-
codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
1764
|
+
codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => boolean;
|
|
1765
|
+
codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => boolean;
|
|
1766
1766
|
logLevels: readonly ["verbose", "info", "warn", "error"];
|
|
1767
1767
|
getOutputCodecOrUndefined: () => import("./codec").CodecOrUndefined;
|
|
1768
1768
|
};
|
package/dist/ffmpeg-args.js
CHANGED
|
@@ -35,7 +35,11 @@ const generateFfmpegArgs = ({ hasPreencoded, proResProfileName, pixelFormat, x26
|
|
|
35
35
|
['-color_primaries:v', 'bt709'],
|
|
36
36
|
['-color_trc:v', 'bt709'],
|
|
37
37
|
['-color_range', 'tv'],
|
|
38
|
-
hasPreencoded
|
|
38
|
+
hasPreencoded
|
|
39
|
+
? []
|
|
40
|
+
: // https://www.canva.dev/blog/engineering/a-journey-through-colour-space-with-ffmpeg/
|
|
41
|
+
// "Color range" section
|
|
42
|
+
['-vf', 'zscale=matrix=709:matrixin=709:range=limited'],
|
|
39
43
|
]
|
|
40
44
|
: colorSpace === 'bt2020-ncl'
|
|
41
45
|
? [
|
|
@@ -45,7 +49,11 @@ const generateFfmpegArgs = ({ hasPreencoded, proResProfileName, pixelFormat, x26
|
|
|
45
49
|
['-color_range', 'tv'],
|
|
46
50
|
hasPreencoded
|
|
47
51
|
? []
|
|
48
|
-
: [
|
|
52
|
+
: [
|
|
53
|
+
'-vf',
|
|
54
|
+
// ChatGPT: Therefore, just like BT.709, BT.2020 also uses the limited range where the digital code value for black is at 16,16,16 and not 0,0,0 in an 8-bit video system.
|
|
55
|
+
'zscale=matrix=2020_ncl:matrixin=2020_ncl:range=limited',
|
|
56
|
+
],
|
|
49
57
|
]
|
|
50
58
|
: [];
|
|
51
59
|
return [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AudioCodec } from './audio-codec';
|
|
2
2
|
import type { Codec } from './codec';
|
|
3
3
|
import type { FileExtension } from './file-extensions';
|
|
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" | "gif">(codec: T, audioCodec: AudioCodec | null) => FileExtension;
|
|
5
|
+
export declare const makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif")[]>;
|
|
6
6
|
export declare const defaultCodecsForFileExtension: Record<FileExtension, Codec>;
|
package/dist/index.d.ts
CHANGED
|
@@ -68,10 +68,10 @@ export declare const RenderInternals: {
|
|
|
68
68
|
width: number;
|
|
69
69
|
height: number;
|
|
70
70
|
scale: number;
|
|
71
|
-
codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
71
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
72
72
|
wantsImageSequence: boolean;
|
|
73
73
|
}) => void;
|
|
74
|
-
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
74
|
+
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">(codec: T, audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
75
75
|
tmpDir: (str: string) => string;
|
|
76
76
|
deleteDirectory: (directory: string) => void;
|
|
77
77
|
isServeUrl: (potentialUrl: string) => boolean;
|
|
@@ -128,7 +128,7 @@ export declare const RenderInternals: {
|
|
|
128
128
|
};
|
|
129
129
|
registerErrorSymbolicationLock: () => number;
|
|
130
130
|
unlockErrorSymbolicationLock: (id: number) => void;
|
|
131
|
-
canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
131
|
+
canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => boolean;
|
|
132
132
|
mimeContentType: typeof mimeContentType;
|
|
133
133
|
mimeLookup: typeof mimeLookup;
|
|
134
134
|
validateConcurrency: ({ setting, value, checkIfValidForCurrentMachine, }: {
|
|
@@ -139,14 +139,14 @@ export declare const RenderInternals: {
|
|
|
139
139
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
140
140
|
DEFAULT_BROWSER: "chrome";
|
|
141
141
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
142
|
-
DEFAULT_OPENGL_RENDERER: "
|
|
143
|
-
validateOpenGlRenderer: (option: unknown) => "
|
|
142
|
+
DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
143
|
+
validateOpenGlRenderer: (option: unknown) => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
144
144
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
|
|
145
|
-
DEFAULT_PIXEL_FORMAT: "yuv420p" | "
|
|
145
|
+
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuv422p" | "yuv444p" | "yuva420p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
146
146
|
validateJpegQuality: (q: unknown) => void;
|
|
147
147
|
DEFAULT_TIMEOUT: number;
|
|
148
|
-
DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "
|
|
149
|
-
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
148
|
+
DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
149
|
+
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null | undefined) => boolean;
|
|
150
150
|
logLevels: readonly ["verbose", "info", "warn", "error"];
|
|
151
151
|
isEqualOrBelowLogLevel: (currentLevel: "verbose" | "info" | "warn" | "error", level: "verbose" | "info" | "warn" | "error") => boolean;
|
|
152
152
|
isValidLogLevel: (level: string) => boolean;
|
|
@@ -163,10 +163,10 @@ export declare const RenderInternals: {
|
|
|
163
163
|
output: string;
|
|
164
164
|
onProgress: (p: number) => void;
|
|
165
165
|
numberOfFrames: number;
|
|
166
|
-
codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
166
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
167
167
|
fps: number;
|
|
168
168
|
numberOfGifLoops: number | null;
|
|
169
|
-
audioCodec: "
|
|
169
|
+
audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null;
|
|
170
170
|
audioBitrate: string | null;
|
|
171
171
|
indent: boolean;
|
|
172
172
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
@@ -174,19 +174,19 @@ export declare const RenderInternals: {
|
|
|
174
174
|
getMinConcurrency: () => number;
|
|
175
175
|
getMaxConcurrency: () => number;
|
|
176
176
|
getDefaultAudioCodec: ({ codec, preferLossless, }: {
|
|
177
|
-
codec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
177
|
+
codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
178
178
|
preferLossless: boolean;
|
|
179
|
-
}) => "
|
|
179
|
+
}) => "opus" | "aac" | "mp3" | "pcm-16" | null;
|
|
180
180
|
validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
|
|
181
181
|
defaultFileExtensionMap: {
|
|
182
182
|
h264: {
|
|
183
183
|
default: import("./file-extensions").FileExtension;
|
|
184
184
|
forAudioCodec: {
|
|
185
|
-
|
|
185
|
+
aac: {
|
|
186
186
|
possible: import("./file-extensions").FileExtension[];
|
|
187
187
|
default: import("./file-extensions").FileExtension;
|
|
188
188
|
};
|
|
189
|
-
|
|
189
|
+
mp3: {
|
|
190
190
|
possible: import("./file-extensions").FileExtension[];
|
|
191
191
|
default: import("./file-extensions").FileExtension;
|
|
192
192
|
};
|
|
@@ -212,11 +212,11 @@ export declare const RenderInternals: {
|
|
|
212
212
|
vp8: {
|
|
213
213
|
default: import("./file-extensions").FileExtension;
|
|
214
214
|
forAudioCodec: {
|
|
215
|
-
|
|
215
|
+
opus: {
|
|
216
216
|
possible: import("./file-extensions").FileExtension[];
|
|
217
217
|
default: import("./file-extensions").FileExtension;
|
|
218
218
|
};
|
|
219
|
-
|
|
219
|
+
"pcm-16": {
|
|
220
220
|
possible: import("./file-extensions").FileExtension[];
|
|
221
221
|
default: import("./file-extensions").FileExtension;
|
|
222
222
|
};
|
|
@@ -225,20 +225,20 @@ export declare const RenderInternals: {
|
|
|
225
225
|
vp9: {
|
|
226
226
|
default: import("./file-extensions").FileExtension;
|
|
227
227
|
forAudioCodec: {
|
|
228
|
-
|
|
228
|
+
opus: {
|
|
229
229
|
possible: import("./file-extensions").FileExtension[];
|
|
230
230
|
default: import("./file-extensions").FileExtension;
|
|
231
231
|
};
|
|
232
|
-
|
|
232
|
+
"pcm-16": {
|
|
233
233
|
possible: import("./file-extensions").FileExtension[];
|
|
234
234
|
default: import("./file-extensions").FileExtension;
|
|
235
235
|
};
|
|
236
236
|
};
|
|
237
237
|
};
|
|
238
|
-
|
|
238
|
+
prores: {
|
|
239
239
|
default: import("./file-extensions").FileExtension;
|
|
240
240
|
forAudioCodec: {
|
|
241
|
-
|
|
241
|
+
aac: {
|
|
242
242
|
possible: import("./file-extensions").FileExtension[];
|
|
243
243
|
default: import("./file-extensions").FileExtension;
|
|
244
244
|
};
|
|
@@ -261,22 +261,22 @@ export declare const RenderInternals: {
|
|
|
261
261
|
};
|
|
262
262
|
};
|
|
263
263
|
};
|
|
264
|
-
|
|
264
|
+
mp3: {
|
|
265
265
|
default: import("./file-extensions").FileExtension;
|
|
266
266
|
forAudioCodec: {
|
|
267
|
+
mp3: {
|
|
268
|
+
possible: import("./file-extensions").FileExtension[];
|
|
269
|
+
default: import("./file-extensions").FileExtension;
|
|
270
|
+
};
|
|
267
271
|
"pcm-16": {
|
|
268
272
|
possible: import("./file-extensions").FileExtension[];
|
|
269
273
|
default: import("./file-extensions").FileExtension;
|
|
270
274
|
};
|
|
271
275
|
};
|
|
272
276
|
};
|
|
273
|
-
|
|
277
|
+
wav: {
|
|
274
278
|
default: import("./file-extensions").FileExtension;
|
|
275
279
|
forAudioCodec: {
|
|
276
|
-
aac: {
|
|
277
|
-
possible: import("./file-extensions").FileExtension[];
|
|
278
|
-
default: import("./file-extensions").FileExtension;
|
|
279
|
-
};
|
|
280
280
|
"pcm-16": {
|
|
281
281
|
possible: import("./file-extensions").FileExtension[];
|
|
282
282
|
default: import("./file-extensions").FileExtension;
|
|
@@ -313,8 +313,8 @@ export declare const RenderInternals: {
|
|
|
313
313
|
readonly vp9: readonly ["opus", "pcm-16"];
|
|
314
314
|
readonly wav: readonly ["pcm-16"];
|
|
315
315
|
};
|
|
316
|
-
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "
|
|
317
|
-
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "
|
|
316
|
+
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif")[]>;
|
|
317
|
+
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">;
|
|
318
318
|
getExecutablePath: (type: "ffmpeg" | "ffprobe" | "compositor", indent: boolean, logLevel: "verbose" | "info" | "warn" | "error") => string;
|
|
319
319
|
callFf: ({ args, bin, indent, logLevel, options, }: {
|
|
320
320
|
bin: "ffmpeg" | "ffprobe";
|
|
@@ -326,7 +326,7 @@ export declare const RenderInternals: {
|
|
|
326
326
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
327
327
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
328
328
|
DEFAULT_STILL_IMAGE_FORMAT: "jpeg" | "png" | "webp" | "pdf";
|
|
329
|
-
DEFAULT_VIDEO_IMAGE_FORMAT: "
|
|
329
|
+
DEFAULT_VIDEO_IMAGE_FORMAT: "none" | "jpeg" | "png";
|
|
330
330
|
DEFAULT_JPEG_QUALITY: number;
|
|
331
331
|
chalk: {
|
|
332
332
|
enabled: () => boolean;
|
|
@@ -6,6 +6,7 @@ export declare const extractUrlAndSourceFromUrl: (url: string) => {
|
|
|
6
6
|
src: string;
|
|
7
7
|
time: number;
|
|
8
8
|
transparent: boolean;
|
|
9
|
+
toneMapped: boolean;
|
|
9
10
|
};
|
|
10
11
|
export declare const startOffthreadVideoServer: ({ downloadMap, concurrency, logLevel, indent, offthreadVideoCacheSizeInBytes, }: {
|
|
11
12
|
downloadMap: DownloadMap;
|
|
@@ -23,10 +23,15 @@ const extractUrlAndSourceFromUrl = (url) => {
|
|
|
23
23
|
throw new Error('Did not get `time` parameter');
|
|
24
24
|
}
|
|
25
25
|
const transparent = params.get('transparent');
|
|
26
|
+
const toneMapped = params.get('toneMapped');
|
|
27
|
+
if (!toneMapped) {
|
|
28
|
+
throw new Error('Did not get `toneMapped` parameter');
|
|
29
|
+
}
|
|
26
30
|
return {
|
|
27
31
|
src,
|
|
28
32
|
time: parseFloat(time),
|
|
29
33
|
transparent: transparent === 'true',
|
|
34
|
+
toneMapped: toneMapped === 'true',
|
|
30
35
|
};
|
|
31
36
|
};
|
|
32
37
|
exports.extractUrlAndSourceFromUrl = extractUrlAndSourceFromUrl;
|
|
@@ -61,7 +66,7 @@ const startOffthreadVideoServer = ({ downloadMap, concurrency, logLevel, indent,
|
|
|
61
66
|
response.end();
|
|
62
67
|
return;
|
|
63
68
|
}
|
|
64
|
-
const { src, time, transparent } = (0, exports.extractUrlAndSourceFromUrl)(req.url);
|
|
69
|
+
const { src, time, transparent, toneMapped } = (0, exports.extractUrlAndSourceFromUrl)(req.url);
|
|
65
70
|
response.setHeader('access-control-allow-origin', '*');
|
|
66
71
|
if (transparent) {
|
|
67
72
|
response.setHeader('content-type', `image/png`);
|
|
@@ -96,12 +101,16 @@ const startOffthreadVideoServer = ({ downloadMap, concurrency, logLevel, indent,
|
|
|
96
101
|
return;
|
|
97
102
|
}
|
|
98
103
|
extractStart = Date.now();
|
|
99
|
-
|
|
104
|
+
compositor
|
|
105
|
+
.executeCommand('ExtractFrame', {
|
|
100
106
|
src: to,
|
|
101
107
|
original_src: src,
|
|
102
108
|
time,
|
|
103
109
|
transparent,
|
|
104
|
-
|
|
110
|
+
tone_mapped: toneMapped,
|
|
111
|
+
})
|
|
112
|
+
.then(resolve)
|
|
113
|
+
.catch(reject);
|
|
105
114
|
});
|
|
106
115
|
})
|
|
107
116
|
.then((readable) => {
|
|
@@ -6,13 +6,13 @@ export declare const colorSpaceOption: {
|
|
|
6
6
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
docLink: string;
|
|
8
8
|
ssrName: string;
|
|
9
|
-
type: "
|
|
9
|
+
type: "bt709" | "bt2020-ncl" | "default";
|
|
10
10
|
getValue: ({ commandLine }: {
|
|
11
11
|
commandLine: Record<string, unknown>;
|
|
12
12
|
}) => {
|
|
13
13
|
source: string;
|
|
14
|
-
value: "
|
|
14
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
15
15
|
};
|
|
16
|
-
setConfig: (value: "
|
|
16
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default") => void;
|
|
17
17
|
};
|
|
18
18
|
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: () => "angle" | "swangle" | "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: "angle" | "swangle" | "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: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
17
17
|
source: string;
|
|
18
18
|
} | {
|
|
19
19
|
value: null;
|
package/dist/options/index.d.ts
CHANGED
|
@@ -114,17 +114,17 @@ export declare const allOptions: {
|
|
|
114
114
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
115
115
|
ssrName: string;
|
|
116
116
|
docLink: string;
|
|
117
|
-
type: "h264" | "h265" | "vp8" | "vp9" | "
|
|
117
|
+
type: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
118
118
|
getValue: ({ commandLine }: {
|
|
119
119
|
commandLine: Record<string, unknown>;
|
|
120
120
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
121
121
|
outName: string | null;
|
|
122
122
|
downloadName: string | null;
|
|
123
|
-
configFile: "h264" | "h265" | "vp8" | "vp9" | "
|
|
124
|
-
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
125
|
-
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "
|
|
123
|
+
configFile: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
124
|
+
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
125
|
+
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
126
126
|
}) => {
|
|
127
|
-
value: "h264" | "h265" | "vp8" | "vp9" | "
|
|
127
|
+
value: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
128
128
|
source: string;
|
|
129
129
|
};
|
|
130
130
|
setConfig: (newCodec: import("..").CodecOrUndefined) => void;
|
|
@@ -150,7 +150,7 @@ export declare const allOptions: {
|
|
|
150
150
|
webhookCustomDataOption: {
|
|
151
151
|
name: string;
|
|
152
152
|
cliFlag: "webhook-custom-data";
|
|
153
|
-
description: (type: "
|
|
153
|
+
description: (type: "ssr" | "cli") => import("react/jsx-runtime").JSX.Element;
|
|
154
154
|
ssrName: "customData";
|
|
155
155
|
docLink: string;
|
|
156
156
|
type: Record<string, unknown> | null;
|
|
@@ -163,14 +163,14 @@ export declare const allOptions: {
|
|
|
163
163
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
164
164
|
docLink: string;
|
|
165
165
|
ssrName: string;
|
|
166
|
-
type: "
|
|
166
|
+
type: "bt709" | "bt2020-ncl" | "default";
|
|
167
167
|
getValue: ({ commandLine }: {
|
|
168
168
|
commandLine: Record<string, unknown>;
|
|
169
169
|
}) => {
|
|
170
170
|
source: string;
|
|
171
|
-
value: "
|
|
171
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
172
172
|
};
|
|
173
|
-
setConfig: (value: "
|
|
173
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default") => void;
|
|
174
174
|
};
|
|
175
175
|
deleteAfterOption: {
|
|
176
176
|
name: string;
|
|
@@ -224,19 +224,19 @@ export declare const allOptions: {
|
|
|
224
224
|
cliFlag: "gl";
|
|
225
225
|
docLink: string;
|
|
226
226
|
name: string;
|
|
227
|
-
type: "
|
|
227
|
+
type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
228
228
|
ssrName: string;
|
|
229
229
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
230
230
|
getValue: ({ commandLine }: {
|
|
231
231
|
commandLine: Record<string, unknown>;
|
|
232
232
|
}) => {
|
|
233
|
-
value: "
|
|
233
|
+
value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
234
234
|
source: string;
|
|
235
235
|
} | {
|
|
236
236
|
value: null;
|
|
237
237
|
source: string;
|
|
238
238
|
};
|
|
239
|
-
setConfig: (value: "
|
|
239
|
+
setConfig: (value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
240
240
|
};
|
|
241
241
|
enableLambdaInsights: {
|
|
242
242
|
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";
|
|
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") => 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" | "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" | "gif" | null;
|
|
133
|
+
uiCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
134
|
+
compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null;
|
|
135
135
|
}) => {
|
|
136
|
-
value: "h264" | "h265" | "vp8" | "vp9" | "
|
|
136
|
+
value: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
|
|
137
137
|
source: string;
|
|
138
138
|
};
|
|
139
139
|
setConfig: (newCodec: import("..").CodecOrUndefined) => void;
|
|
@@ -613,14 +613,14 @@ export declare const optionsMap: {
|
|
|
613
613
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
614
614
|
docLink: string;
|
|
615
615
|
ssrName: string;
|
|
616
|
-
type: "
|
|
616
|
+
type: "bt709" | "bt2020-ncl" | "default";
|
|
617
617
|
getValue: ({ commandLine }: {
|
|
618
618
|
commandLine: Record<string, unknown>;
|
|
619
619
|
}) => {
|
|
620
620
|
source: string;
|
|
621
|
-
value: "
|
|
621
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
622
622
|
};
|
|
623
|
-
setConfig: (value: "
|
|
623
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default") => void;
|
|
624
624
|
};
|
|
625
625
|
readonly muted: {
|
|
626
626
|
name: string;
|
|
@@ -859,14 +859,14 @@ export declare const optionsMap: {
|
|
|
859
859
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
860
860
|
docLink: string;
|
|
861
861
|
ssrName: string;
|
|
862
|
-
type: "
|
|
862
|
+
type: "bt709" | "bt2020-ncl" | "default";
|
|
863
863
|
getValue: ({ commandLine }: {
|
|
864
864
|
commandLine: Record<string, unknown>;
|
|
865
865
|
}) => {
|
|
866
866
|
source: string;
|
|
867
|
-
value: "
|
|
867
|
+
value: "bt709" | "bt2020-ncl" | "default";
|
|
868
868
|
};
|
|
869
|
-
setConfig: (value: "
|
|
869
|
+
setConfig: (value: "bt709" | "bt2020-ncl" | "default") => void;
|
|
870
870
|
};
|
|
871
871
|
readonly audioBitrate: {
|
|
872
872
|
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" | "gif";
|
|
10
10
|
getValue: ({ commandLine }: {
|
|
11
11
|
commandLine: Record<string, unknown>;
|
|
12
12
|
}, { compositionCodec, configFile, downloadName, outName, uiCodec, }: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const webhookCustomDataOption: {
|
|
2
2
|
name: string;
|
|
3
3
|
cliFlag: "webhook-custom-data";
|
|
4
|
-
description: (type: "
|
|
4
|
+
description: (type: "ssr" | "cli") => import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
ssrName: "customData";
|
|
6
6
|
docLink: string;
|
|
7
7
|
type: Record<string, unknown> | 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
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export declare const NoReactAPIs: {
|
|
2
2
|
wrapWithErrorHandling: <A extends unknown[], R>(fn: (...args: A) => Promise<R>) => (...args: A) => Promise<R>;
|
|
3
3
|
getExtensionOfFilename: (filename: string | null) => string | null;
|
|
4
|
-
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
5
|
-
validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "
|
|
4
|
+
getFileExtensionFromCodec: <T extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">(codec: T, audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null) => import("./file-extensions").FileExtension;
|
|
5
|
+
validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
|
|
6
6
|
codec: T_1;
|
|
7
|
-
audioCodec: "
|
|
7
|
+
audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null;
|
|
8
8
|
extension: string;
|
|
9
9
|
preferLossless: boolean;
|
|
10
10
|
}) => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AudioCodec } from './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" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
|
|
3
3
|
codec: T;
|
|
4
4
|
audioCodec: 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.118",
|
|
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.118"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=16.8.0",
|
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
"vitest": "0.31.1"
|
|
41
41
|
},
|
|
42
42
|
"optionalDependencies": {
|
|
43
|
-
"@remotion/compositor-darwin-arm64": "4.0.
|
|
44
|
-
"@remotion/compositor-
|
|
45
|
-
"@remotion/compositor-linux-
|
|
46
|
-
"@remotion/compositor-
|
|
47
|
-
"@remotion/compositor-linux-
|
|
48
|
-
"@remotion/compositor-
|
|
49
|
-
"@remotion/compositor-
|
|
43
|
+
"@remotion/compositor-darwin-arm64": "4.0.118",
|
|
44
|
+
"@remotion/compositor-darwin-x64": "4.0.118",
|
|
45
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.118",
|
|
46
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.118",
|
|
47
|
+
"@remotion/compositor-linux-x64-musl": "4.0.118",
|
|
48
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.118",
|
|
49
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.118"
|
|
50
50
|
},
|
|
51
51
|
"keywords": [
|
|
52
52
|
"remotion",
|