@remotion/cli 4.0.399 → 4.0.401

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/benchmark.js CHANGED
@@ -136,6 +136,7 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
136
136
  indent: false,
137
137
  logLevel,
138
138
  quiet: (0, parsed_cli_1.quietFlagProvided)(),
139
+ onProgress: () => undefined,
139
140
  });
140
141
  const indent = false;
141
142
  await renderer_1.RenderInternals.internalEnsureBrowser({
@@ -21,6 +21,7 @@ const ensureCommand = async (logLevel) => {
21
21
  indent,
22
22
  logLevel,
23
23
  quiet: (0, parsed_cli_1.quietFlagProvided)(),
24
+ onProgress: () => undefined,
24
25
  }),
25
26
  });
26
27
  if (status.type === 'no-browser') {
@@ -1,6 +1,8 @@
1
1
  import type { LogLevel, OnBrowserDownload } from '@remotion/renderer';
2
- export declare const defaultBrowserDownloadProgress: ({ indent, logLevel, quiet, }: {
2
+ import type { BrowserDownloadState } from '@remotion/studio-shared';
3
+ export declare const defaultBrowserDownloadProgress: ({ indent, logLevel, quiet, onProgress, }: {
3
4
  indent: boolean;
4
5
  logLevel: LogLevel;
5
6
  quiet: boolean;
7
+ onProgress: (progress: BrowserDownloadState) => void;
6
8
  }) => OnBrowserDownload;
@@ -22,7 +22,7 @@ const makeDownloadProgress = ({ bytesDownloaded, totalBytes, doneIn, chromeMode,
22
22
  .filter(truthy_1.truthy)
23
23
  .join(' ');
24
24
  };
25
- const defaultBrowserDownloadProgress = ({ indent, logLevel, quiet, }) => {
25
+ const defaultBrowserDownloadProgress = ({ indent, logLevel, quiet, onProgress, }) => {
26
26
  return ({ chromeMode }) => {
27
27
  if (chromeMode === 'chrome-for-testing') {
28
28
  log_1.Log.info({ indent, logLevel }, 'Downloading Chrome for Testing https://www.remotion.dev/chrome-for-testing');
@@ -63,6 +63,11 @@ const defaultBrowserDownloadProgress = ({ indent, logLevel, quiet, }) => {
63
63
  if (progress.percent === 1) {
64
64
  doneIn = Date.now() - startedAt;
65
65
  }
66
+ onProgress({
67
+ alreadyAvailable: progress.alreadyAvailable,
68
+ progress: progress.percent,
69
+ doneIn,
70
+ });
66
71
  cliOutput.update(makeDownloadProgress({
67
72
  doneIn,
68
73
  bytesDownloaded: progress.downloadedBytes,
@@ -119,6 +119,7 @@ const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
119
119
  indent: false,
120
120
  logLevel,
121
121
  quiet: (0, parsed_cli_1.quietFlagProvided)(),
122
+ onProgress: () => undefined,
122
123
  }),
123
124
  chromeMode,
124
125
  mediaCacheSizeInBytes,
package/dist/gpu.js CHANGED
@@ -34,6 +34,7 @@ const gpuCommand = async (logLevel) => {
34
34
  quiet: (0, parsed_cli_1.quietFlagProvided)(),
35
35
  indent: false,
36
36
  logLevel,
37
+ onProgress: () => undefined,
37
38
  });
38
39
  await renderer_1.RenderInternals.internalEnsureBrowser({
39
40
  browserExecutable,
@@ -61,6 +62,7 @@ const gpuCommand = async (logLevel) => {
61
62
  indent: false,
62
63
  logLevel,
63
64
  quiet: (0, parsed_cli_1.quietFlagProvided)(),
65
+ onProgress: () => undefined,
64
66
  }),
65
67
  chromeMode,
66
68
  onLog: renderer_1.RenderInternals.defaultOnLog,
package/dist/index.d.ts CHANGED
@@ -172,10 +172,11 @@ export declare const CliInternals: {
172
172
  config: import("remotion").VideoConfig;
173
173
  argsAfterComposition: (string | number)[];
174
174
  }>;
175
- defaultBrowserDownloadProgress: ({ indent, logLevel, quiet, }: {
175
+ defaultBrowserDownloadProgress: ({ indent, logLevel, quiet, onProgress, }: {
176
176
  indent: boolean;
177
177
  logLevel: import("@remotion/renderer").LogLevel;
178
178
  quiet: boolean;
179
+ onProgress: (progress: import("@remotion/studio-shared").BrowserDownloadState) => void;
179
180
  }) => import("@remotion/renderer").OnBrowserDownload;
180
181
  LABEL_WIDTH: number;
181
182
  printFact: (printLevel: import("@remotion/renderer").LogLevel) => ({ indent, logLevel, left, right, color, link, }: {
@@ -205,7 +205,7 @@ const makeStitchingProgress = ({ stitchingProgress, isUsingParallelEncoding, })
205
205
  .join(' ');
206
206
  };
207
207
  const makeRenderingAndStitchingProgress = ({ prog, isUsingParallelEncoding, }) => {
208
- var _a;
208
+ var _a, _b;
209
209
  const { rendering, stitching, downloads, bundling, artifactState, logs } = prog;
210
210
  const output = [
211
211
  rendering ? makeRenderingProgress(rendering) : null,
@@ -227,19 +227,23 @@ const makeRenderingAndStitchingProgress = ({ prog, isUsingParallelEncoding, }) =
227
227
  const stitchingProgress = stitching
228
228
  ? stitching.frames / stitching.totalFrames
229
229
  : 0;
230
- const progress = bundling.progress * 0.3 + renderProgress * 0.6 + stitchingProgress * 0.1;
230
+ const progress = ((_b = bundling === null || bundling === void 0 ? void 0 : bundling.progress) !== null && _b !== void 0 ? _b : 0) * 0.3 +
231
+ renderProgress * 0.6 +
232
+ stitchingProgress * 0.1;
231
233
  return { output, progress, message: getGuiProgressSubtitle(prog) };
232
234
  };
233
235
  exports.makeRenderingAndStitchingProgress = makeRenderingAndStitchingProgress;
234
236
  const getGuiProgressSubtitle = (progress) => {
237
+ var _a, _b;
235
238
  // Handle floating point inaccuracies
236
- if (progress.bundling.progress < 0.99999) {
237
- return `Bundling ${Math.round(progress.bundling.progress * 100)}%`;
239
+ const bundlingProgress = ((_a = progress.bundling) === null || _a === void 0 ? void 0 : _a.progress) || 0;
240
+ if (bundlingProgress < 0.99999) {
241
+ return `Bundling ${Math.round(bundlingProgress * 100)}%`;
238
242
  }
239
- if (progress.bundling.progress === 1 &&
240
- progress.bundling.doneIn === null &&
243
+ if (bundlingProgress === 1 &&
244
+ ((_b = progress.bundling) === null || _b === void 0 ? void 0 : _b.doneIn) === null &&
241
245
  progress.copyingState.bytes === 0) {
242
- return `Bundling ${Math.round(progress.bundling.progress * 100)}%`;
246
+ return `Bundling ${Math.round(bundlingProgress * 100)}%`;
243
247
  }
244
248
  if (progress.copyingState.doneIn === null) {
245
249
  return `Copying public dir ${studio_server_1.StudioServerInternals.formatBytes(progress.copyingState.bytes)}`;
@@ -3,12 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initialAggregateRenderProgress = void 0;
4
4
  const initialAggregateRenderProgress = () => ({
5
5
  rendering: null,
6
- downloads: [],
7
- stitching: null,
8
- bundling: {
6
+ browser: {
9
7
  progress: 0,
8
+ alreadyAvailable: true,
10
9
  doneIn: null,
11
10
  },
11
+ downloads: [],
12
+ stitching: null,
13
+ bundling: null,
12
14
  copyingState: {
13
15
  bytes: 0,
14
16
  doneIn: null,
@@ -64,6 +64,20 @@ const user_passed_output_location_1 = require("../user-passed-output-location");
64
64
  const add_log_to_aggregate_progress_1 = require("./add-log-to-aggregate-progress");
65
65
  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, offthreadVideoThreads, colorSpace, repro, binariesDirectory, forSeamlessAacConcatenation, separateAudioTo, publicPath, metadata, hardwareAcceleration, chromeMode, audioLatencyHint, imageSequencePattern, mediaCacheSizeInBytes, }) => {
66
66
  var _a;
67
+ let bundlingProgress = null;
68
+ let renderingProgress = null;
69
+ let stitchingProgress = null;
70
+ let browserState = {
71
+ progress: 0,
72
+ doneIn: 0,
73
+ alreadyAvailable: true,
74
+ };
75
+ let copyingState = {
76
+ bytes: 0,
77
+ doneIn: null,
78
+ };
79
+ const logsProgress = [];
80
+ let artifactState = { received: [] };
67
81
  const isVerbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
68
82
  (0, progress_bar_1.printFact)('verbose')({
69
83
  indent,
@@ -77,6 +91,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
77
91
  const downloads = [];
78
92
  const onBrowserDownload = (0, browser_download_bar_1.defaultBrowserDownloadProgress)({
79
93
  indent,
94
+ onProgress: updateBrowserProgress,
80
95
  logLevel,
81
96
  quiet: (0, parsed_cli_1.quietFlagProvided)(),
82
97
  });
@@ -106,23 +121,30 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
106
121
  updatesDontOverwrite,
107
122
  indent,
108
123
  });
109
- let bundlingProgress = {
110
- doneIn: null,
111
- progress: 0,
112
- };
113
- let renderingProgress = null;
114
- let stitchingProgress = null;
115
- let copyingState = {
116
- bytes: 0,
117
- doneIn: null,
118
- };
119
- const logsProgress = [];
120
- let artifactState = { received: [] };
124
+ function updateBrowserProgress(progress) {
125
+ browserState = progress;
126
+ const aggregateRenderProgress = {
127
+ browser: browserState,
128
+ rendering: renderingProgress,
129
+ stitching: shouldOutputImageSequence ? null : stitchingProgress,
130
+ downloads,
131
+ bundling: bundlingProgress,
132
+ copyingState,
133
+ artifactState,
134
+ logs: logsProgress,
135
+ };
136
+ onProgress({
137
+ message: `Downloading ${chromeMode === 'chrome-for-testing' ? 'Chrome for Testing' : 'Headless Shell'} ${Math.round(progress.progress * 100)}%`,
138
+ value: 0,
139
+ ...aggregateRenderProgress,
140
+ });
141
+ }
121
142
  const updateRenderProgress = ({ newline, printToConsole, }) => {
122
143
  const aggregateRenderProgress = {
123
144
  rendering: renderingProgress,
124
145
  stitching: shouldOutputImageSequence ? null : stitchingProgress,
125
146
  downloads,
147
+ browser: browserState,
126
148
  bundling: bundlingProgress,
127
149
  copyingState,
128
150
  artifactState,
@@ -50,10 +50,19 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
50
50
  }
51
51
  onProgress({ message, value: progress, ...aggregate });
52
52
  };
53
+ function updateBrowserProgress(progress) {
54
+ aggregate.browser = progress;
55
+ onProgress({
56
+ message: `Downloading ${chromeMode === 'chrome-for-testing' ? 'Chrome for Testing' : 'Headless Shell'} ${Math.round(progress.progress * 100)}%`,
57
+ value: 0,
58
+ ...aggregate,
59
+ });
60
+ }
53
61
  const onBrowserDownload = (0, browser_download_bar_1.defaultBrowserDownloadProgress)({
54
62
  quiet: (0, parsed_cli_1.quietFlagProvided)(),
55
63
  indent,
56
64
  logLevel,
65
+ onProgress: updateBrowserProgress,
57
66
  });
58
67
  await renderer_1.RenderInternals.internalEnsureBrowser({
59
68
  browserExecutable,
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/cli"
4
4
  },
5
5
  "name": "@remotion/cli",
6
- "version": "4.0.399",
6
+ "version": "4.0.401",
7
7
  "description": "Control Remotion features using the `npx remotion` command",
8
8
  "main": "dist/index.js",
9
9
  "sideEffects": false,
@@ -36,17 +36,17 @@
36
36
  "author": "Jonny Burger <jonny@remotion.dev>",
37
37
  "license": "SEE LICENSE IN LICENSE.md",
38
38
  "dependencies": {
39
- "@remotion/bundler": "4.0.399",
40
- "@remotion/media-utils": "4.0.399",
41
- "@remotion/player": "4.0.399",
42
- "@remotion/renderer": "4.0.399",
43
- "@remotion/studio-shared": "4.0.399",
44
- "@remotion/studio-server": "4.0.399",
45
- "@remotion/studio": "4.0.399",
39
+ "@remotion/bundler": "4.0.401",
40
+ "@remotion/media-utils": "4.0.401",
41
+ "@remotion/player": "4.0.401",
42
+ "@remotion/renderer": "4.0.401",
43
+ "@remotion/studio-shared": "4.0.401",
44
+ "@remotion/studio-server": "4.0.401",
45
+ "@remotion/studio": "4.0.401",
46
46
  "dotenv": "9.0.2",
47
47
  "minimist": "1.2.6",
48
48
  "prompts": "2.4.2",
49
- "remotion": "4.0.399"
49
+ "remotion": "4.0.401"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "react": ">=16.8.0",
@@ -57,14 +57,14 @@
57
57
  "@types/prompts": "^2.4.1",
58
58
  "@types/prettier": "^2.7.2",
59
59
  "@types/node": "20.12.14",
60
- "@remotion/zod-types": "4.0.399",
61
- "@remotion/tailwind-v4": "4.0.399",
62
- "@remotion/enable-scss": "4.0.399",
63
- "@remotion/skia": "4.0.399",
60
+ "@remotion/zod-types": "4.0.401",
61
+ "@remotion/tailwind-v4": "4.0.401",
62
+ "@remotion/enable-scss": "4.0.401",
63
+ "@remotion/skia": "4.0.401",
64
64
  "react": "19.2.3",
65
65
  "react-dom": "19.2.3",
66
66
  "zod": "3.22.3",
67
- "@remotion/eslint-config-internal": "4.0.399",
67
+ "@remotion/eslint-config-internal": "4.0.401",
68
68
  "eslint": "9.19.0"
69
69
  },
70
70
  "keywords": [