@remotion/cli 3.3.38 → 3.3.40

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 +1 -6
  2. package/dist/compositions.js +1 -6
  3. package/dist/config/index.js +69 -55
  4. package/dist/config/timeout.js +1 -1
  5. package/dist/editor/components/Modals.js +1 -1
  6. package/dist/editor/components/RenderButton.js +29 -8
  7. package/dist/editor/components/RenderModal/CrfSetting.d.ts +2 -2
  8. package/dist/editor/components/RenderModal/CrfSetting.js +11 -24
  9. package/dist/editor/components/RenderModal/EveryNthFrameSetting.d.ts +5 -0
  10. package/dist/editor/components/RenderModal/EveryNthFrameSetting.js +9 -0
  11. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.d.ts +5 -0
  12. package/dist/editor/components/RenderModal/NumberOfLoopsSetting.js +26 -0
  13. package/dist/editor/components/RenderModal/NumberSetting.d.ts +9 -0
  14. package/dist/editor/components/RenderModal/NumberSetting.js +26 -0
  15. package/dist/editor/components/RenderModal/RenderModal.d.ts +19 -5
  16. package/dist/editor/components/RenderModal/RenderModal.js +225 -181
  17. package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +11 -0
  18. package/dist/editor/components/RenderModal/RenderModalAdvanced.js +15 -0
  19. package/dist/editor/components/RenderModal/RenderModalAudio.d.ts +13 -0
  20. package/dist/editor/components/RenderModal/RenderModalAudio.js +22 -0
  21. package/dist/editor/components/RenderModal/RenderModalBasic.d.ts +22 -0
  22. package/dist/editor/components/RenderModal/RenderModalBasic.js +70 -0
  23. package/dist/editor/components/RenderModal/RenderModalGeneral.d.ts +0 -0
  24. package/dist/editor/components/RenderModal/RenderModalGeneral.js +1 -0
  25. package/dist/editor/components/RenderModal/RenderModalGif.d.ts +9 -0
  26. package/dist/editor/components/RenderModal/RenderModalGif.js +16 -0
  27. package/dist/editor/components/RenderModal/RenderModalHr.d.ts +2 -0
  28. package/dist/editor/components/RenderModal/RenderModalHr.js +18 -0
  29. package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +28 -0
  30. package/dist/editor/components/RenderModal/RenderModalPicture.js +51 -0
  31. package/dist/editor/components/RenderModal/ScaleSetting.js +2 -18
  32. package/dist/editor/components/RenderModal/human-readable-codec.d.ts +2 -0
  33. package/dist/editor/components/RenderModal/human-readable-codec.js +36 -0
  34. package/dist/editor/components/RenderModal/layout.d.ts +1 -0
  35. package/dist/editor/components/RenderModal/layout.js +8 -2
  36. package/dist/editor/components/RenderQueue/RenderQueueRemoveItem.js +2 -1
  37. package/dist/editor/components/RenderQueue/actions.d.ts +15 -2
  38. package/dist/editor/components/RenderQueue/actions.js +14 -1
  39. package/dist/editor/components/RenderToolbarIcon.js +30 -8
  40. package/dist/editor/components/SegmentedControl.js +1 -1
  41. package/dist/editor/components/SidebarContent.js +2 -1
  42. package/dist/editor/icons/audio.d.ts +2 -0
  43. package/dist/editor/icons/audio.js +6 -0
  44. package/dist/editor/icons/file.d.ts +2 -0
  45. package/dist/editor/icons/file.js +6 -0
  46. package/dist/editor/icons/frame.d.ts +2 -0
  47. package/dist/editor/icons/frame.js +6 -0
  48. package/dist/editor/icons/gear.d.ts +2 -0
  49. package/dist/editor/icons/gear.js +6 -0
  50. package/dist/editor/icons/gif.d.ts +2 -0
  51. package/dist/editor/icons/gif.js +6 -0
  52. package/dist/entry-point.js +49 -6
  53. package/dist/get-env.js +1 -1
  54. package/dist/handle-common-errors.js +7 -1
  55. package/dist/index.d.ts +1 -0
  56. package/dist/index.js +2 -0
  57. package/dist/list-of-remotion-packages.js +1 -0
  58. package/dist/parse-command-line.js +32 -32
  59. package/dist/preview-server/render-queue/get-default-video-contexts.d.ts +1 -1
  60. package/dist/preview-server/render-queue/job.d.ts +27 -1
  61. package/dist/preview-server/render-queue/make-retry-payload.js +52 -10
  62. package/dist/preview-server/render-queue/process-video.js +16 -9
  63. package/dist/preview-server/routes/add-render.js +13 -0
  64. package/dist/preview.js +1 -2
  65. package/dist/render-flows/render.d.ts +14 -4
  66. package/dist/render-flows/render.js +40 -13
  67. package/dist/render.js +3 -6
  68. package/dist/still.js +2 -5
  69. package/dist/upgrade.js +9 -3
  70. package/package.json +7 -7
@@ -14,7 +14,6 @@ const get_cli_options_1 = require("../get-cli-options");
14
14
  const get_composition_with_dimension_override_1 = require("../get-composition-with-dimension-override");
15
15
  const get_filename_1 = require("../get-filename");
16
16
  const get_final_output_codec_1 = require("../get-final-output-codec");
17
- const get_render_media_options_1 = require("../get-render-media-options");
18
17
  const image_formats_1 = require("../image-formats");
19
18
  const log_1 = require("../log");
20
19
  const parse_command_line_1 = require("../parse-command-line");
@@ -22,7 +21,7 @@ const progress_bar_1 = require("../progress-bar");
22
21
  const setup_cache_1 = require("../setup-cache");
23
22
  const truthy_1 = require("../truthy");
24
23
  const user_passed_output_location_1 = require("../user-passed-output-location");
25
- const renderCompFlow = async ({ remotionRoot, fullEntryPoint, ffmpegExecutable, ffprobeExecutable, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, inputProps, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, configFileImageFormat, outputLocationFromUI, quality, onProgress, addCleanupCallback, uiCodec, uiImageFormat, cancelSignal, }) => {
24
+ const renderCompFlow = async ({ remotionRoot, fullEntryPoint, ffmpegExecutable, ffprobeExecutable, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, inputProps, envVariables, puppeteerTimeout, port, height, width, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, everyNthFrame, configFileImageFormat, outputLocationFromUI, quality, onProgress, addCleanupCallback, cancelSignal, crf, uiCodec, uiImageFormat, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, pixelFormat, videoBitrate, numberOfGifLoops, }) => {
26
25
  var _a;
27
26
  const downloads = [];
28
27
  const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
@@ -101,7 +100,7 @@ const renderCompFlow = async ({ remotionRoot, fullEntryPoint, ffmpegExecutable,
101
100
  outName: (0, user_passed_output_location_1.getUserPassedOutputLocation)(argsAfterComposition),
102
101
  uiCodec,
103
102
  });
104
- (0, get_cli_options_1.validateFfmpegCanUseCodec)(codec, remotionRoot);
103
+ await (0, get_cli_options_1.validateFfmpegCanUseCodec)(codec, remotionRoot);
105
104
  renderer_1.RenderInternals.validateEvenDimensionsWithCodec({
106
105
  width: config.width,
107
106
  height: config.height,
@@ -112,7 +111,7 @@ const renderCompFlow = async ({ remotionRoot, fullEntryPoint, ffmpegExecutable,
112
111
  codec,
113
112
  imageSequence: shouldOutputImageSequence,
114
113
  compositionName: compositionId,
115
- defaultExtension: renderer_1.RenderInternals.getFileExtensionFromCodec(codec, 'final'),
114
+ defaultExtension: renderer_1.RenderInternals.getFileExtensionFromCodec(codec),
116
115
  args: argsAfterComposition,
117
116
  indent,
118
117
  fromUi: outputLocationFromUI,
@@ -135,6 +134,7 @@ const renderCompFlow = async ({ remotionRoot, fullEntryPoint, ffmpegExecutable,
135
134
  let encodedDoneIn = null;
136
135
  let renderedDoneIn = null;
137
136
  let stitchStage = 'encoding';
137
+ const actualConcurrency = renderer_1.RenderInternals.getActualConcurrency(concurrency);
138
138
  const updateRenderProgress = () => {
139
139
  if (totalFrames.length === 0) {
140
140
  throw new Error('totalFrames should not be 0');
@@ -143,7 +143,7 @@ const renderCompFlow = async ({ remotionRoot, fullEntryPoint, ffmpegExecutable,
143
143
  rendering: {
144
144
  frames: renderedFrames,
145
145
  totalFrames: totalFrames.length,
146
- concurrency: renderer_1.RenderInternals.getActualConcurrency(concurrency),
146
+ concurrency: actualConcurrency,
147
147
  doneIn: renderedDoneIn,
148
148
  steps,
149
149
  },
@@ -202,7 +202,7 @@ const renderCompFlow = async ({ remotionRoot, fullEntryPoint, ffmpegExecutable,
202
202
  everyNthFrame,
203
203
  envVariables,
204
204
  frameRange,
205
- concurrency,
205
+ concurrency: actualConcurrency,
206
206
  puppeteerInstance,
207
207
  quality,
208
208
  timeoutInMilliseconds: puppeteerTimeout,
@@ -215,17 +215,43 @@ const renderCompFlow = async ({ remotionRoot, fullEntryPoint, ffmpegExecutable,
215
215
  downloadMap,
216
216
  });
217
217
  updateRenderProgress();
218
+ process.stdout.write('\n');
218
219
  log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.cyan(`▶ ${absoluteOutputFile}`));
219
220
  }
220
- const options = await (0, get_render_media_options_1.getRenderMediaOptions)({
221
- config,
221
+ await (0, renderer_1.renderMedia)({
222
222
  outputLocation: absoluteOutputFile,
223
+ composition: {
224
+ ...config,
225
+ width: width !== null && width !== void 0 ? width : config.width,
226
+ height: height !== null && height !== void 0 ? height : config.height,
227
+ },
228
+ crf,
229
+ envVariables,
230
+ ffmpegExecutable,
231
+ ffprobeExecutable,
232
+ frameRange,
233
+ inputProps,
234
+ overwrite,
235
+ pixelFormat,
236
+ proResProfile,
237
+ quality,
238
+ dumpBrowserLogs: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
239
+ chromiumOptions,
240
+ timeoutInMilliseconds: config_1.ConfigInternals.getCurrentPuppeteerTimeout(),
241
+ scale,
242
+ port,
243
+ numberOfGifLoops,
244
+ everyNthFrame,
245
+ verbose: renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose'),
246
+ muted,
247
+ enforceAudioTrack,
248
+ browserExecutable,
249
+ ffmpegOverride,
250
+ concurrency,
223
251
  serveUrl: urlOrBundle,
224
252
  codec,
225
- remotionRoot,
226
- });
227
- await (0, renderer_1.renderMedia)({
228
- ...options,
253
+ audioBitrate,
254
+ videoBitrate,
229
255
  onProgress: (update) => {
230
256
  encodedDoneIn = update.encodedDoneIn;
231
257
  encodedFrames = update.encodedFrames;
@@ -247,7 +273,8 @@ const renderCompFlow = async ({ remotionRoot, fullEntryPoint, ffmpegExecutable,
247
273
  },
248
274
  printLog: (...str) => log_1.Log.verboseAdvanced({ indent, logLevel }, ...str),
249
275
  });
250
- log_1.Log.infoAdvanced({ indent, logLevel });
276
+ updateRenderProgress();
277
+ process.stdout.write('\n');
251
278
  log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.cyan(`▶ ${absoluteOutputFile}`));
252
279
  for (const line of renderer_1.RenderInternals.perf.getPerf()) {
253
280
  log_1.Log.verboseAdvanced({ indent, logLevel }, line);
package/dist/render.js CHANGED
@@ -32,9 +32,6 @@ const render = async (remotionRoot, args) => {
32
32
  log_1.Log.error('Documentation: https://www.remotion.dev/docs/render');
33
33
  process.exit(1);
34
34
  }
35
- const fullPath = renderer_1.RenderInternals.isServeUrl(file)
36
- ? file
37
- : path_1.default.join(process.cwd(), file);
38
35
  const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
39
36
  if (parse_command_line_1.parsedCli.frame) {
40
37
  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/');
@@ -59,12 +56,12 @@ const render = async (remotionRoot, args) => {
59
56
  forceDeviceScaleFactor: scale,
60
57
  });
61
58
  const steps = [
62
- renderer_1.RenderInternals.isServeUrl(fullPath) ? null : 'bundling',
59
+ renderer_1.RenderInternals.isServeUrl(file) ? null : 'bundling',
63
60
  'rendering',
64
61
  shouldOutputImageSequence ? null : 'stitching',
65
62
  ].filter(remotion_1.Internals.truthy);
66
63
  const { urlOrBundle, cleanup: cleanupBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({
67
- fullPath,
64
+ fullPath: file,
68
65
  remotionRoot,
69
66
  steps,
70
67
  publicDir,
@@ -122,7 +119,7 @@ const render = async (remotionRoot, args) => {
122
119
  defaultExtension: renderer_1.RenderInternals.getFileExtensionFromCodec(codec),
123
120
  args: argsAfterComposition,
124
121
  });
125
- log_1.Log.info(chalk_1.chalk.gray(`Entry point = ${file} (${entryPointReason}), Composition = ${compositionId} (${reason}), Codec = ${codec} (${codecReason}), Output = ${relativeOutputLocation}`));
122
+ log_1.Log.info(chalk_1.chalk.gray(`Entry point = ${path_1.default.relative(process.cwd(), file)} (${entryPointReason}), Composition = ${compositionId} (${reason}), Codec = ${codec} (${codecReason}), Output = ${relativeOutputLocation}`));
126
123
  const absoluteOutputFile = (0, get_cli_options_1.getAndValidateAbsoluteOutputFile)(relativeOutputLocation, overwrite);
127
124
  const outputDir = shouldOutputImageSequence
128
125
  ? absoluteOutputFile
package/dist/still.js CHANGED
@@ -29,9 +29,6 @@ const still = async (remotionRoot, args) => {
29
29
  log_1.Log.error('Documentation: https://www.remotion.dev/docs/render');
30
30
  process.exit(1);
31
31
  }
32
- const fullPath = renderer_1.RenderInternals.isServeUrl(file)
33
- ? file
34
- : path_1.default.join(process.cwd(), file);
35
32
  if (parse_command_line_1.parsedCli.frames) {
36
33
  log_1.Log.error('--frames flag was passed to the `still` command. This flag only works with the `render` command. Did you mean `--frame`? See reference: https://www.remotion.dev/docs/cli/');
37
34
  process.exit(1);
@@ -49,10 +46,10 @@ const still = async (remotionRoot, args) => {
49
46
  forceDeviceScaleFactor: scale,
50
47
  });
51
48
  const steps = [
52
- renderer_1.RenderInternals.isServeUrl(fullPath) ? null : 'bundling',
49
+ renderer_1.RenderInternals.isServeUrl(file) ? null : 'bundling',
53
50
  'rendering',
54
51
  ].filter(truthy_1.truthy);
55
- const { cleanup: cleanupBundle, urlOrBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({ fullPath, remotionRoot, steps, publicDir });
52
+ const { cleanup: cleanupBundle, urlOrBundle } = await (0, setup_cache_1.bundleOnCliOrTakeServeUrl)({ fullPath: file, remotionRoot, steps, publicDir });
56
53
  const puppeteerInstance = await browserInstance;
57
54
  const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
58
55
  const comps = await (0, renderer_1.getCompositions)(urlOrBundle, {
package/dist/upgrade.js CHANGED
@@ -21,10 +21,13 @@ const getUpgradeCommand = ({ manager, packages, version, }) => {
21
21
  return commands[manager];
22
22
  };
23
23
  const upgrade = async (remotionRoot, packageManager) => {
24
- var _a;
24
+ var _a, _b, _c, _d;
25
25
  const packageJsonFilePath = path_1.default.join(remotionRoot, 'package.json');
26
26
  const packageJson = require(packageJsonFilePath);
27
27
  const dependencies = Object.keys(packageJson.dependencies);
28
+ const devDependencies = Object.keys((_a = packageJson.devDependencies) !== null && _a !== void 0 ? _a : {});
29
+ const optionalDependencies = Object.keys((_b = packageJson.optionalDependencies) !== null && _b !== void 0 ? _b : {});
30
+ const peerDependencies = Object.keys((_c = packageJson.peerDependencies) !== null && _c !== void 0 ? _c : {});
28
31
  const latestRemotionVersion = await (0, get_latest_remotion_version_1.getLatestRemotionVersion)();
29
32
  log_1.Log.info('Newest Remotion version is', latestRemotionVersion);
30
33
  const manager = (0, get_package_manager_1.getPackageManager)(remotionRoot, packageManager);
@@ -33,7 +36,10 @@ const upgrade = async (remotionRoot, packageManager) => {
33
36
  .map((p) => p.path)
34
37
  .join(', ')}). Install dependencies using your favorite manager!`);
35
38
  }
36
- const toUpgrade = list_of_remotion_packages_1.listOfRemotionPackages.filter((u) => dependencies.includes(u));
39
+ const toUpgrade = list_of_remotion_packages_1.listOfRemotionPackages.filter((u) => dependencies.includes(u) ||
40
+ devDependencies.includes(u) ||
41
+ optionalDependencies.includes(u) ||
42
+ peerDependencies.includes(u));
37
43
  const prom = renderer_1.RenderInternals.execa(manager.manager, getUpgradeCommand({
38
44
  manager: manager.manager,
39
45
  packages: toUpgrade,
@@ -42,7 +48,7 @@ const upgrade = async (remotionRoot, packageManager) => {
42
48
  stdio: 'inherit',
43
49
  });
44
50
  if (renderer_1.RenderInternals.isEqualOrBelowLogLevel(config_1.ConfigInternals.Logging.getLogLevel(), 'info')) {
45
- (_a = prom.stdout) === null || _a === void 0 ? void 0 : _a.pipe(process.stdout);
51
+ (_d = prom.stdout) === null || _d === void 0 ? void 0 : _d.pipe(process.stdout);
46
52
  }
47
53
  await prom;
48
54
  log_1.Log.info('⏫ Remotion has been upgraded!');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remotion/cli",
3
- "version": "3.3.38",
3
+ "version": "3.3.40",
4
4
  "description": "CLI for Remotion",
5
5
  "main": "dist/index.js",
6
6
  "sideEffects": false,
@@ -22,16 +22,16 @@
22
22
  "author": "Jonny Burger <jonny@remotion.dev>",
23
23
  "license": "SEE LICENSE IN LICENSE.md",
24
24
  "dependencies": {
25
- "@remotion/bundler": "3.3.38",
26
- "@remotion/media-utils": "3.3.38",
27
- "@remotion/player": "3.3.38",
28
- "@remotion/renderer": "3.3.38",
25
+ "@remotion/bundler": "3.3.40",
26
+ "@remotion/media-utils": "3.3.40",
27
+ "@remotion/player": "3.3.40",
28
+ "@remotion/renderer": "3.3.40",
29
29
  "better-opn": "2.1.1",
30
30
  "dotenv": "9.0.2",
31
31
  "memfs": "3.4.3",
32
32
  "minimist": "1.2.6",
33
33
  "prompts": "2.4.1",
34
- "remotion": "3.3.38",
34
+ "remotion": "3.3.40",
35
35
  "semver": "7.3.5",
36
36
  "source-map": "0.6.1"
37
37
  },
@@ -71,5 +71,5 @@
71
71
  "publishConfig": {
72
72
  "access": "public"
73
73
  },
74
- "gitHead": "ac58695e452e58deb5c010f09bcc94d036930e6c"
74
+ "gitHead": "be5f606a81761f7f8e1e191ebabd5f8d225d8c09"
75
75
  }