@remotion/renderer 4.0.77 → 4.0.80

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.
Files changed (42) hide show
  1. package/dist/assets/download-file.js +6 -1
  2. package/dist/client.d.ts +179 -126
  3. package/dist/compositor/payloads.d.ts +1 -0
  4. package/dist/crf.d.ts +4 -2
  5. package/dist/crf.js +11 -4
  6. package/dist/ffmpeg-args.d.ts +4 -2
  7. package/dist/ffmpeg-args.js +6 -2
  8. package/dist/get-extension-from-codec.d.ts +2 -2
  9. package/dist/index.d.ts +60 -54
  10. package/dist/open-browser.js +3 -0
  11. package/dist/options/audio-bitrate.d.ts +1 -1
  12. package/dist/options/color-space.d.ts +1 -1
  13. package/dist/options/crf.d.ts +1 -1
  14. package/dist/options/enable-lambda-insights.d.ts +1 -1
  15. package/dist/options/encoding-buffer-size.d.ts +9 -0
  16. package/dist/options/encoding-buffer-size.js +12 -0
  17. package/dist/options/encoding-max-rate.d.ts +9 -0
  18. package/dist/options/encoding-max-rate.js +12 -0
  19. package/dist/options/enforce-audio.d.ts +1 -1
  20. package/dist/options/gl.d.ts +1 -1
  21. package/dist/options/index.d.ts +28 -11
  22. package/dist/options/index.js +5 -1
  23. package/dist/options/jpeg-quality.d.ts +1 -1
  24. package/dist/options/offthreadvideo-cache-size.d.ts +1 -1
  25. package/dist/options/offthreadvideo-cache-size.js +2 -2
  26. package/dist/options/option.d.ts +2 -2
  27. package/dist/options/options-map.d.ts +116 -80
  28. package/dist/options/options-map.js +33 -10
  29. package/dist/options/scale.d.ts +1 -1
  30. package/dist/options/video-bitrate.d.ts +1 -1
  31. package/dist/options/video-codec.d.ts +1 -1
  32. package/dist/pixel-format.d.ts +1 -1
  33. package/dist/prespawn-ffmpeg.d.ts +2 -0
  34. package/dist/prespawn-ffmpeg.js +2 -0
  35. package/dist/print-useful-error-message.js +1 -1
  36. package/dist/render-media.d.ts +12 -4
  37. package/dist/render-media.js +15 -3
  38. package/dist/seek-to-frame.js +8 -3
  39. package/dist/stitch-frames-to-video.d.ts +5 -1
  40. package/dist/stitch-frames-to-video.js +11 -2
  41. package/dist/validate-output-filename.d.ts +1 -1
  42. package/package.json +9 -9
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" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
70
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
71
71
  wantsImageSequence: boolean;
72
72
  }) => void;
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;
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;
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" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif") => boolean;
130
+ canUseParallelEncoding: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif") => boolean;
131
131
  mimeContentType: typeof mimeContentType;
132
132
  mimeLookup: typeof mimeLookup;
133
133
  validateConcurrency: ({ setting, value, checkIfValidForCurrentMachine, }: {
@@ -138,14 +138,14 @@ export declare const RenderInternals: {
138
138
  validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
139
139
  DEFAULT_BROWSER: "chrome";
140
140
  validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
141
- DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
142
- validateOpenGlRenderer: (option: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
141
+ DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
142
+ validateOpenGlRenderer: (option: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
143
143
  validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
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" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
148
- isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif" | null | undefined) => boolean;
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;
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" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
165
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
166
166
  fps: number;
167
167
  numberOfGifLoops: number | null;
168
- audioCodec: "opus" | "aac" | "mp3" | "pcm-16" | null;
168
+ audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | 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" | "prores" | "aac" | "mp3" | "wav" | "h264-mkv" | "gif";
176
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
177
177
  preferLossless: boolean;
178
- }) => "opus" | "aac" | "mp3" | "pcm-16" | null;
178
+ }) => "mp3" | "aac" | "pcm-16" | "opus" | 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
- aac: {
184
+ mp3: {
185
185
  possible: import("./file-extensions").FileExtension[];
186
186
  default: import("./file-extensions").FileExtension;
187
187
  };
188
- mp3: {
188
+ aac: {
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
- opus: {
214
+ "pcm-16": {
215
215
  possible: import("./file-extensions").FileExtension[];
216
216
  default: import("./file-extensions").FileExtension;
217
217
  };
218
- "pcm-16": {
218
+ opus: {
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
- opus: {
227
+ "pcm-16": {
228
228
  possible: import("./file-extensions").FileExtension[];
229
229
  default: import("./file-extensions").FileExtension;
230
230
  };
231
- "pcm-16": {
231
+ opus: {
232
232
  possible: import("./file-extensions").FileExtension[];
233
233
  default: import("./file-extensions").FileExtension;
234
234
  };
235
235
  };
236
236
  };
237
- prores: {
237
+ mp3: {
238
238
  default: import("./file-extensions").FileExtension;
239
239
  forAudioCodec: {
240
- aac: {
240
+ mp3: {
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
- mp3: {
263
+ wav: {
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
- };
270
266
  "pcm-16": {
271
267
  possible: import("./file-extensions").FileExtension[];
272
268
  default: import("./file-extensions").FileExtension;
273
269
  };
274
270
  };
275
271
  };
276
- wav: {
272
+ prores: {
277
273
  default: import("./file-extensions").FileExtension;
278
274
  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,8 +312,8 @@ 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" | "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">;
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
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") => {
@@ -330,8 +330,8 @@ export declare const RenderInternals: {
330
330
  };
331
331
  validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
332
332
  validVideoImageFormats: readonly ["png", "jpeg", "none"];
333
- DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
334
- DEFAULT_VIDEO_IMAGE_FORMAT: "png" | "jpeg" | "none";
333
+ DEFAULT_STILL_IMAGE_FORMAT: "jpeg" | "png" | "webp" | "pdf";
334
+ DEFAULT_VIDEO_IMAGE_FORMAT: "jpeg" | "png" | "none";
335
335
  DEFAULT_JPEG_QUALITY: number;
336
336
  chalk: {
337
337
  enabled: () => boolean;
@@ -430,7 +430,7 @@ export declare const RenderInternals: {
430
430
  frame: number;
431
431
  serializedInputPropsWithCustomSchema: string;
432
432
  serializedResolvedPropsWithCustomSchema: string;
433
- imageFormat: "png" | "jpeg" | "pdf" | "webp";
433
+ imageFormat: "jpeg" | "png" | "webp" | "pdf";
434
434
  jpegQuality: number;
435
435
  puppeteerInstance: HeadlessBrowser | null;
436
436
  envVariables: Record<string, string>;
@@ -448,14 +448,16 @@ export declare const RenderInternals: {
448
448
  serveUrl: string;
449
449
  port: number | null;
450
450
  offthreadVideoCacheSizeInBytes: number | null;
451
- } & import("./options/option").ToOptions<readonly [{
452
- name: string;
453
- cliFlag: "offthreadvideo-cache-size-in-bytes";
454
- description: () => JSX.Element;
455
- ssrName: "offthreadVideoCacheSizeInBytes";
456
- docLink: string;
457
- type: number | null;
458
- }]>) => Promise<{
451
+ } & import("./options/option").ToOptions<{
452
+ readonly offthreadVideoCacheSizeInBytes: {
453
+ name: string;
454
+ cliFlag: "offthreadvideo-cache-size-in-bytes";
455
+ description: () => JSX.Element;
456
+ ssrName: "offthreadVideoCacheSizeInBytes";
457
+ docLink: string;
458
+ type: number | null;
459
+ };
460
+ }>) => Promise<{
459
461
  buffer: Buffer | null;
460
462
  }>;
461
463
  internalOpenBrowser: ({ browser, browserExecutable, chromiumOptions, forceDeviceScaleFactor, indent, viewport, logLevel, }: {
@@ -481,14 +483,16 @@ export declare const RenderInternals: {
481
483
  logLevel: "verbose" | "info" | "warn" | "error";
482
484
  serveUrl: string;
483
485
  id: string;
484
- } & import("./options/option").ToOptions<readonly [{
485
- name: string;
486
- cliFlag: "offthreadvideo-cache-size-in-bytes";
487
- description: () => JSX.Element;
488
- ssrName: "offthreadVideoCacheSizeInBytes";
489
- docLink: string;
490
- type: number | null;
491
- }]>) => Promise<{
486
+ } & import("./options/option").ToOptions<{
487
+ readonly offthreadVideoCacheSizeInBytes: {
488
+ name: string;
489
+ cliFlag: "offthreadvideo-cache-size-in-bytes";
490
+ description: () => JSX.Element;
491
+ ssrName: "offthreadVideoCacheSizeInBytes";
492
+ docLink: string;
493
+ type: number | null;
494
+ };
495
+ }>) => Promise<{
492
496
  metadata: import("remotion").VideoConfig;
493
497
  propsSize: number;
494
498
  }>;
@@ -505,14 +509,16 @@ export declare const RenderInternals: {
505
509
  indent: boolean;
506
510
  logLevel: "verbose" | "info" | "warn" | "error";
507
511
  serveUrlOrWebpackUrl: string;
508
- } & import("./options/option").ToOptions<readonly [{
509
- name: string;
510
- cliFlag: "offthreadvideo-cache-size-in-bytes";
511
- description: () => JSX.Element;
512
- ssrName: "offthreadVideoCacheSizeInBytes";
513
- docLink: string;
514
- type: number | null;
515
- }]>) => Promise<import("remotion").VideoConfig[]>;
512
+ } & import("./options/option").ToOptions<{
513
+ readonly offthreadVideoCacheSizeInBytes: {
514
+ name: string;
515
+ cliFlag: "offthreadvideo-cache-size-in-bytes";
516
+ description: () => JSX.Element;
517
+ ssrName: "offthreadVideoCacheSizeInBytes";
518
+ docLink: string;
519
+ type: number | null;
520
+ };
521
+ }>) => Promise<import("remotion").VideoConfig[]>;
516
522
  internalRenderFrames: (args_0: import("./render-frames").InternalRenderFramesOptions) => Promise<import("./types").RenderFramesOutput>;
517
523
  internalRenderMedia: (args_0: import("./render-media").InternalRenderMediaOptions) => Promise<{
518
524
  buffer: Buffer | null;
@@ -54,6 +54,9 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
54
54
  const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)(browserExecutable);
55
55
  const customGlRenderer = getOpenGlRenderer((_a = chromiumOptions.gl) !== null && _a !== void 0 ? _a : null);
56
56
  logger_1.Log.verbose({ indent, logLevel, tag: 'openBrowser()' }, `Opening browser: gl = ${chromiumOptions.gl}, executable = ${executablePath}, enableMultiProcessOnLinux = ${(_b = chromiumOptions.enableMultiProcessOnLinux) !== null && _b !== void 0 ? _b : false}`);
57
+ if (chromiumOptions.userAgent) {
58
+ logger_1.Log.verbose({ indent, logLevel: 'verbose', tag: 'openBrowser()' }, `Using custom user agent: ${chromiumOptions.userAgent}`);
59
+ }
57
60
  const browserInstance = await node_1.puppeteer.launch({
58
61
  executablePath,
59
62
  dumpio: (0, log_level_1.isEqualOrBelowLogLevel)(logLevel, 'verbose'),
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export declare const audioBitrateOption: {
3
3
  name: string;
4
- cliFlag: string;
4
+ cliFlag: "audio-bitrate";
5
5
  description: () => JSX.Element;
6
6
  ssrName: string;
7
7
  docLink: string;
@@ -7,6 +7,6 @@ export declare const colorSpaceOption: {
7
7
  description: () => JSX.Element;
8
8
  docLink: string;
9
9
  ssrName: string;
10
- type: "bt709" | "default";
10
+ type: "default" | "bt709";
11
11
  };
12
12
  export declare const validateColorSpace: (option: unknown) => void;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export declare const crfOption: {
3
3
  name: string;
4
- cliFlag: string;
4
+ cliFlag: "crf";
5
5
  description: () => JSX.Element;
6
6
  ssrName: string;
7
7
  docLink: string;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export declare const enableLambdaInsights: {
3
3
  name: string;
4
- cliFlag: string;
4
+ cliFlag: "enable-lambda-insights";
5
5
  description: () => JSX.Element;
6
6
  ssrName: string;
7
7
  docLink: string;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export declare const encodingBufferSizeOption: {
3
+ name: string;
4
+ cliFlag: "buffer-size";
5
+ description: () => JSX.Element;
6
+ ssrName: "encodingBufferSize";
7
+ docLink: string;
8
+ type: string | null;
9
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodingBufferSizeOption = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ exports.encodingBufferSizeOption = {
6
+ name: 'FFmpeg -bufsize flag',
7
+ cliFlag: 'buffer-size',
8
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["The value for the ", (0, jsx_runtime_1.jsx)("code", { children: "-bufsize" }), " flag of FFmpeg. Should be used in conjunction with the encoding max rate flag."] })),
9
+ ssrName: 'encodingBufferSize',
10
+ docLink: 'https://www.remotion.dev/docs/renderer/render-media#encodingbuffersize',
11
+ type: '',
12
+ };
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ export declare const encodingMaxRateOption: {
3
+ name: string;
4
+ cliFlag: "max-rate";
5
+ description: () => JSX.Element;
6
+ ssrName: "encodingMaxRate";
7
+ docLink: string;
8
+ type: string | null;
9
+ };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodingMaxRateOption = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ exports.encodingMaxRateOption = {
6
+ name: 'FFmpeg -maxrate flag',
7
+ cliFlag: 'max-rate',
8
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["The value for the ", (0, jsx_runtime_1.jsx)("code", { children: "-maxrate" }), " flag of FFmpeg. Should be used in conjunction with the encoding buffer size flag."] })),
9
+ ssrName: 'encodingMaxRate',
10
+ docLink: 'https://www.remotion.dev/docs/renderer/render-media#encodingmaxrate',
11
+ type: '',
12
+ };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export declare const enforceAudioOption: {
3
3
  name: string;
4
- cliFlag: string;
4
+ cliFlag: "enforce-audio-track";
5
5
  description: () => JSX.Element;
6
6
  ssrName: string;
7
7
  docLink: string;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export declare const validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
3
3
  export declare const glOption: {
4
- cliFlag: string;
4
+ cliFlag: "gl";
5
5
  docLink: string;
6
6
  name: string;
7
7
  type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
@@ -2,7 +2,7 @@
2
2
  export declare const allOptions: {
3
3
  scaleOption: {
4
4
  name: string;
5
- cliFlag: string;
5
+ cliFlag: "scale";
6
6
  description: () => JSX.Element;
7
7
  ssrName: string;
8
8
  docLink: string;
@@ -10,7 +10,7 @@ export declare const allOptions: {
10
10
  };
11
11
  crfOption: {
12
12
  name: string;
13
- cliFlag: string;
13
+ cliFlag: "crf";
14
14
  description: () => JSX.Element;
15
15
  ssrName: string;
16
16
  docLink: string;
@@ -18,7 +18,7 @@ export declare const allOptions: {
18
18
  };
19
19
  jpegQualityOption: {
20
20
  name: string;
21
- cliFlag: string;
21
+ cliFlag: "jpeg-quality";
22
22
  description: () => JSX.Element;
23
23
  ssrName: string;
24
24
  docLink: string;
@@ -30,11 +30,11 @@ export declare const allOptions: {
30
30
  description: () => JSX.Element;
31
31
  ssrName: string;
32
32
  docLink: string;
33
- type: string;
33
+ type: string | null;
34
34
  };
35
35
  audioBitrateOption: {
36
36
  name: string;
37
- cliFlag: string;
37
+ cliFlag: "audio-bitrate";
38
38
  description: () => JSX.Element;
39
39
  ssrName: string;
40
40
  docLink: string;
@@ -42,7 +42,7 @@ export declare const allOptions: {
42
42
  };
43
43
  enforceAudioOption: {
44
44
  name: string;
45
- cliFlag: string;
45
+ cliFlag: "enforce-audio-track";
46
46
  description: () => JSX.Element;
47
47
  ssrName: string;
48
48
  docLink: string;
@@ -58,13 +58,13 @@ export declare const allOptions: {
58
58
  };
59
59
  videoCodecOption: {
60
60
  name: string;
61
- cliFlag: string;
61
+ cliFlag: "codec";
62
62
  description: () => JSX.Element;
63
63
  ssrName: string;
64
64
  docLink: string;
65
65
  type: string;
66
66
  };
67
- offthreadVideoCacheSizeInBytesOption: {
67
+ offthreadVideoCacheSizeInBytes: {
68
68
  name: string;
69
69
  cliFlag: "offthreadvideo-cache-size-in-bytes";
70
70
  description: () => JSX.Element;
@@ -86,7 +86,7 @@ export declare const allOptions: {
86
86
  description: () => JSX.Element;
87
87
  docLink: string;
88
88
  ssrName: string;
89
- type: "bt709" | "default";
89
+ type: "default" | "bt709";
90
90
  };
91
91
  deleteAfterOption: {
92
92
  name: string;
@@ -113,7 +113,7 @@ export declare const allOptions: {
113
113
  type: boolean;
114
114
  };
115
115
  glOption: {
116
- cliFlag: string;
116
+ cliFlag: "gl";
117
117
  docLink: string;
118
118
  name: string;
119
119
  type: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
@@ -122,10 +122,27 @@ export declare const allOptions: {
122
122
  };
123
123
  enableLambdaInsights: {
124
124
  name: string;
125
- cliFlag: string;
125
+ cliFlag: "enable-lambda-insights";
126
126
  description: () => JSX.Element;
127
127
  ssrName: string;
128
128
  docLink: string;
129
129
  type: boolean;
130
130
  };
131
+ encodingMaxRateOption: {
132
+ name: string;
133
+ cliFlag: "max-rate";
134
+ description: () => JSX.Element;
135
+ ssrName: "encodingMaxRate";
136
+ docLink: string;
137
+ type: string | null;
138
+ };
139
+ encodingBufferSizeOption: {
140
+ name: string;
141
+ cliFlag: "buffer-size";
142
+ description: () => JSX.Element;
143
+ ssrName: "encodingBufferSize";
144
+ docLink: string;
145
+ type: string | null;
146
+ };
131
147
  };
148
+ export type AvailableOptions = keyof typeof allOptions;
@@ -7,6 +7,8 @@ const crf_1 = require("./crf");
7
7
  const delete_after_1 = require("./delete-after");
8
8
  const enable_lambda_insights_1 = require("./enable-lambda-insights");
9
9
  const enable_multiprocess_on_linux_1 = require("./enable-multiprocess-on-linux");
10
+ const encoding_buffer_size_1 = require("./encoding-buffer-size");
11
+ const encoding_max_rate_1 = require("./encoding-max-rate");
10
12
  const enforce_audio_1 = require("./enforce-audio");
11
13
  const folder_expiry_1 = require("./folder-expiry");
12
14
  const gl_1 = require("./gl");
@@ -26,7 +28,7 @@ exports.allOptions = {
26
28
  enforceAudioOption: enforce_audio_1.enforceAudioOption,
27
29
  muteOption: mute_1.muteOption,
28
30
  videoCodecOption: video_codec_1.videoCodecOption,
29
- offthreadVideoCacheSizeInBytesOption: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytesOption,
31
+ offthreadVideoCacheSizeInBytes: offthreadvideo_cache_size_1.offthreadVideoCacheSizeInBytes,
30
32
  webhookCustomDataOption: webhook_custom_data_1.webhookCustomDataOption,
31
33
  colorSpaceOption: color_space_1.colorSpaceOption,
32
34
  deleteAfterOption: delete_after_1.deleteAfterOption,
@@ -34,4 +36,6 @@ exports.allOptions = {
34
36
  enableMultiprocessOnLinuxOption: enable_multiprocess_on_linux_1.enableMultiprocessOnLinuxOption,
35
37
  glOption: gl_1.glOption,
36
38
  enableLambdaInsights: enable_lambda_insights_1.enableLambdaInsights,
39
+ encodingMaxRateOption: encoding_max_rate_1.encodingMaxRateOption,
40
+ encodingBufferSizeOption: encoding_buffer_size_1.encodingBufferSizeOption,
37
41
  };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  export declare const jpegQualityOption: {
3
3
  name: string;
4
- cliFlag: string;
4
+ cliFlag: "jpeg-quality";
5
5
  description: () => JSX.Element;
6
6
  ssrName: string;
7
7
  docLink: string;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare const offthreadVideoCacheSizeInBytesOption: {
2
+ export declare const offthreadVideoCacheSizeInBytes: {
3
3
  name: string;
4
4
  cliFlag: "offthreadvideo-cache-size-in-bytes";
5
5
  description: () => JSX.Element;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateOffthreadVideoCacheSizeInBytes = exports.offthreadVideoCacheSizeInBytesOption = void 0;
3
+ exports.validateOffthreadVideoCacheSizeInBytes = exports.offthreadVideoCacheSizeInBytes = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
- exports.offthreadVideoCacheSizeInBytesOption = {
5
+ exports.offthreadVideoCacheSizeInBytes = {
6
6
  name: 'OffthreadVideo cache size',
7
7
  cliFlag: 'offthreadvideo-cache-size-in-bytes',
8
8
  description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["From v4.0, Remotion has a cache for", ' ', (0, jsx_runtime_1.jsx)("a", { href: "https://remotion.dev/docs/offthreadvideo", children: (0, jsx_runtime_1.jsx)("code", { children: "<OffthreadVideo>" }) }), ' ', "frames. The default is ", (0, jsx_runtime_1.jsx)("code", { children: "null" }), ", corresponding to half of the system memory available when the render starts.", (0, jsx_runtime_1.jsx)("br", {}), " This option allows to override the size of the cache. The higher it is, the faster the render will be, but the more memory will be used.", (0, jsx_runtime_1.jsx)("br", {}), "The used value will be printed when running in verbose mode.", (0, jsx_runtime_1.jsx)("br", {}), "Default: ", (0, jsx_runtime_1.jsx)("code", { children: "null" })] })),
@@ -8,6 +8,6 @@ export type RemotionOption<SsrName extends string, Type> = {
8
8
  type: Type;
9
9
  };
10
10
  export type AnyRemotionOption = RemotionOption<string, unknown>;
11
- export type ToOptions<T extends readonly AnyRemotionOption[]> = {
12
- [K in T[number]['ssrName']]: T[number]['type'];
11
+ export type ToOptions<T extends Record<string, AnyRemotionOption>> = {
12
+ [K in keyof T]: T[K]['type'];
13
13
  };