@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 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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => import("./file-extensions").FileExtension;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => number;
7
- getValidCrfRanges: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => [number, number];
8
- isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null | undefined) => boolean;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"] | ("yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le")[];
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" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
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
- mp3: {
34
+ aac: {
35
35
  possible: import("./file-extensions").FileExtension[];
36
36
  default: import("./file-extensions").FileExtension;
37
37
  };
38
- aac: {
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
- "pcm-16": {
64
+ opus: {
65
65
  possible: import("./file-extensions").FileExtension[];
66
66
  default: import("./file-extensions").FileExtension;
67
67
  };
68
- opus: {
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
- "pcm-16": {
77
+ opus: {
78
78
  possible: import("./file-extensions").FileExtension[];
79
79
  default: import("./file-extensions").FileExtension;
80
80
  };
81
- opus: {
81
+ "pcm-16": {
82
82
  possible: import("./file-extensions").FileExtension[];
83
83
  default: import("./file-extensions").FileExtension;
84
84
  };
85
85
  };
86
86
  };
87
- mp3: {
87
+ prores: {
88
88
  default: import("./file-extensions").FileExtension;
89
89
  forAudioCodec: {
90
- mp3: {
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
- wav: {
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
- prores: {
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: "mp3" | "aac" | "pcm-16" | null;
156
- lossless: "mp3" | "aac" | "pcm-16" | null;
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: "pcm-16" | "opus" | null;
164
- lossless: "pcm-16" | "opus" | null;
163
+ compressed: "opus" | "pcm-16" | null;
164
+ lossless: "opus" | "pcm-16" | null;
165
165
  };
166
166
  vp9: {
167
- compressed: "pcm-16" | "opus" | null;
168
- lossless: "pcm-16" | "opus" | null;
167
+ compressed: "opus" | "pcm-16" | null;
168
+ lossless: "opus" | "pcm-16" | null;
169
169
  };
170
- mp3: {
171
- compressed: "mp3" | "pcm-16" | null;
172
- lossless: "mp3" | "pcm-16" | null;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
196
- validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
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: "mp3" | "aac" | "pcm-16" | "opus" | null;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
324
- uiCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
325
- compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
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: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
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: "default" | "bt709" | "bt2020-ncl";
366
+ type: "bt709" | "bt2020-ncl" | "default";
367
367
  getValue: ({ commandLine }: {
368
368
  commandLine: Record<string, unknown>;
369
369
  }) => {
370
370
  source: string;
371
- value: "default" | "bt709" | "bt2020-ncl";
371
+ value: "bt709" | "bt2020-ncl" | "default";
372
372
  };
373
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
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: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
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: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
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: "default" | "bt709" | "bt2020-ncl";
730
+ type: "bt709" | "bt2020-ncl" | "default";
731
731
  getValue: ({ commandLine }: {
732
732
  commandLine: Record<string, unknown>;
733
733
  }) => {
734
734
  source: string;
735
- value: "default" | "bt709" | "bt2020-ncl";
735
+ value: "bt709" | "bt2020-ncl" | "default";
736
736
  };
737
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
752
- uiCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
753
- compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
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: "default" | "bt709" | "bt2020-ncl";
1235
+ type: "bt709" | "bt2020-ncl" | "default";
1236
1236
  getValue: ({ commandLine }: {
1237
1237
  commandLine: Record<string, unknown>;
1238
1238
  }) => {
1239
1239
  source: string;
1240
- value: "default" | "bt709" | "bt2020-ncl";
1240
+ value: "bt709" | "bt2020-ncl" | "default";
1241
1241
  };
1242
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
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: "default" | "bt709" | "bt2020-ncl";
1481
+ type: "bt709" | "bt2020-ncl" | "default";
1482
1482
  getValue: ({ commandLine }: {
1483
1483
  commandLine: Record<string, unknown>;
1484
1484
  }) => {
1485
1485
  source: string;
1486
- value: "default" | "bt709" | "bt2020-ncl";
1486
+ value: "bt709" | "bt2020-ncl" | "default";
1487
1487
  };
1488
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
1765
- codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
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
  };
@@ -65,6 +65,7 @@ export type CompositorCommand = {
65
65
  original_src: string;
66
66
  time: number;
67
67
  transparent: boolean;
68
+ tone_mapped: boolean;
68
69
  };
69
70
  GetSilences: {
70
71
  src: string;
@@ -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 ? [] : ['-vf', 'zscale=m=709:min=709:r=limited'],
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
- : ['-vf', 'zscale=m=2020_ncl:min=2020_ncl:r=limited'],
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: AudioCodec | null) => FileExtension;
5
- export declare const makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => import("./file-extensions").FileExtension;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
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: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
143
- validateOpenGlRenderer: (option: unknown) => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
149
- isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null | undefined) => boolean;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
166
+ codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
167
167
  fps: number;
168
168
  numberOfGifLoops: number | null;
169
- audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
177
+ codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
178
178
  preferLossless: boolean;
179
- }) => "mp3" | "aac" | "pcm-16" | "opus" | null;
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
- mp3: {
185
+ aac: {
186
186
  possible: import("./file-extensions").FileExtension[];
187
187
  default: import("./file-extensions").FileExtension;
188
188
  };
189
- aac: {
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
- "pcm-16": {
215
+ opus: {
216
216
  possible: import("./file-extensions").FileExtension[];
217
217
  default: import("./file-extensions").FileExtension;
218
218
  };
219
- opus: {
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
- "pcm-16": {
228
+ opus: {
229
229
  possible: import("./file-extensions").FileExtension[];
230
230
  default: import("./file-extensions").FileExtension;
231
231
  };
232
- opus: {
232
+ "pcm-16": {
233
233
  possible: import("./file-extensions").FileExtension[];
234
234
  default: import("./file-extensions").FileExtension;
235
235
  };
236
236
  };
237
237
  };
238
- mp3: {
238
+ prores: {
239
239
  default: import("./file-extensions").FileExtension;
240
240
  forAudioCodec: {
241
- mp3: {
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
- wav: {
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
- prores: {
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
317
- defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
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: "jpeg" | "png" | "none";
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
- resolve(compositor.executeCommand('ExtractFrame', {
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: "default" | "bt709" | "bt2020-ncl";
9
+ type: "bt709" | "bt2020-ncl" | "default";
10
10
  getValue: ({ commandLine }: {
11
11
  commandLine: Record<string, unknown>;
12
12
  }) => {
13
13
  source: string;
14
- value: "default" | "bt709" | "bt2020-ncl";
14
+ value: "bt709" | "bt2020-ncl" | "default";
15
15
  };
16
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
16
+ setConfig: (value: "bt709" | "bt2020-ncl" | "default") => void;
17
17
  };
18
18
  export declare const validateColorSpace: (option: unknown) => void;
@@ -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: () => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
16
+ value: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
17
17
  source: string;
18
18
  } | {
19
19
  value: null;
@@ -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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
124
- uiCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
125
- compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
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: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
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: "default" | "bt709" | "bt2020-ncl";
166
+ type: "bt709" | "bt2020-ncl" | "default";
167
167
  getValue: ({ commandLine }: {
168
168
  commandLine: Record<string, unknown>;
169
169
  }) => {
170
170
  source: string;
171
- value: "default" | "bt709" | "bt2020-ncl";
171
+ value: "bt709" | "bt2020-ncl" | "default";
172
172
  };
173
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
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: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
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: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
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: "default" | "bt709" | "bt2020-ncl";
111
+ type: "bt709" | "bt2020-ncl" | "default";
112
112
  getValue: ({ commandLine }: {
113
113
  commandLine: Record<string, unknown>;
114
114
  }) => {
115
115
  source: string;
116
- value: "default" | "bt709" | "bt2020-ncl";
116
+ value: "bt709" | "bt2020-ncl" | "default";
117
117
  };
118
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
133
- uiCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
134
- compositionCodec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
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: "default" | "bt709" | "bt2020-ncl";
616
+ type: "bt709" | "bt2020-ncl" | "default";
617
617
  getValue: ({ commandLine }: {
618
618
  commandLine: Record<string, unknown>;
619
619
  }) => {
620
620
  source: string;
621
- value: "default" | "bt709" | "bt2020-ncl";
621
+ value: "bt709" | "bt2020-ncl" | "default";
622
622
  };
623
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
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: "default" | "bt709" | "bt2020-ncl";
862
+ type: "bt709" | "bt2020-ncl" | "default";
863
863
  getValue: ({ commandLine }: {
864
864
  commandLine: Record<string, unknown>;
865
865
  }) => {
866
866
  source: string;
867
- value: "default" | "bt709" | "bt2020-ncl";
867
+ value: "bt709" | "bt2020-ncl" | "default";
868
868
  };
869
- setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
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: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
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;
@@ -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" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le")[];
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">(codec: T, audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null) => import("./file-extensions").FileExtension;
5
- validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
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: "mp3" | "aac" | "pcm-16" | "opus" | null;
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" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
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.116",
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.116"
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.116",
44
- "@remotion/compositor-linux-arm64-gnu": "4.0.116",
45
- "@remotion/compositor-linux-x64-musl": "4.0.116",
46
- "@remotion/compositor-darwin-x64": "4.0.116",
47
- "@remotion/compositor-linux-arm64-musl": "4.0.116",
48
- "@remotion/compositor-linux-x64-gnu": "4.0.116",
49
- "@remotion/compositor-win32-x64-msvc": "4.0.116"
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",