@remotion/renderer 4.0.74 → 4.0.76

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,14 +1,15 @@
1
1
  /// <reference types="react" />
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
+ validPixelFormatsForCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"] | ("yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le")[];
12
13
  DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
13
14
  supportedAudioCodecs: {
14
15
  readonly h264: readonly ["aac", "pcm-16", "mp3"];
@@ -26,11 +27,11 @@ export declare const BrowserSafeApis: {
26
27
  h264: {
27
28
  default: import("./file-extensions").FileExtension;
28
29
  forAudioCodec: {
29
- mp3: {
30
+ aac: {
30
31
  possible: import("./file-extensions").FileExtension[];
31
32
  default: import("./file-extensions").FileExtension;
32
33
  };
33
- aac: {
34
+ mp3: {
34
35
  possible: import("./file-extensions").FileExtension[];
35
36
  default: import("./file-extensions").FileExtension;
36
37
  };
@@ -56,11 +57,11 @@ export declare const BrowserSafeApis: {
56
57
  vp8: {
57
58
  default: import("./file-extensions").FileExtension;
58
59
  forAudioCodec: {
59
- "pcm-16": {
60
+ opus: {
60
61
  possible: import("./file-extensions").FileExtension[];
61
62
  default: import("./file-extensions").FileExtension;
62
63
  };
63
- opus: {
64
+ "pcm-16": {
64
65
  possible: import("./file-extensions").FileExtension[];
65
66
  default: import("./file-extensions").FileExtension;
66
67
  };
@@ -69,20 +70,20 @@ export declare const BrowserSafeApis: {
69
70
  vp9: {
70
71
  default: import("./file-extensions").FileExtension;
71
72
  forAudioCodec: {
72
- "pcm-16": {
73
+ opus: {
73
74
  possible: import("./file-extensions").FileExtension[];
74
75
  default: import("./file-extensions").FileExtension;
75
76
  };
76
- opus: {
77
+ "pcm-16": {
77
78
  possible: import("./file-extensions").FileExtension[];
78
79
  default: import("./file-extensions").FileExtension;
79
80
  };
80
81
  };
81
82
  };
82
- mp3: {
83
+ prores: {
83
84
  default: import("./file-extensions").FileExtension;
84
85
  forAudioCodec: {
85
- mp3: {
86
+ aac: {
86
87
  possible: import("./file-extensions").FileExtension[];
87
88
  default: import("./file-extensions").FileExtension;
88
89
  };
@@ -105,22 +106,22 @@ export declare const BrowserSafeApis: {
105
106
  };
106
107
  };
107
108
  };
108
- wav: {
109
+ mp3: {
109
110
  default: import("./file-extensions").FileExtension;
110
111
  forAudioCodec: {
112
+ mp3: {
113
+ possible: import("./file-extensions").FileExtension[];
114
+ default: import("./file-extensions").FileExtension;
115
+ };
111
116
  "pcm-16": {
112
117
  possible: import("./file-extensions").FileExtension[];
113
118
  default: import("./file-extensions").FileExtension;
114
119
  };
115
120
  };
116
121
  };
117
- prores: {
122
+ wav: {
118
123
  default: import("./file-extensions").FileExtension;
119
124
  forAudioCodec: {
120
- aac: {
121
- possible: import("./file-extensions").FileExtension[];
122
- default: import("./file-extensions").FileExtension;
123
- };
124
125
  "pcm-16": {
125
126
  possible: import("./file-extensions").FileExtension[];
126
127
  default: import("./file-extensions").FileExtension;
@@ -147,37 +148,37 @@ export declare const BrowserSafeApis: {
147
148
  };
148
149
  defaultAudioCodecs: {
149
150
  h264: {
150
- compressed: "mp3" | "aac" | "pcm-16" | null;
151
- lossless: "mp3" | "aac" | "pcm-16" | null;
151
+ compressed: "aac" | "mp3" | "pcm-16" | null;
152
+ lossless: "aac" | "mp3" | "pcm-16" | null;
152
153
  };
153
154
  h265: {
154
155
  compressed: "aac" | "pcm-16" | null;
155
156
  lossless: "aac" | "pcm-16" | null;
156
157
  };
157
158
  vp8: {
158
- compressed: "pcm-16" | "opus" | null;
159
- lossless: "pcm-16" | "opus" | null;
159
+ compressed: "opus" | "pcm-16" | null;
160
+ lossless: "opus" | "pcm-16" | null;
160
161
  };
161
162
  vp9: {
162
- compressed: "pcm-16" | "opus" | null;
163
- lossless: "pcm-16" | "opus" | null;
163
+ compressed: "opus" | "pcm-16" | null;
164
+ lossless: "opus" | "pcm-16" | null;
164
165
  };
165
- mp3: {
166
- compressed: "mp3" | "pcm-16" | null;
167
- lossless: "mp3" | "pcm-16" | null;
166
+ prores: {
167
+ compressed: "aac" | "pcm-16" | null;
168
+ lossless: "aac" | "pcm-16" | null;
168
169
  };
169
170
  aac: {
170
171
  compressed: "aac" | "pcm-16" | null;
171
172
  lossless: "aac" | "pcm-16" | null;
172
173
  };
174
+ mp3: {
175
+ compressed: "mp3" | "pcm-16" | null;
176
+ lossless: "mp3" | "pcm-16" | null;
177
+ };
173
178
  wav: {
174
179
  compressed: "pcm-16" | null;
175
180
  lossless: "pcm-16" | null;
176
181
  };
177
- prores: {
178
- compressed: "aac" | "pcm-16" | null;
179
- lossless: "aac" | "pcm-16" | null;
180
- };
181
182
  "h264-mkv": {
182
183
  compressed: "mp3" | "pcm-16" | null;
183
184
  lossless: "mp3" | "pcm-16" | null;
@@ -187,10 +188,10 @@ export declare const BrowserSafeApis: {
187
188
  lossless: null;
188
189
  };
189
190
  };
190
- defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
191
- validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
191
+ defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">;
192
+ validateOutputFilename: <T_1 extends "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">({ codec, audioCodec, extension, preferLossless, }: {
192
193
  codec: T_1;
193
- audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
194
+ audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null;
194
195
  extension: string;
195
196
  preferLossless: boolean;
196
197
  }) => void;
@@ -281,7 +282,7 @@ export declare const BrowserSafeApis: {
281
282
  description: () => JSX.Element;
282
283
  docLink: string;
283
284
  ssrName: string;
284
- type: "default" | "bt709";
285
+ type: "bt709" | "default";
285
286
  };
286
287
  deleteAfterOption: {
287
288
  name: string;
@@ -407,6 +408,6 @@ export declare const BrowserSafeApis: {
407
408
  type: number | null;
408
409
  }];
409
410
  };
410
- codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
411
- codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
411
+ codecSupportsCrf: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => boolean;
412
+ codecSupportsVideoBitrate: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => boolean;
412
413
  };
package/dist/client.js CHANGED
@@ -25,6 +25,7 @@ exports.BrowserSafeApis = {
25
25
  proResProfileOptions: prores_profile_1.proResProfileOptions,
26
26
  x264PresetOptions: x264_preset_1.x264PresetOptions,
27
27
  validPixelFormats: pixel_format_1.validPixelFormats,
28
+ validPixelFormatsForCodec: pixel_format_1.validPixelFormatsForCodec,
28
29
  DEFAULT_PIXEL_FORMAT: pixel_format_1.DEFAULT_PIXEL_FORMAT,
29
30
  supportedAudioCodecs: audio_codec_1.supportedAudioCodecs,
30
31
  defaultFileExtensionMap: file_extensions_1.defaultFileExtensionMap,
@@ -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
@@ -67,10 +67,10 @@ export declare const RenderInternals: {
67
67
  width: number;
68
68
  height: number;
69
69
  scale: number;
70
- codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
70
+ codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
71
71
  wantsImageSequence: boolean;
72
72
  }) => void;
73
- 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;
73
+ 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;
74
74
  tmpDir: (str: string) => string;
75
75
  deleteDirectory: (directory: string) => void;
76
76
  isServeUrl: (potentialUrl: string) => boolean;
@@ -127,7 +127,7 @@ export declare const RenderInternals: {
127
127
  };
128
128
  registerErrorSymbolicationLock: () => number;
129
129
  unlockErrorSymbolicationLock: (id: number) => void;
130
- canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
130
+ canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => boolean;
131
131
  mimeContentType: typeof mimeContentType;
132
132
  mimeLookup: typeof mimeLookup;
133
133
  validateConcurrency: ({ setting, value, checkIfValidForCurrentMachine, }: {
@@ -144,8 +144,8 @@ export declare const RenderInternals: {
144
144
  DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
145
145
  validateJpegQuality: (q: number | undefined) => void;
146
146
  DEFAULT_TIMEOUT: number;
147
- DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
148
- isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null | undefined) => boolean;
147
+ DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
148
+ isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null | undefined) => boolean;
149
149
  logLevels: readonly ["verbose", "info", "warn", "error"];
150
150
  isEqualOrBelowLogLevel: (currentLevel: "verbose" | "info" | "warn" | "error", level: "verbose" | "info" | "warn" | "error") => boolean;
151
151
  isValidLogLevel: (level: string) => boolean;
@@ -162,10 +162,10 @@ export declare const RenderInternals: {
162
162
  output: string;
163
163
  onProgress: (p: number) => void;
164
164
  numberOfFrames: number;
165
- codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
165
+ codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
166
166
  fps: number;
167
167
  numberOfGifLoops: number | null;
168
- audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
168
+ audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null;
169
169
  audioBitrate: string | null;
170
170
  indent: boolean;
171
171
  logLevel: "verbose" | "info" | "warn" | "error";
@@ -173,19 +173,19 @@ export declare const RenderInternals: {
173
173
  getMinConcurrency: () => number;
174
174
  getMaxConcurrency: () => number;
175
175
  getDefaultAudioCodec: ({ codec, preferLossless, }: {
176
- codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
176
+ codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
177
177
  preferLossless: boolean;
178
- }) => "mp3" | "aac" | "pcm-16" | "opus" | null;
178
+ }) => "opus" | "aac" | "mp3" | "pcm-16" | null;
179
179
  validAudioCodecs: readonly ["pcm-16", "aac", "mp3", "opus"];
180
180
  defaultFileExtensionMap: {
181
181
  h264: {
182
182
  default: import("./file-extensions").FileExtension;
183
183
  forAudioCodec: {
184
- mp3: {
184
+ aac: {
185
185
  possible: import("./file-extensions").FileExtension[];
186
186
  default: import("./file-extensions").FileExtension;
187
187
  };
188
- aac: {
188
+ mp3: {
189
189
  possible: import("./file-extensions").FileExtension[];
190
190
  default: import("./file-extensions").FileExtension;
191
191
  };
@@ -211,11 +211,11 @@ export declare const RenderInternals: {
211
211
  vp8: {
212
212
  default: import("./file-extensions").FileExtension;
213
213
  forAudioCodec: {
214
- "pcm-16": {
214
+ opus: {
215
215
  possible: import("./file-extensions").FileExtension[];
216
216
  default: import("./file-extensions").FileExtension;
217
217
  };
218
- opus: {
218
+ "pcm-16": {
219
219
  possible: import("./file-extensions").FileExtension[];
220
220
  default: import("./file-extensions").FileExtension;
221
221
  };
@@ -224,20 +224,20 @@ export declare const RenderInternals: {
224
224
  vp9: {
225
225
  default: import("./file-extensions").FileExtension;
226
226
  forAudioCodec: {
227
- "pcm-16": {
227
+ opus: {
228
228
  possible: import("./file-extensions").FileExtension[];
229
229
  default: import("./file-extensions").FileExtension;
230
230
  };
231
- opus: {
231
+ "pcm-16": {
232
232
  possible: import("./file-extensions").FileExtension[];
233
233
  default: import("./file-extensions").FileExtension;
234
234
  };
235
235
  };
236
236
  };
237
- mp3: {
237
+ prores: {
238
238
  default: import("./file-extensions").FileExtension;
239
239
  forAudioCodec: {
240
- mp3: {
240
+ aac: {
241
241
  possible: import("./file-extensions").FileExtension[];
242
242
  default: import("./file-extensions").FileExtension;
243
243
  };
@@ -260,22 +260,22 @@ export declare const RenderInternals: {
260
260
  };
261
261
  };
262
262
  };
263
- wav: {
263
+ mp3: {
264
264
  default: import("./file-extensions").FileExtension;
265
265
  forAudioCodec: {
266
+ mp3: {
267
+ possible: import("./file-extensions").FileExtension[];
268
+ default: import("./file-extensions").FileExtension;
269
+ };
266
270
  "pcm-16": {
267
271
  possible: import("./file-extensions").FileExtension[];
268
272
  default: import("./file-extensions").FileExtension;
269
273
  };
270
274
  };
271
275
  };
272
- prores: {
276
+ wav: {
273
277
  default: import("./file-extensions").FileExtension;
274
278
  forAudioCodec: {
275
- aac: {
276
- possible: import("./file-extensions").FileExtension[];
277
- default: import("./file-extensions").FileExtension;
278
- };
279
279
  "pcm-16": {
280
280
  possible: import("./file-extensions").FileExtension[];
281
281
  default: import("./file-extensions").FileExtension;
@@ -312,9 +312,9 @@ export declare const RenderInternals: {
312
312
  readonly vp9: readonly ["opus", "pcm-16"];
313
313
  readonly wav: readonly ["pcm-16"];
314
314
  };
315
- makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif")[]>;
316
- defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif">;
317
- getExecutablePath: (type: "ffmpeg" | "ffprobe" | "compositor" | "ffmpeg-cwd", indent: boolean, logLevel: "verbose" | "info" | "warn" | "error") => string;
315
+ makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif")[]>;
316
+ defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif">;
317
+ getExecutablePath: (type: "compositor" | "ffmpeg" | "ffprobe" | "ffmpeg-cwd", indent: boolean, logLevel: "verbose" | "info" | "warn" | "error") => string;
318
318
  callFf: (bin: "ffmpeg" | "ffprobe", args: (string | null)[], indent: boolean, logLevel: "verbose" | "info" | "warn" | "error", options?: execa.Options<string> | undefined) => execa.ExecaChildProcess<string>;
319
319
  dynamicLibraryPathOptions: (indent: boolean, logLevel: "verbose" | "info" | "warn" | "error") => {
320
320
  env: {
@@ -331,7 +331,7 @@ export declare const RenderInternals: {
331
331
  validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
332
332
  validVideoImageFormats: readonly ["png", "jpeg", "none"];
333
333
  DEFAULT_STILL_IMAGE_FORMAT: "jpeg" | "png" | "webp" | "pdf";
334
- DEFAULT_VIDEO_IMAGE_FORMAT: "jpeg" | "png" | "none";
334
+ DEFAULT_VIDEO_IMAGE_FORMAT: "none" | "jpeg" | "png";
335
335
  DEFAULT_JPEG_QUALITY: number;
336
336
  chalk: {
337
337
  enabled: () => boolean;
@@ -7,6 +7,6 @@ export declare const colorSpaceOption: {
7
7
  description: () => JSX.Element;
8
8
  docLink: string;
9
9
  ssrName: string;
10
- type: "default" | "bt709";
10
+ type: "bt709" | "default";
11
11
  };
12
12
  export declare const validateColorSpace: (option: unknown) => void;
@@ -86,7 +86,7 @@ export declare const allOptions: {
86
86
  description: () => JSX.Element;
87
87
  docLink: string;
88
88
  ssrName: string;
89
- type: "default" | "bt709";
89
+ type: "bt709" | "default";
90
90
  };
91
91
  deleteAfterOption: {
92
92
  name: string;
@@ -5,7 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  exports.videoCodecOption = {
6
6
  name: 'Codec',
7
7
  cliFlag: 'codec',
8
- description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "H264 works well in most cases, but sometimes it's worth going for a different codec. WebM achieves higher compression but is slower to render. WebM and ProRes support transparency." })),
8
+ description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "H264 works well in most cases, but sometimes it's worth going for a different codec. WebM achieves higher compression but is slower to render. WebM, GIF and ProRes support transparency." })),
9
9
  ssrName: 'codec',
10
10
  docLink: 'https://www.remotion.dev/docs/encoding/#choosing-a-codec',
11
11
  type: '',
@@ -2,4 +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
6
  export declare const validateSelectedPixelFormatAndCodecCombination: (pixelFormat: PixelFormat | undefined, codec: Codec) => undefined;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateSelectedPixelFormatAndCodecCombination = exports.DEFAULT_PIXEL_FORMAT = exports.validPixelFormats = void 0;
3
+ exports.validateSelectedPixelFormatAndCodecCombination = exports.validPixelFormatsForCodec = exports.DEFAULT_PIXEL_FORMAT = exports.validPixelFormats = void 0;
4
4
  exports.validPixelFormats = [
5
5
  'yuv420p',
6
6
  'yuva420p',
@@ -12,6 +12,13 @@ exports.validPixelFormats = [
12
12
  'yuva444p10le',
13
13
  ];
14
14
  exports.DEFAULT_PIXEL_FORMAT = 'yuv420p';
15
+ const validPixelFormatsForCodec = (codec) => {
16
+ if (codec === 'vp8' || codec === 'vp9') {
17
+ return exports.validPixelFormats;
18
+ }
19
+ return exports.validPixelFormats.filter((format) => format !== 'yuva420p');
20
+ };
21
+ exports.validPixelFormatsForCodec = validPixelFormatsForCodec;
15
22
  const validateSelectedPixelFormatAndCodecCombination = (pixelFormat, codec) => {
16
23
  if (typeof pixelFormat === 'undefined') {
17
24
  return pixelFormat;
@@ -22,8 +29,9 @@ const validateSelectedPixelFormatAndCodecCombination = (pixelFormat, codec) => {
22
29
  if (pixelFormat !== 'yuva420p') {
23
30
  return;
24
31
  }
25
- if (codec !== 'vp8' && codec !== 'vp9') {
26
- throw new TypeError("Pixel format was set to 'yuva420p' but codec is not 'vp8' or 'vp9'. To render videos with alpha channel, you must choose a codec that supports it.");
32
+ const validFormats = (0, exports.validPixelFormatsForCodec)(codec);
33
+ if (!validFormats.includes(pixelFormat)) {
34
+ throw new TypeError(`Pixel format was set to 'yuva420p' but codec ${codec} does not support it. Valid pixel formats for codec ${codec} are: ${validFormats.join(', ')}.`);
27
35
  }
28
36
  };
29
37
  exports.validateSelectedPixelFormatAndCodecCombination = validateSelectedPixelFormatAndCodecCombination;
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import type { RenderMediaOnDownload } from './assets/download-and-map-assets-to-file';
2
3
  import type { RenderAssetInfo } from './assets/download-map';
3
4
  import type { AudioCodec } from './audio-codec';
@@ -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.74",
3
+ "version": "4.0.76",
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.74"
21
+ "remotion": "4.0.76"
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.74",
44
- "@remotion/compositor-darwin-x64": "4.0.74",
45
- "@remotion/compositor-linux-x64-gnu": "4.0.74",
46
- "@remotion/compositor-linux-arm64-gnu": "4.0.74",
47
- "@remotion/compositor-linux-arm64-musl": "4.0.74",
48
- "@remotion/compositor-win32-x64-msvc": "4.0.74",
49
- "@remotion/compositor-linux-x64-musl": "4.0.74"
43
+ "@remotion/compositor-darwin-arm64": "4.0.76",
44
+ "@remotion/compositor-darwin-x64": "4.0.76",
45
+ "@remotion/compositor-linux-arm64-musl": "4.0.76",
46
+ "@remotion/compositor-linux-arm64-gnu": "4.0.76",
47
+ "@remotion/compositor-linux-x64-musl": "4.0.76",
48
+ "@remotion/compositor-win32-x64-msvc": "4.0.76",
49
+ "@remotion/compositor-linux-x64-gnu": "4.0.76"
50
50
  },
51
51
  "keywords": [
52
52
  "remotion",