@remotion/cli 4.0.76 → 4.0.79

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 (70) hide show
  1. package/dist/benchmark.js +3 -1
  2. package/dist/config/bitrate.d.ts +4 -0
  3. package/dist/config/bitrate.js +22 -1
  4. package/dist/config/index.d.ts +10 -0
  5. package/dist/config/index.js +4 -0
  6. package/dist/editor/components/Canvas.js +1 -1
  7. package/dist/editor/components/Modals.js +1 -1
  8. package/dist/editor/components/NewComposition/RemInput.d.ts +1 -1
  9. package/dist/editor/components/RenderButton.js +3 -0
  10. package/dist/editor/components/RenderModal/CrfSetting.d.ts +3 -2
  11. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.d.ts +0 -2
  12. package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.js +3 -4
  13. package/dist/editor/components/RenderModal/JpegQualitySetting.js +1 -2
  14. package/dist/editor/components/RenderModal/MutedSetting.d.ts +0 -2
  15. package/dist/editor/components/RenderModal/MutedSetting.js +3 -4
  16. package/dist/editor/components/RenderModal/NumberSetting.d.ts +2 -2
  17. package/dist/editor/components/RenderModal/NumberSetting.js +4 -5
  18. package/dist/editor/components/RenderModal/OptionExplainerBubble.d.ts +5 -0
  19. package/dist/editor/components/RenderModal/OptionExplainerBubble.js +12 -0
  20. package/dist/editor/components/RenderModal/RenderModal.d.ts +3 -0
  21. package/dist/editor/components/RenderModal/RenderModal.js +15 -4
  22. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +2 -0
  23. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +19 -5
  24. package/dist/editor/components/RenderModal/RenderModalAudio.js +4 -4
  25. package/dist/editor/components/RenderModal/RenderModalBasic.js +2 -3
  26. package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +4 -0
  27. package/dist/editor/components/RenderModal/RenderModalPicture.js +19 -5
  28. package/dist/editor/components/RenderModal/ScaleSetting.js +1 -2
  29. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.d.ts +1 -0
  30. package/dist/editor/components/RenderModal/SchemaEditor/SchemaLabel.js +19 -4
  31. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSeparationLine.d.ts +8 -0
  32. package/dist/editor/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +70 -2
  33. package/dist/editor/components/RenderModal/SchemaEditor/SchemaVerticalGuide.d.ts +1 -1
  34. package/dist/editor/components/RenderModal/SchemaEditor/SchemaVerticalGuide.js +23 -5
  35. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayEditor.js +12 -23
  36. package/dist/editor/components/RenderModal/SchemaEditor/ZodArrayItemEditor.js +6 -1
  37. package/dist/editor/components/RenderModal/SchemaEditor/ZodBooleanEditor.js +1 -1
  38. package/dist/editor/components/RenderModal/SchemaEditor/ZodColorEditor.js +1 -1
  39. package/dist/editor/components/RenderModal/SchemaEditor/ZodDateEditor.js +1 -1
  40. package/dist/editor/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +1 -1
  41. package/dist/editor/components/RenderModal/SchemaEditor/ZodEnumEditor.js +1 -1
  42. package/dist/editor/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +1 -1
  43. package/dist/editor/components/RenderModal/SchemaEditor/ZodNumberEditor.js +1 -1
  44. package/dist/editor/components/RenderModal/SchemaEditor/ZodObjectEditor.js +13 -5
  45. package/dist/editor/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +1 -1
  46. package/dist/editor/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +1 -1
  47. package/dist/editor/components/RenderModal/SchemaEditor/ZodStringEditor.js +1 -1
  48. package/dist/editor/components/RenderModal/SchemaEditor/ZodTextareaEditor.js +1 -1
  49. package/dist/editor/components/RenderModal/layout.d.ts +1 -0
  50. package/dist/editor/components/RenderModal/layout.js +6 -3
  51. package/dist/editor/components/RenderQueue/actions.d.ts +3 -1
  52. package/dist/editor/components/RenderQueue/actions.js +3 -1
  53. package/dist/editor/components/SidebarRenderButton.js +3 -0
  54. package/dist/editor/helpers/colors.d.ts +1 -0
  55. package/dist/editor/helpers/colors.js +2 -1
  56. package/dist/editor/state/modals.d.ts +3 -0
  57. package/dist/get-cli-options.d.ts +2 -0
  58. package/dist/get-cli-options.js +4 -0
  59. package/dist/index.d.ts +4 -0
  60. package/dist/parse-command-line.d.ts +6 -2
  61. package/dist/parse-command-line.js +6 -0
  62. package/dist/preview-server/render-queue/job.d.ts +4 -0
  63. package/dist/preview-server/render-queue/make-retry-payload.js +9 -0
  64. package/dist/preview-server/render-queue/process-video.js +2 -0
  65. package/dist/preview-server/routes/add-render.js +2 -0
  66. package/dist/preview-server/routes.js +6 -0
  67. package/dist/render-flows/render.d.ts +3 -1
  68. package/dist/render-flows/render.js +3 -1
  69. package/dist/render.js +3 -1
  70. package/package.json +8 -8
@@ -75,7 +75,7 @@ const addSequenceRenderJob = ({ compositionId, outName, imageFormat, startFrame,
75
75
  });
76
76
  };
77
77
  exports.addSequenceRenderJob = addSequenceRenderJob;
78
- const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, scale, logLevel, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, offthreadVideoCacheSizeInBytes, colorSpace, multiProcessOnLinux, }) => {
78
+ const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, scale, logLevel, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, offthreadVideoCacheSizeInBytes, colorSpace, multiProcessOnLinux, encodingMaxRate, encodingBufferSize, }) => {
79
79
  return callApi('/api/render', {
80
80
  compositionId,
81
81
  type: 'video',
@@ -111,6 +111,8 @@ const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, s
111
111
  offthreadVideoCacheSizeInBytes,
112
112
  colorSpace,
113
113
  multiProcessOnLinux,
114
+ encodingBufferSize,
115
+ encodingMaxRate,
114
116
  });
115
117
  };
116
118
  exports.addVideoRenderJob = addVideoRenderJob;
@@ -61,6 +61,9 @@ const SidebarRenderButton = ({ composition, visible }) => {
61
61
  initialColorSpace: defaults.colorSpace,
62
62
  initialMultiProcessOnLinux: defaults.multiProcessOnLinux,
63
63
  defaultConfigurationVideoCodec: defaults.codec,
64
+ initialEncodingBufferSize: defaults.encodingBufferSize,
65
+ initialEncodingMaxRate: defaults.encodingMaxRate,
66
+ initialUserAgent: defaults.userAgent,
64
67
  });
65
68
  }, [composition.defaultProps, composition.id, props, setSelectedModal]);
66
69
  const renderAction = (0, react_1.useCallback)((color) => {
@@ -18,6 +18,7 @@ export declare const BLUE_DISABLED = "#284f73";
18
18
  export declare const LIGHT_TRANSPARENT = "rgba(255, 255, 255, 0.7)";
19
19
  export declare const UNSELECTED_GUIDE = "#7e1219";
20
20
  export declare const SELECTED_GUIDE = "#d22d3a";
21
+ export declare const LINE_COLOR = "#363A3E";
21
22
  export declare const getBackgroundFromHoverState: ({ selected, hovered, }: {
22
23
  selected: boolean;
23
24
  hovered: boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBackgroundFromHoverState = exports.SELECTED_GUIDE = exports.UNSELECTED_GUIDE = exports.LIGHT_TRANSPARENT = exports.BLUE_DISABLED = exports.BLUE = exports.WARNING_COLOR = exports.FAIL_COLOR = exports.TIMELINE_BACKGROUND = exports.INPUT_BORDER_COLOR_HOVERED = exports.INPUT_BORDER_COLOR_UNHOVERED = exports.CLEAR_HOVER = exports.VERY_LIGHT_TEXT = exports.RULER_COLOR = exports.LIGHT_TEXT = exports.SELECTED_BACKGROUND = exports.LIGHT_COLOR = exports.BORDER_COLOR = exports.INPUT_BACKGROUND = exports.BACKGROUND__TRANSPARENT = exports.BACKGROUND = void 0;
3
+ exports.getBackgroundFromHoverState = exports.LINE_COLOR = exports.SELECTED_GUIDE = exports.UNSELECTED_GUIDE = exports.LIGHT_TRANSPARENT = exports.BLUE_DISABLED = exports.BLUE = exports.WARNING_COLOR = exports.FAIL_COLOR = exports.TIMELINE_BACKGROUND = exports.INPUT_BORDER_COLOR_HOVERED = exports.INPUT_BORDER_COLOR_UNHOVERED = exports.CLEAR_HOVER = exports.VERY_LIGHT_TEXT = exports.RULER_COLOR = exports.LIGHT_TEXT = exports.SELECTED_BACKGROUND = exports.LIGHT_COLOR = exports.BORDER_COLOR = exports.INPUT_BACKGROUND = exports.BACKGROUND__TRANSPARENT = exports.BACKGROUND = void 0;
4
4
  exports.BACKGROUND = 'rgb(31,36,40)';
5
5
  exports.BACKGROUND__TRANSPARENT = 'rgba(31,36,40, 0)';
6
6
  exports.INPUT_BACKGROUND = '#2f363d';
@@ -22,6 +22,7 @@ exports.BLUE_DISABLED = '#284f73';
22
22
  exports.LIGHT_TRANSPARENT = 'rgba(255, 255, 255, 0.7)';
23
23
  exports.UNSELECTED_GUIDE = '#7e1219';
24
24
  exports.SELECTED_GUIDE = '#d22d3a';
25
+ exports.LINE_COLOR = '#363A3E';
25
26
  const getBackgroundFromHoverState = ({ selected, hovered, }) => {
26
27
  if (selected) {
27
28
  if (hovered) {
@@ -31,6 +31,9 @@ export type RenderModalState = {
31
31
  initialOffthreadVideoCacheSizeInBytes: number | null;
32
32
  initialColorSpace: ColorSpace;
33
33
  initialMultiProcessOnLinux: boolean;
34
+ initialUserAgent: string | null;
35
+ initialEncodingMaxRate: string | null;
36
+ initialEncodingBufferSize: string | null;
34
37
  minConcurrency: number;
35
38
  maxConcurrency: number;
36
39
  defaultProps: Record<string, unknown>;
@@ -32,6 +32,8 @@ export declare const getCliOptions: (options: {
32
32
  ffmpegOverride: import("@remotion/renderer").FfmpegOverrideFn;
33
33
  audioBitrate: string | null;
34
34
  videoBitrate: string | null;
35
+ encodingBufferSize: string | null;
36
+ encodingMaxRate: string | null;
35
37
  height: number | null;
36
38
  width: number | null;
37
39
  configFileImageFormat: "none" | "png" | "jpeg" | undefined;
@@ -77,6 +77,8 @@ const getCliOptions = async (options) => {
77
77
  });
78
78
  const crf = getCrf(shouldOutputImageSequence);
79
79
  const videoBitrate = config_1.ConfigInternals.getVideoBitrate();
80
+ const encodingBufferSize = config_1.ConfigInternals.getEncodingBufferSize();
81
+ const encodingMaxRate = config_1.ConfigInternals.getEncodingMaxRate();
80
82
  const pixelFormat = config_1.ConfigInternals.getPixelFormat();
81
83
  const proResProfile = getProResProfile();
82
84
  const x264Preset = getx264Preset();
@@ -131,6 +133,8 @@ const getCliOptions = async (options) => {
131
133
  ffmpegOverride: config_1.ConfigInternals.getFfmpegOverrideFunction(),
132
134
  audioBitrate: config_1.ConfigInternals.getAudioBitrate(),
133
135
  videoBitrate,
136
+ encodingBufferSize,
137
+ encodingMaxRate,
134
138
  height,
135
139
  width,
136
140
  configFileImageFormat: config_1.ConfigInternals.getUserPreferredVideoImageFormat(),
package/dist/index.d.ts CHANGED
@@ -102,6 +102,8 @@ export declare const CliInternals: {
102
102
  ffmpegOverride: import("@remotion/renderer").FfmpegOverrideFn;
103
103
  audioBitrate: string | null;
104
104
  videoBitrate: string | null;
105
+ encodingBufferSize: string | null;
106
+ encodingMaxRate: string | null;
105
107
  height: number | null;
106
108
  width: number | null;
107
109
  configFileImageFormat: "none" | "png" | "jpeg" | undefined;
@@ -169,6 +171,8 @@ export declare const CliInternals: {
169
171
  "user-agent": string;
170
172
  "offthreadvideo-cache-size-in-bytes": number | null;
171
173
  "color-space": "default" | "bt709";
174
+ "buffer-size": string | null;
175
+ "max-rate": string | null;
172
176
  "delete-after": string | undefined;
173
177
  "enable-folder-expiry": boolean | undefined;
174
178
  "enable-multiprocess-on-linux": boolean;
@@ -13,8 +13,8 @@ type CommandLineOptions = {
13
13
  ['every-nth-frame']: number;
14
14
  ['number-of-gif-loops']: number;
15
15
  ['number-of-shared-audio-tags']: number;
16
- [BrowserSafeApis.options.offthreadVideoCacheSizeInBytesOption
17
- .cliFlag]: typeof BrowserSafeApis.options.offthreadVideoCacheSizeInBytesOption.type;
16
+ [BrowserSafeApis.options.offthreadVideoCacheSizeInBytes
17
+ .cliFlag]: typeof BrowserSafeApis.options.offthreadVideoCacheSizeInBytes.type;
18
18
  [BrowserSafeApis.options.colorSpaceOption
19
19
  .cliFlag]: typeof BrowserSafeApis.options.colorSpaceOption.type;
20
20
  version: string;
@@ -25,6 +25,10 @@ type CommandLineOptions = {
25
25
  ['public-dir']: string;
26
26
  ['audio-bitrate']: string;
27
27
  ['video-bitrate']: string;
28
+ [BrowserSafeApis.options.encodingBufferSizeOption
29
+ .cliFlag]: typeof BrowserSafeApis.options.encodingBufferSizeOption.type;
30
+ [BrowserSafeApis.options.encodingMaxRateOption
31
+ .cliFlag]: typeof BrowserSafeApis.options.encodingMaxRateOption.type;
28
32
  ['audio-codec']: AudioCodec;
29
33
  crf: number;
30
34
  force: boolean;
@@ -144,6 +144,12 @@ const parseCommandLine = () => {
144
144
  if (typeof exports.parsedCli['video-bitrate'] !== 'undefined') {
145
145
  config_1.Config.setVideoBitrate(exports.parsedCli['video-bitrate']);
146
146
  }
147
+ if (typeof exports.parsedCli['buffer-size'] !== 'undefined') {
148
+ config_1.Config.setEncodingBufferSize(exports.parsedCli['buffer-size']);
149
+ }
150
+ if (typeof exports.parsedCli['max-rate'] !== 'undefined') {
151
+ config_1.Config.setEncodingMaxRate(exports.parsedCli['max-rate']);
152
+ }
147
153
  if (typeof exports.parsedCli['offthreadvideo-cache-size-in-bytes'] !== 'undefined') {
148
154
  config_1.Config.setOffthreadVideoCacheSizeInBytes(exports.parsedCli['offthreadvideo-cache-size-in-bytes']);
149
155
  }
@@ -57,6 +57,8 @@ type RenderJobDynamicFields = ({
57
57
  pixelFormat: PixelFormat;
58
58
  audioBitrate: string | null;
59
59
  videoBitrate: string | null;
60
+ encodingBufferSize: string | null;
61
+ encodingMaxRate: string | null;
60
62
  everyNthFrame: number;
61
63
  numberOfGifLoops: number | null;
62
64
  disallowParallelEncoding: boolean;
@@ -116,6 +118,8 @@ type AddRenderRequestDynamicFields = {
116
118
  pixelFormat: PixelFormat;
117
119
  audioBitrate: string | null;
118
120
  videoBitrate: string | null;
121
+ encodingBufferSize: string | null;
122
+ encodingMaxRate: string | null;
119
123
  everyNthFrame: number;
120
124
  numberOfGifLoops: number | null;
121
125
  disallowParallelEncoding: boolean;
@@ -44,6 +44,9 @@ const makeRetryPayload = (job) => {
44
44
  initialColorSpace: defaults.colorSpace,
45
45
  initialMultiProcessOnLinux: job.multiProcessOnLinux,
46
46
  defaultConfigurationVideoCodec: defaults.codec,
47
+ initialEncodingBufferSize: defaults.encodingBufferSize,
48
+ initialEncodingMaxRate: defaults.encodingMaxRate,
49
+ initialUserAgent: job.chromiumOptions.userAgent,
47
50
  };
48
51
  }
49
52
  if (job.type === 'sequence') {
@@ -82,6 +85,9 @@ const makeRetryPayload = (job) => {
82
85
  initialMultiProcessOnLinux: job.multiProcessOnLinux,
83
86
  defaultConfigurationVideoCodec: defaults.codec,
84
87
  defaultConfigurationAudioCodec: defaults.audioCodec,
88
+ initialEncodingBufferSize: defaults.encodingBufferSize,
89
+ initialEncodingMaxRate: defaults.encodingMaxRate,
90
+ initialUserAgent: job.chromiumOptions.userAgent,
85
91
  };
86
92
  }
87
93
  if (job.type === 'video') {
@@ -120,6 +126,9 @@ const makeRetryPayload = (job) => {
120
126
  initialMultiProcessOnLinux: job.multiProcessOnLinux,
121
127
  defaultConfigurationVideoCodec: job.codec,
122
128
  defaultConfigurationAudioCodec: job.audioCodec,
129
+ initialEncodingBufferSize: job.encodingBufferSize,
130
+ initialEncodingMaxRate: job.encodingMaxRate,
131
+ initialUserAgent: job.chromiumOptions.userAgent,
123
132
  };
124
133
  }
125
134
  throw new Error(`Job ${JSON.stringify(job)} Not implemented`);
@@ -58,6 +58,8 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
58
58
  x264Preset: job.type === 'video' ? (_c = job.x264Preset) !== null && _c !== void 0 ? _c : undefined : undefined,
59
59
  pixelFormat: job.type === 'video' ? job.pixelFormat : 'yuv420p',
60
60
  videoBitrate: job.type === 'video' ? job.videoBitrate : null,
61
+ encodingBufferSize: job.type === 'video' ? job.encodingBufferSize : null,
62
+ encodingMaxRate: job.type === 'video' ? job.encodingMaxRate : null,
61
63
  numberOfGifLoops: job.type === 'video' ? job.numberOfGifLoops : null,
62
64
  audioCodec: job.type === 'video' ? job.audioCodec : null,
63
65
  disallowParallelEncoding: job.type === 'video' ? job.disallowParallelEncoding : false,
@@ -36,6 +36,8 @@ const handleAddRender = ({ input, entryPoint, remotionRoot, logLevel, }) => {
36
36
  pixelFormat: input.pixelFormat,
37
37
  audioBitrate: input.audioBitrate,
38
38
  videoBitrate: input.videoBitrate,
39
+ encodingMaxRate: input.encodingMaxRate,
40
+ encodingBufferSize: input.encodingBufferSize,
39
41
  everyNthFrame: input.everyNthFrame,
40
42
  numberOfGifLoops: input.numberOfGifLoops,
41
43
  delayRenderTimeout: input.delayRenderTimeout,
@@ -67,6 +67,8 @@ const handleFallback = async ({ remotionRoot, hash, response, getCurrentInputPro
67
67
  const x264Preset = (_b = config_1.ConfigInternals.getPresetProfile()) !== null && _b !== void 0 ? _b : 'medium';
68
68
  const audioBitrate = config_1.ConfigInternals.getAudioBitrate();
69
69
  const videoBitrate = config_1.ConfigInternals.getVideoBitrate();
70
+ const encodingBufferSize = config_1.ConfigInternals.getEncodingBufferSize();
71
+ const encodingMaxRate = config_1.ConfigInternals.getEncodingMaxRate();
70
72
  const everyNthFrame = config_1.ConfigInternals.getEveryNthFrame();
71
73
  const numberOfGifLoops = config_1.ConfigInternals.getNumberOfGifLoops();
72
74
  const delayRenderTimeout = config_1.ConfigInternals.getCurrentPuppeteerTimeout();
@@ -79,6 +81,7 @@ const handleFallback = async ({ remotionRoot, hash, response, getCurrentInputPro
79
81
  const openGlRenderer = config_1.ConfigInternals.getChromiumOpenGlRenderer();
80
82
  const offthreadVideoCacheSizeInBytes = config_1.ConfigInternals.getOffthreadVideoCacheSizeInBytes();
81
83
  const colorSpace = config_1.ConfigInternals.getColorSpace();
84
+ const userAgent = config_1.ConfigInternals.getChromiumUserAgent();
82
85
  const maxConcurrency = renderer_1.RenderInternals.getMaxConcurrency();
83
86
  const minConcurrency = renderer_1.RenderInternals.getMinConcurrency();
84
87
  const multiProcessOnLinux = config_1.ConfigInternals.getChromiumMultiProcessOnLinux();
@@ -116,6 +119,8 @@ const handleFallback = async ({ remotionRoot, hash, response, getCurrentInputPro
116
119
  pixelFormat,
117
120
  audioBitrate,
118
121
  videoBitrate,
122
+ encodingBufferSize,
123
+ encodingMaxRate,
119
124
  everyNthFrame,
120
125
  numberOfGifLoops,
121
126
  delayRenderTimeout,
@@ -127,6 +132,7 @@ const handleFallback = async ({ remotionRoot, hash, response, getCurrentInputPro
127
132
  offthreadVideoCacheSizeInBytes,
128
133
  colorSpace,
129
134
  multiProcessOnLinux,
135
+ userAgent,
130
136
  },
131
137
  publicFolderExists: (0, node_fs_1.existsSync)(publicDir) ? publicDir : null,
132
138
  }));
@@ -1,7 +1,7 @@
1
1
  import type { AudioCodec, Browser, BrowserExecutable, CancelSignal, ChromiumOptions, Codec, ColorSpace, Crf, FfmpegOverrideFn, FrameRange, LogLevel, PixelFormat, ProResProfile, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
2
  import type { Loop } from '../config/number-of-gif-loops';
3
3
  import type { JobProgressCallback } from '../preview-server/render-queue/job';
4
- export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, colorSpace, }: {
4
+ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, colorSpace, }: {
5
5
  remotionRoot: string;
6
6
  fullEntryPoint: string;
7
7
  entryPointReason: string;
@@ -37,6 +37,8 @@ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, l
37
37
  ffmpegOverride: FfmpegOverrideFn;
38
38
  audioBitrate: string | null;
39
39
  videoBitrate: string | null;
40
+ encodingMaxRate: string | null;
41
+ encodingBufferSize: string | null;
40
42
  muted: boolean;
41
43
  enforceAudioTrack: boolean;
42
44
  proResProfile: ProResProfile | undefined;
@@ -47,7 +47,7 @@ const setup_cache_1 = require("../setup-cache");
47
47
  const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying-logger");
48
48
  const truthy_1 = require("../truthy");
49
49
  const user_passed_output_location_1 = require("../user-passed-output-location");
50
- const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, colorSpace, }) => {
50
+ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, colorSpace, }) => {
51
51
  var _a;
52
52
  const downloads = [];
53
53
  const browserInstance = renderer_1.RenderInternals.internalOpenBrowser({
@@ -294,6 +294,8 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
294
294
  codec,
295
295
  audioBitrate,
296
296
  videoBitrate,
297
+ encodingMaxRate,
298
+ encodingBufferSize,
297
299
  onProgress: (update) => {
298
300
  stitchingProgress.doneIn =
299
301
  update.encodedDoneIn;
package/dist/render.js CHANGED
@@ -25,7 +25,7 @@ const render = async (remotionRoot, args, logLevel) => {
25
25
  log_1.Log.error('--frame flag was passed to the `render` command. This flag only works with the `still` command. Did you mean `--frames`? See reference: https://www.remotion.dev/docs/cli/');
26
26
  process.exit(1);
27
27
  }
28
- const { concurrency, frameRange, shouldOutputImageSequence, overwrite, inputProps, envVariables, jpegQuality, browser, browserExecutable, scale, chromiumOptions, everyNthFrame, puppeteerTimeout, publicDir, height, width, crf, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, numberOfGifLoops, offthreadVideoCacheSizeInBytes, colorSpace, } = await (0, get_cli_options_1.getCliOptions)({
28
+ const { concurrency, frameRange, shouldOutputImageSequence, overwrite, inputProps, envVariables, jpegQuality, browser, browserExecutable, scale, chromiumOptions, everyNthFrame, puppeteerTimeout, publicDir, height, width, crf, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, encodingMaxRate, encodingBufferSize, numberOfGifLoops, offthreadVideoCacheSizeInBytes, colorSpace, } = await (0, get_cli_options_1.getCliOptions)({
29
29
  isLambda: false,
30
30
  type: 'series',
31
31
  remotionRoot,
@@ -79,6 +79,8 @@ const render = async (remotionRoot, args, logLevel) => {
79
79
  x264Preset,
80
80
  pixelFormat,
81
81
  videoBitrate,
82
+ encodingMaxRate,
83
+ encodingBufferSize,
82
84
  numberOfGifLoops,
83
85
  audioCodec,
84
86
  disallowParallelEncoding: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "4.0.76",
3
+ "version": "4.0.79",
4
4
  "description": "CLI for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -35,11 +35,11 @@
35
35
  "prompts": "2.4.1",
36
36
  "semver": "7.5.3",
37
37
  "source-map": "0.6.1",
38
- "@remotion/media-utils": "4.0.76",
39
- "@remotion/renderer": "4.0.76",
40
- "@remotion/bundler": "4.0.76",
41
- "remotion": "4.0.76",
42
- "@remotion/player": "4.0.76"
38
+ "@remotion/bundler": "4.0.79",
39
+ "@remotion/player": "4.0.79",
40
+ "@remotion/media-utils": "4.0.79",
41
+ "remotion": "4.0.79",
42
+ "@remotion/renderer": "4.0.79"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "react": ">=16.8.0",
@@ -65,8 +65,8 @@
65
65
  "react-dom": "18.2.0",
66
66
  "vitest": "0.31.1",
67
67
  "zod": "^3.22.3",
68
- "@remotion/tailwind": "4.0.76",
69
- "@remotion/zod-types": "4.0.76"
68
+ "@remotion/zod-types": "4.0.79",
69
+ "@remotion/tailwind": "4.0.79"
70
70
  },
71
71
  "keywords": [
72
72
  "remotion",