@remotion/renderer 4.0.114 → 4.0.116

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 (94) hide show
  1. package/dist/browser/BrowserFetcher.js +1 -1
  2. package/dist/browser/BrowserPage.js +3 -3
  3. package/dist/browser/Connection.js +1 -1
  4. package/dist/check-apple-silicon.d.ts +3 -1
  5. package/dist/check-apple-silicon.js +32 -2
  6. package/dist/client.d.ts +1256 -14
  7. package/dist/client.js +3 -1
  8. package/dist/combine-videos.js +1 -1
  9. package/dist/ffmpeg-args.d.ts +1 -1
  10. package/dist/get-compositions.d.ts +1 -7
  11. package/dist/get-compositions.js +2 -2
  12. package/dist/get-extension-of-filename.js +2 -5
  13. package/dist/get-local-browser-executable.js +1 -1
  14. package/dist/index.d.ts +143 -16
  15. package/dist/index.js +0 -2
  16. package/dist/jpeg-quality.d.ts +1 -1
  17. package/dist/logger.d.ts +2 -6
  18. package/dist/logger.js +5 -23
  19. package/dist/options/audio-bitrate.d.ts +10 -0
  20. package/dist/options/audio-bitrate.js +25 -2
  21. package/dist/options/beep-on-finish.d.ts +7 -0
  22. package/dist/options/beep-on-finish.js +24 -1
  23. package/dist/options/color-space.d.ts +7 -0
  24. package/dist/options/color-space.js +23 -0
  25. package/dist/options/crf.d.ts +9 -0
  26. package/dist/options/crf.js +33 -2
  27. package/dist/options/delete-after.d.ts +12 -1
  28. package/dist/options/delete-after.js +25 -2
  29. package/dist/options/enable-lambda-insights.d.ts +7 -0
  30. package/dist/options/enable-lambda-insights.js +24 -1
  31. package/dist/options/enable-multiprocess-on-linux.d.ts +7 -0
  32. package/dist/options/enable-multiprocess-on-linux.js +24 -1
  33. package/dist/options/encoding-buffer-size.d.ts +10 -0
  34. package/dist/options/encoding-buffer-size.js +28 -1
  35. package/dist/options/encoding-max-rate.d.ts +10 -0
  36. package/dist/options/encoding-max-rate.js +24 -1
  37. package/dist/options/enforce-audio.d.ts +7 -0
  38. package/dist/options/enforce-audio.js +25 -1
  39. package/dist/options/folder-expiry.d.ts +7 -0
  40. package/dist/options/folder-expiry.js +24 -1
  41. package/dist/options/gl.d.ts +16 -4
  42. package/dist/options/gl.js +35 -3
  43. package/dist/options/headless.d.ts +15 -0
  44. package/dist/options/headless.js +36 -0
  45. package/dist/options/index.d.ts +259 -10
  46. package/dist/options/index.js +13 -3
  47. package/dist/options/jpeg-quality.d.ts +9 -0
  48. package/dist/options/jpeg-quality.js +37 -2
  49. package/dist/options/log-level.d.ts +16 -0
  50. package/dist/options/log-level.js +32 -0
  51. package/dist/options/mute.d.ts +9 -2
  52. package/dist/options/mute.js +27 -3
  53. package/dist/options/number-of-gif-loops.d.ts +11 -0
  54. package/dist/options/number-of-gif-loops.js +31 -1
  55. package/dist/options/offthreadvideo-cache-size.d.ts +12 -1
  56. package/dist/options/offthreadvideo-cache-size.js +30 -3
  57. package/dist/options/option.d.ts +11 -3
  58. package/dist/options/options-map.d.ts +997 -3
  59. package/dist/options/options-map.js +79 -12
  60. package/dist/options/overwrite.d.ts +15 -0
  61. package/dist/options/overwrite.js +42 -0
  62. package/dist/options/repro.d.ts +8 -1
  63. package/dist/options/repro.js +25 -1
  64. package/dist/options/scale.d.ts +7 -0
  65. package/dist/options/scale.js +30 -1
  66. package/dist/options/timeout.d.ts +15 -0
  67. package/dist/options/timeout.js +44 -0
  68. package/dist/options/video-bitrate.d.ts +9 -2
  69. package/dist/options/video-bitrate.js +27 -4
  70. package/dist/options/video-codec.d.ts +16 -1
  71. package/dist/options/video-codec.js +81 -2
  72. package/dist/options/webhook-custom-data.d.ts +3 -1
  73. package/dist/options/webhook-custom-data.js +8 -1
  74. package/dist/options/x264-preset.d.ts +20 -3
  75. package/dist/options/x264-preset.js +47 -7
  76. package/dist/path-normalize.d.ts +1 -0
  77. package/dist/path-normalize.js +133 -0
  78. package/dist/prespawn-ffmpeg.d.ts +1 -1
  79. package/dist/print-useful-error-message.d.ts +2 -1
  80. package/dist/print-useful-error-message.js +29 -29
  81. package/dist/render-frames.d.ts +1 -7
  82. package/dist/render-frames.js +1 -1
  83. package/dist/render-media.d.ts +0 -17
  84. package/dist/render-media.js +4 -4
  85. package/dist/render-still.d.ts +1 -7
  86. package/dist/render-still.js +2 -3
  87. package/dist/repro.js +6 -6
  88. package/dist/select-composition.d.ts +2 -8
  89. package/dist/stitch-frames-to-video.d.ts +1 -1
  90. package/dist/stitch-frames-to-video.js +1 -1
  91. package/dist/wrap-with-error-handling.js +1 -1
  92. package/package.json +9 -9
  93. package/dist/does-have-m2-bug.d.ts +0 -3
  94. package/dist/does-have-m2-bug.js +0 -12
package/dist/client.js CHANGED
@@ -15,10 +15,11 @@ const options_1 = require("./options");
15
15
  const color_space_1 = require("./options/color-space");
16
16
  const gl_1 = require("./options/gl");
17
17
  const options_map_1 = require("./options/options-map");
18
+ const video_codec_1 = require("./options/video-codec");
19
+ const x264_preset_1 = require("./options/x264-preset");
18
20
  const pixel_format_1 = require("./pixel-format");
19
21
  const prores_profile_1 = require("./prores-profile");
20
22
  const validate_output_filename_1 = require("./validate-output-filename");
21
- const x264_preset_1 = require("./x264-preset");
22
23
  exports.BrowserSafeApis = {
23
24
  getFileExtensionFromCodec: get_extension_from_codec_1.getFileExtensionFromCodec,
24
25
  validCodecs: codec_1.validCodecs,
@@ -46,4 +47,5 @@ exports.BrowserSafeApis = {
46
47
  codecSupportsCrf: codec_supports_media_1.codecSupportsCrf,
47
48
  codecSupportsVideoBitrate: codec_supports_media_1.codecSupportsVideoBitrate,
48
49
  logLevels: log_level_1.logLevels,
50
+ getOutputCodecOrUndefined: video_codec_1.getOutputCodecOrUndefined,
49
51
  };
@@ -41,7 +41,7 @@ const combineVideos = async (options) => {
41
41
  resolvedAudioCodec === 'aac' ? '-cutoff' : null,
42
42
  resolvedAudioCodec === 'aac' ? '18000' : null,
43
43
  '-b:a',
44
- audioBitrate ? audioBitrate : '320k',
44
+ audioBitrate !== null && audioBitrate !== void 0 ? audioBitrate : '320k',
45
45
  codec === 'h264' ? '-movflags' : null,
46
46
  codec === 'h264' ? 'faststart' : null,
47
47
  `-metadata`,
@@ -1,7 +1,7 @@
1
1
  import type { Codec } from './codec';
2
2
  import type { ColorSpace } from './options/color-space';
3
+ import type { X264Preset } from './options/x264-preset';
3
4
  import type { PixelFormat } from './pixel-format';
4
- import type { X264Preset } from './x264-preset';
5
5
  export declare const generateFfmpegArgs: ({ hasPreencoded, proResProfileName, pixelFormat, x264Preset, codec, crf, videoBitrate, encodingMaxRate, encodingBufferSize, colorSpace, }: {
6
6
  hasPreencoded: boolean;
7
7
  proResProfileName: string | null;
@@ -2,7 +2,6 @@ import type { VideoConfig } from 'remotion/no-react';
2
2
  import type { BrowserExecutable } from './browser-executable';
3
3
  import type { BrowserLog } from './browser-log';
4
4
  import type { HeadlessBrowser } from './browser/Browser';
5
- import { type LogLevel } from './log-level';
6
5
  import type { ChromiumOptions } from './open-browser';
7
6
  import type { ToOptions } from './options/option';
8
7
  import type { optionsMap } from './options/options-map';
@@ -13,12 +12,10 @@ type InternalGetCompositionsOptions = {
13
12
  puppeteerInstance: HeadlessBrowser | undefined;
14
13
  onBrowserLog: null | ((log: BrowserLog) => void);
15
14
  browserExecutable: BrowserExecutable | null;
16
- timeoutInMilliseconds: number;
17
15
  chromiumOptions: ChromiumOptions;
18
16
  port: number | null;
19
17
  server: RemotionServer | undefined;
20
18
  indent: boolean;
21
- logLevel: LogLevel;
22
19
  serveUrlOrWebpackUrl: string;
23
20
  } & ToOptions<typeof optionsMap.getCompositions>;
24
21
  export type GetCompositionsOptions = {
@@ -27,12 +24,9 @@ export type GetCompositionsOptions = {
27
24
  puppeteerInstance?: HeadlessBrowser;
28
25
  onBrowserLog?: (log: BrowserLog) => void;
29
26
  browserExecutable?: BrowserExecutable;
30
- timeoutInMilliseconds?: number;
31
27
  chromiumOptions?: ChromiumOptions;
32
28
  port?: number | null;
33
- logLevel?: LogLevel;
34
- offthreadVideoCacheSizeInBytes?: number | null;
35
- };
29
+ } & Partial<ToOptions<typeof optionsMap.getCompositions>>;
36
30
  export declare const internalGetCompositions: (args_0: InternalGetCompositionsOptions) => Promise<VideoConfig[]>;
37
31
  /**
38
32
  * @description Gets the compositions defined in a Remotion project based on a Webpack bundle.
@@ -6,7 +6,6 @@ const TimeoutSettings_1 = require("./browser/TimeoutSettings");
6
6
  const handle_javascript_exception_1 = require("./error-handling/handle-javascript-exception");
7
7
  const find_closest_package_json_1 = require("./find-closest-package-json");
8
8
  const get_browser_instance_1 = require("./get-browser-instance");
9
- const logger_1 = require("./logger");
10
9
  const prepare_server_1 = require("./prepare-server");
11
10
  const puppeteer_evaluate_1 = require("./puppeteer-evaluate");
12
11
  const seek_to_frame_1 = require("./seek-to-frame");
@@ -124,6 +123,7 @@ const internalGetCompositionsRaw = async ({ browserExecutable, chromiumOptions,
124
123
  timeoutInMilliseconds,
125
124
  indent,
126
125
  logLevel,
126
+ offthreadVideoCacheSizeInBytes,
127
127
  });
128
128
  })
129
129
  .then((comp) => {
@@ -166,7 +166,7 @@ const getCompositions = (serveUrlOrWebpackUrl, config) => {
166
166
  serveUrlOrWebpackUrl,
167
167
  server: undefined,
168
168
  timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : TimeoutSettings_1.DEFAULT_TIMEOUT,
169
- logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : (0, logger_1.getLogLevel)(),
169
+ logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
170
170
  offthreadVideoCacheSizeInBytes: (_a = config === null || config === void 0 ? void 0 : config.offthreadVideoCacheSizeInBytes) !== null && _a !== void 0 ? _a : null,
171
171
  });
172
172
  };
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.getExtensionOfFilename = void 0;
7
- const node_path_1 = __importDefault(require("node:path"));
4
+ const path_normalize_1 = require("./path-normalize");
8
5
  const getExtensionOfFilename = (filename) => {
9
6
  if (filename === null) {
10
7
  return null;
11
8
  }
12
- const filenameArr = node_path_1.default.normalize(filename).split('.');
9
+ const filenameArr = (0, path_normalize_1.pathNormalize)(filename).split('.');
13
10
  const hasExtension = filenameArr.length >= 2;
14
11
  const filenameArrLength = filenameArr.length;
15
12
  const extension = hasExtension ? filenameArr[filenameArrLength - 1] : null;
@@ -71,7 +71,7 @@ const getBrowserStatus = (browserExecutablePath) => {
71
71
  const ensureLocalBrowser = async ({ indent, logLevel, preferredBrowserExecutable, }) => {
72
72
  const status = getBrowserStatus(preferredBrowserExecutable);
73
73
  if (status.type === 'no-browser') {
74
- logger_1.Log.infoAdvanced({ indent, logLevel }, 'No local browser could be found. Downloading Thorium https://www.remotion.dev/docs/miscellaneous/thorium-browser');
74
+ logger_1.Log.info({ indent, logLevel }, 'No local browser could be found. Downloading Thorium https://www.remotion.dev/docs/miscellaneous/thorium-browser');
75
75
  await (0, BrowserFetcher_1.downloadBrowser)({ indent, logLevel });
76
76
  }
77
77
  };
package/dist/index.d.ts CHANGED
@@ -28,8 +28,11 @@ export { CancelSignal, makeCancelSignal } from './make-cancel-signal';
28
28
  export { openBrowser } from './open-browser';
29
29
  export type { ChromiumOptions } from './open-browser';
30
30
  export { ColorSpace } from './options/color-space';
31
+ export { DeleteAfter } from './options/delete-after';
31
32
  export { OpenGlRenderer } from './options/gl';
33
+ export { NumberOfGifLoops } from './options/number-of-gif-loops';
32
34
  export { AnyRemotionOption, RemotionOption, ToOptions } from './options/option';
35
+ export { X264Preset } from './options/x264-preset';
33
36
  export { PixelFormat } from './pixel-format';
34
37
  export { RemotionServer } from './prepare-server';
35
38
  export { ProResProfile } from './prores-profile';
@@ -41,7 +44,6 @@ export { stitchFramesToVideo, StitchFramesToVideoOptions, } from './stitch-frame
41
44
  export { SymbolicatedStackFrame } from './symbolicate-stacktrace';
42
45
  export { OnStartData, RenderFramesOutput } from './types';
43
46
  export { validateOutputFilename } from './validate-output-filename';
44
- export { X264Preset } from './x264-preset';
45
47
  export declare const RenderInternals: {
46
48
  ensureLocalBrowser: ({ indent, logLevel, preferredBrowserExecutable, }: {
47
49
  preferredBrowserExecutable: import("./browser-executable").BrowserExecutable;
@@ -137,11 +139,11 @@ export declare const RenderInternals: {
137
139
  validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
138
140
  DEFAULT_BROWSER: "chrome";
139
141
  validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
140
- DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
141
- validateOpenGlRenderer: (option: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
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
144
  validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
143
145
  DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
144
- validateJpegQuality: (q: number | undefined) => void;
146
+ validateJpegQuality: (q: unknown) => void;
145
147
  DEFAULT_TIMEOUT: number;
146
148
  DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
147
149
  isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | null | undefined) => boolean;
@@ -380,16 +382,12 @@ export declare const RenderInternals: {
380
382
  verbose: (options: import("./logger").LogOptions & {
381
383
  tag?: string | undefined;
382
384
  }, message?: any, ...optionalParams: any[]) => void;
383
- info: (message?: any, ...optionalParams: any[]) => void;
384
- infoAdvanced: (options: import("./logger").LogOptions, message?: any, ...optionalParams: any[]) => void;
385
+ info: (options: import("./logger").LogOptions, message?: any, ...optionalParams: any[]) => void;
385
386
  warn: (options: import("./logger").LogOptions, message?: any, ...optionalParams: any[]) => void;
386
- error: (message?: any, ...optionalParams: any[]) => void;
387
- errorAdvanced: (options: import("./logger").LogOptions & {
387
+ error: (options: import("./logger").LogOptions & {
388
388
  tag?: string | undefined;
389
389
  }, message?: any, ...optionalParams: any[]) => void;
390
390
  };
391
- getLogLevel: () => "verbose" | "info" | "warn" | "error";
392
- setLogLevel: (newLogLevel: "verbose" | "info" | "warn" | "error") => void;
393
391
  INDENT_TOKEN: string;
394
392
  isColorSupported: () => boolean;
395
393
  HeadlessBrowser: typeof HeadlessBrowser;
@@ -430,14 +428,12 @@ export declare const RenderInternals: {
430
428
  overwrite: boolean;
431
429
  browserExecutable: import("./browser-executable").BrowserExecutable;
432
430
  onBrowserLog: ((log: import("./browser-log").BrowserLog) => void) | null;
433
- timeoutInMilliseconds: number;
434
431
  chromiumOptions: import("./open-browser").ChromiumOptions;
435
432
  scale: number;
436
433
  onDownload: import("./assets/download-and-map-assets-to-file").RenderMediaOnDownload | null;
437
434
  cancelSignal: import("./make-cancel-signal").CancelSignal | null;
438
435
  indent: boolean;
439
436
  server: import("./prepare-server").RemotionServer | undefined;
440
- logLevel: "verbose" | "info" | "warn" | "error";
441
437
  serveUrl: string;
442
438
  port: number | null;
443
439
  offthreadVideoCacheSizeInBytes: number | null;
@@ -449,6 +445,61 @@ export declare const RenderInternals: {
449
445
  ssrName: "offthreadVideoCacheSizeInBytes";
450
446
  docLink: string;
451
447
  type: number | null;
448
+ getValue: ({ commandLine }: {
449
+ commandLine: Record<string, unknown>;
450
+ }) => {
451
+ source: string;
452
+ value: number;
453
+ } | {
454
+ source: string;
455
+ value: null;
456
+ };
457
+ setConfig: (size: number | null) => void;
458
+ };
459
+ readonly jpegQuality: {
460
+ name: string;
461
+ cliFlag: "jpeg-quality";
462
+ description: () => import("react/jsx-runtime").JSX.Element;
463
+ ssrName: string;
464
+ docLink: string;
465
+ type: number;
466
+ setConfig: (q: number | undefined) => void;
467
+ getValue: ({ commandLine }: {
468
+ commandLine: Record<string, unknown>;
469
+ }) => {
470
+ source: string;
471
+ value: number;
472
+ };
473
+ };
474
+ readonly logLevel: {
475
+ cliFlag: "log";
476
+ name: string;
477
+ ssrName: string;
478
+ description: () => import("react/jsx-runtime").JSX.Element;
479
+ docLink: string;
480
+ getValue: ({ commandLine }: {
481
+ commandLine: Record<string, unknown>;
482
+ }) => {
483
+ value: "verbose" | "info" | "warn" | "error";
484
+ source: string;
485
+ };
486
+ setConfig: (newLogLevel: "verbose" | "info" | "warn" | "error") => void;
487
+ type: "verbose" | "info" | "warn" | "error";
488
+ };
489
+ readonly timeoutInMilliseconds: {
490
+ name: string;
491
+ cliFlag: "timeout";
492
+ description: () => import("react/jsx-runtime").JSX.Element;
493
+ ssrName: "timeoutInMilliseconds";
494
+ docLink: string;
495
+ type: number;
496
+ getValue: ({ commandLine }: {
497
+ commandLine: Record<string, unknown>;
498
+ }) => {
499
+ source: string;
500
+ value: number;
501
+ };
502
+ setConfig: (value: number) => void;
452
503
  };
453
504
  }>) => Promise<{
454
505
  buffer: Buffer | null;
@@ -468,12 +519,10 @@ export declare const RenderInternals: {
468
519
  puppeteerInstance: HeadlessBrowser | undefined;
469
520
  onBrowserLog: ((log: import("./browser-log").BrowserLog) => void) | null;
470
521
  browserExecutable: import("./browser-executable").BrowserExecutable;
471
- timeoutInMilliseconds: number;
472
522
  chromiumOptions: import("./open-browser").ChromiumOptions;
473
523
  port: number | null;
474
524
  indent: boolean;
475
525
  server: import("./prepare-server").RemotionServer | undefined;
476
- logLevel: "verbose" | "info" | "warn" | "error";
477
526
  serveUrl: string;
478
527
  id: string;
479
528
  } & import("./options/option").ToOptions<{
@@ -484,6 +533,46 @@ export declare const RenderInternals: {
484
533
  ssrName: "offthreadVideoCacheSizeInBytes";
485
534
  docLink: string;
486
535
  type: number | null;
536
+ getValue: ({ commandLine }: {
537
+ commandLine: Record<string, unknown>;
538
+ }) => {
539
+ source: string;
540
+ value: number;
541
+ } | {
542
+ source: string;
543
+ value: null;
544
+ };
545
+ setConfig: (size: number | null) => void;
546
+ };
547
+ readonly logLevel: {
548
+ cliFlag: "log";
549
+ name: string;
550
+ ssrName: string;
551
+ description: () => import("react/jsx-runtime").JSX.Element;
552
+ docLink: string;
553
+ getValue: ({ commandLine }: {
554
+ commandLine: Record<string, unknown>;
555
+ }) => {
556
+ value: "verbose" | "info" | "warn" | "error";
557
+ source: string;
558
+ };
559
+ setConfig: (newLogLevel: "verbose" | "info" | "warn" | "error") => void;
560
+ type: "verbose" | "info" | "warn" | "error";
561
+ };
562
+ readonly timeoutInMilliseconds: {
563
+ name: string;
564
+ cliFlag: "timeout";
565
+ description: () => import("react/jsx-runtime").JSX.Element;
566
+ ssrName: "timeoutInMilliseconds";
567
+ docLink: string;
568
+ type: number;
569
+ getValue: ({ commandLine }: {
570
+ commandLine: Record<string, unknown>;
571
+ }) => {
572
+ source: string;
573
+ value: number;
574
+ };
575
+ setConfig: (value: number) => void;
487
576
  };
488
577
  }>) => Promise<{
489
578
  metadata: import("remotion").VideoConfig;
@@ -495,12 +584,10 @@ export declare const RenderInternals: {
495
584
  puppeteerInstance: HeadlessBrowser | undefined;
496
585
  onBrowserLog: ((log: import("./browser-log").BrowserLog) => void) | null;
497
586
  browserExecutable: import("./browser-executable").BrowserExecutable;
498
- timeoutInMilliseconds: number;
499
587
  chromiumOptions: import("./open-browser").ChromiumOptions;
500
588
  port: number | null;
501
589
  server: import("./prepare-server").RemotionServer | undefined;
502
590
  indent: boolean;
503
- logLevel: "verbose" | "info" | "warn" | "error";
504
591
  serveUrlOrWebpackUrl: string;
505
592
  } & import("./options/option").ToOptions<{
506
593
  readonly offthreadVideoCacheSizeInBytes: {
@@ -510,6 +597,46 @@ export declare const RenderInternals: {
510
597
  ssrName: "offthreadVideoCacheSizeInBytes";
511
598
  docLink: string;
512
599
  type: number | null;
600
+ getValue: ({ commandLine }: {
601
+ commandLine: Record<string, unknown>;
602
+ }) => {
603
+ source: string;
604
+ value: number;
605
+ } | {
606
+ source: string;
607
+ value: null;
608
+ };
609
+ setConfig: (size: number | null) => void;
610
+ };
611
+ readonly logLevel: {
612
+ cliFlag: "log";
613
+ name: string;
614
+ ssrName: string;
615
+ description: () => import("react/jsx-runtime").JSX.Element;
616
+ docLink: string;
617
+ getValue: ({ commandLine }: {
618
+ commandLine: Record<string, unknown>;
619
+ }) => {
620
+ value: "verbose" | "info" | "warn" | "error";
621
+ source: string;
622
+ };
623
+ setConfig: (newLogLevel: "verbose" | "info" | "warn" | "error") => void;
624
+ type: "verbose" | "info" | "warn" | "error";
625
+ };
626
+ readonly timeoutInMilliseconds: {
627
+ name: string;
628
+ cliFlag: "timeout";
629
+ description: () => import("react/jsx-runtime").JSX.Element;
630
+ ssrName: "timeoutInMilliseconds";
631
+ docLink: string;
632
+ type: number;
633
+ getValue: ({ commandLine }: {
634
+ commandLine: Record<string, unknown>;
635
+ }) => {
636
+ source: string;
637
+ value: number;
638
+ };
639
+ setConfig: (value: number) => void;
513
640
  };
514
641
  }>) => Promise<import("remotion").VideoConfig[]>;
515
642
  internalRenderFrames: (args_0: import("./render-frames").InternalRenderFramesOptions) => Promise<import("./types").RenderFramesOutput>;
package/dist/index.js CHANGED
@@ -178,8 +178,6 @@ exports.RenderInternals = {
178
178
  DEFAULT_JPEG_QUALITY: jpeg_quality_1.DEFAULT_JPEG_QUALITY,
179
179
  chalk: chalk_1.chalk,
180
180
  Log: logger_1.Log,
181
- getLogLevel: logger_1.getLogLevel,
182
- setLogLevel: logger_1.setLogLevel,
183
181
  INDENT_TOKEN: logger_1.INDENT_TOKEN,
184
182
  isColorSupported: is_color_supported_1.isColorSupported,
185
183
  HeadlessBrowser: Browser_1.HeadlessBrowser,
@@ -1,2 +1,2 @@
1
1
  export declare const DEFAULT_JPEG_QUALITY = 80;
2
- export declare const validateJpegQuality: (q: number | undefined) => void;
2
+ export declare const validateJpegQuality: (q: unknown) => void;
package/dist/logger.d.ts CHANGED
@@ -11,12 +11,8 @@ export declare const verboseTag: (str: string) => string;
11
11
  export declare const secondverboseTag: (str: string) => string;
12
12
  export declare const Log: {
13
13
  verbose: (options: VerboseLogOptions, message?: any, ...optionalParams: any[]) => void;
14
- info: (message?: any, ...optionalParams: any[]) => void;
15
- infoAdvanced: (options: LogOptions, message?: any, ...optionalParams: any[]) => void;
14
+ info: (options: LogOptions, message?: any, ...optionalParams: any[]) => void;
16
15
  warn: (options: LogOptions, message?: any, ...optionalParams: any[]) => void;
17
- error: (message?: any, ...optionalParams: any[]) => void;
18
- errorAdvanced: (options: VerboseLogOptions, message?: any, ...optionalParams: any[]) => void;
16
+ error: (options: VerboseLogOptions, message?: any, ...optionalParams: any[]) => void;
19
17
  };
20
- export declare const getLogLevel: () => "verbose" | "info" | "warn" | "error";
21
- export declare const setLogLevel: (newLogLevel: LogLevel) => void;
22
18
  export {};
package/dist/logger.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setLogLevel = exports.getLogLevel = exports.Log = exports.secondverboseTag = exports.verboseTag = exports.INDENT_TOKEN = void 0;
3
+ exports.Log = exports.secondverboseTag = exports.verboseTag = exports.INDENT_TOKEN = void 0;
4
4
  const chalk_1 = require("./chalk");
5
5
  const is_color_supported_1 = require("./chalk/is-color-supported");
6
6
  const log_level_1 = require("./log-level");
@@ -27,10 +27,7 @@ exports.Log = {
27
27
  .concat(args.map((a) => chalk_1.chalk.gray(a))));
28
28
  }
29
29
  },
30
- info: (...args) => {
31
- exports.Log.infoAdvanced({ indent: false, logLevel: (0, exports.getLogLevel)() }, ...args);
32
- },
33
- infoAdvanced: (options, ...args) => {
30
+ info: (options, ...args) => {
34
31
  (0, repro_1.writeInRepro)('info', ...args);
35
32
  return console.log(...[options.indent ? exports.INDENT_TOKEN : null].filter(truthy_1.truthy).concat(args));
36
33
  },
@@ -42,16 +39,10 @@ exports.Log = {
42
39
  .concat(args.map((a) => chalk_1.chalk.yellow(a))));
43
40
  }
44
41
  },
45
- error: (...args) => {
46
- (0, repro_1.writeInRepro)('error', ...args);
47
- if ((0, log_level_1.isEqualOrBelowLogLevel)((0, exports.getLogLevel)(), 'error')) {
48
- return console.error(...args.map((a) => chalk_1.chalk.red(a)));
49
- }
50
- },
51
- errorAdvanced: (options, ...args) => {
42
+ error: (options, ...args) => {
52
43
  (0, repro_1.writeInRepro)('error', ...args);
53
- if ((0, log_level_1.isEqualOrBelowLogLevel)((0, exports.getLogLevel)(), 'error')) {
54
- return console.log(...[
44
+ if ((0, log_level_1.isEqualOrBelowLogLevel)(options.logLevel, 'error')) {
45
+ return console.error(...[
55
46
  options.indent ? exports.INDENT_TOKEN : null,
56
47
  options.tag ? (0, exports.verboseTag)(options.tag) : null,
57
48
  ]
@@ -60,12 +51,3 @@ exports.Log = {
60
51
  }
61
52
  },
62
53
  };
63
- let logLevel = 'info';
64
- const getLogLevel = () => {
65
- return logLevel;
66
- };
67
- exports.getLogLevel = getLogLevel;
68
- const setLogLevel = (newLogLevel) => {
69
- logLevel = newLogLevel;
70
- };
71
- exports.setLogLevel = setLogLevel;
@@ -5,4 +5,14 @@ export declare const audioBitrateOption: {
5
5
  ssrName: string;
6
6
  docLink: string;
7
7
  type: string;
8
+ getValue: ({ commandLine }: {
9
+ commandLine: Record<string, unknown>;
10
+ }) => {
11
+ value: string;
12
+ source: string;
13
+ } | {
14
+ value: null;
15
+ source: string;
16
+ };
17
+ setConfig: (value: string | null) => void;
8
18
  };
@@ -2,11 +2,34 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.audioBitrateOption = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const cliFlag = 'audio-bitrate';
6
+ let audioBitrate = null;
5
7
  exports.audioBitrateOption = {
6
8
  name: 'Audio Bitrate',
7
- cliFlag: 'audio-bitrate',
8
- description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFMPEGs", (0, jsx_runtime_1.jsx)("code", { children: "-b:a" }), " parameter should be used. FFMPEG may encode the video in a way that will not result in the exact audio bitrate specified. Example values: ", (0, jsx_runtime_1.jsx)("code", { children: "512K" }), " for 512 kbps, ", (0, jsx_runtime_1.jsx)("code", { children: "1M" }), " for 1 Mbps. Default: ", (0, jsx_runtime_1.jsx)("code", { children: "320k" })] })),
9
+ cliFlag,
10
+ description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFmpeg", "'", "s ", (0, jsx_runtime_1.jsx)("code", { children: "-b:a" }), " parameter should be used. FFmpeg may encode the video in a way that will not result in the exact audio bitrate specified. Example values: ", (0, jsx_runtime_1.jsx)("code", { children: "512K" }), " for 512 kbps, ", (0, jsx_runtime_1.jsx)("code", { children: "1M" }), " for 1 Mbps. Default: ", (0, jsx_runtime_1.jsx)("code", { children: "320k" })] })),
9
11
  ssrName: 'audioBitrate',
10
12
  docLink: 'https://www.remotion.dev/docs/renderer/render-media#audiobitrate-',
11
13
  type: '0',
14
+ getValue: ({ commandLine }) => {
15
+ if (commandLine[cliFlag]) {
16
+ return {
17
+ value: commandLine[cliFlag],
18
+ source: 'cli',
19
+ };
20
+ }
21
+ if (audioBitrate) {
22
+ return {
23
+ value: audioBitrate,
24
+ source: 'config file',
25
+ };
26
+ }
27
+ return {
28
+ value: null,
29
+ source: 'default',
30
+ };
31
+ },
32
+ setConfig: (value) => {
33
+ audioBitrate = value;
34
+ },
12
35
  };
@@ -5,4 +5,11 @@ export declare const beepOnFinishOption: {
5
5
  ssrName: null;
6
6
  docLink: string;
7
7
  type: boolean;
8
+ getValue: ({ commandLine }: {
9
+ commandLine: Record<string, unknown>;
10
+ }) => {
11
+ value: boolean;
12
+ source: string;
13
+ };
14
+ setConfig(value: boolean): void;
8
15
  };
@@ -2,11 +2,34 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.beepOnFinishOption = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
+ let beepOnFinish = false;
6
+ const cliFlag = 'beep-on-finish';
5
7
  exports.beepOnFinishOption = {
6
8
  name: 'Beep on finish',
7
- cliFlag: 'beep-on-finish',
9
+ cliFlag,
8
10
  description: () => ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Whether the Remotion Studio tab should beep when the render is finished." })),
9
11
  ssrName: null,
10
12
  docLink: 'https://www.remotion.dev/docs/config#setbeeponfinish',
11
13
  type: false,
14
+ getValue: ({ commandLine }) => {
15
+ if (commandLine[cliFlag] !== undefined) {
16
+ return {
17
+ value: commandLine[cliFlag],
18
+ source: 'cli',
19
+ };
20
+ }
21
+ if (beepOnFinish !== false) {
22
+ return {
23
+ value: beepOnFinish,
24
+ source: 'config',
25
+ };
26
+ }
27
+ return {
28
+ value: false,
29
+ source: 'default',
30
+ };
31
+ },
32
+ setConfig(value) {
33
+ beepOnFinish = value;
34
+ },
12
35
  };
@@ -7,5 +7,12 @@ export declare const colorSpaceOption: {
7
7
  docLink: string;
8
8
  ssrName: string;
9
9
  type: "default" | "bt709" | "bt2020-ncl";
10
+ getValue: ({ commandLine }: {
11
+ commandLine: Record<string, unknown>;
12
+ }) => {
13
+ source: string;
14
+ value: "default" | "bt709" | "bt2020-ncl";
15
+ };
16
+ setConfig: (value: "default" | "bt709" | "bt2020-ncl") => void;
10
17
  };
11
18
  export declare const validateColorSpace: (option: unknown) => void;
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateColorSpace = exports.colorSpaceOption = exports.validColorSpaces = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  exports.validColorSpaces = ['default', 'bt709', 'bt2020-ncl'];
6
+ let colorSpace = 'default';
7
+ const cliFlag = 'color-space';
6
8
  exports.colorSpaceOption = {
7
9
  name: 'Color space',
8
10
  cliFlag: 'color-space',
@@ -10,6 +12,27 @@ exports.colorSpaceOption = {
10
12
  docLink: 'https://www.remotion.dev/docs/renderer/render-media#colorspace',
11
13
  ssrName: 'colorSpace',
12
14
  type: 'default',
15
+ getValue: ({ commandLine }) => {
16
+ if (commandLine[cliFlag] !== undefined) {
17
+ return {
18
+ source: 'cli',
19
+ value: commandLine[cliFlag],
20
+ };
21
+ }
22
+ if (colorSpace !== 'default') {
23
+ return {
24
+ source: 'config',
25
+ value: colorSpace,
26
+ };
27
+ }
28
+ return {
29
+ source: 'default',
30
+ value: 'default',
31
+ };
32
+ },
33
+ setConfig: (value) => {
34
+ colorSpace = value;
35
+ },
13
36
  };
14
37
  const validateColorSpace = (option) => {
15
38
  if (exports.validColorSpaces.includes(option)) {
@@ -1,3 +1,5 @@
1
+ import type { Crf } from '../crf';
2
+ export declare const validateCrf: (newCrf: Crf) => void;
1
3
  export declare const crfOption: {
2
4
  name: string;
3
5
  cliFlag: "crf";
@@ -5,4 +7,11 @@ export declare const crfOption: {
5
7
  ssrName: string;
6
8
  docLink: string;
7
9
  type: number;
10
+ getValue: ({ commandLine }: {
11
+ commandLine: Record<string, unknown>;
12
+ }) => {
13
+ source: string;
14
+ value: Crf;
15
+ };
16
+ setConfig: (crf: Crf) => void;
8
17
  };