@remotion/cli 4.0.399 → 4.0.400
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 +1 -0
- package/dist/browser/ensure.js +1 -0
- package/dist/browser-download-bar.d.ts +3 -1
- package/dist/browser-download-bar.js +6 -1
- package/dist/compositions.js +1 -0
- package/dist/gpu.js +2 -0
- package/dist/index.d.ts +2 -1
- package/dist/progress-bar.js +11 -7
- package/dist/progress-types.js +5 -3
- package/dist/render-flows/render.js +34 -12
- package/dist/render-flows/still.js +9 -0
- package/package.json +14 -14
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({
|
package/dist/browser/ensure.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { LogLevel, OnBrowserDownload } from '@remotion/renderer';
|
|
2
|
-
|
|
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,
|
package/dist/compositions.js
CHANGED
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, }: {
|
package/dist/progress-bar.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
237
|
-
|
|
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 (
|
|
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(
|
|
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)}`;
|
package/dist/progress-types.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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.
|
|
6
|
+
"version": "4.0.400",
|
|
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.
|
|
40
|
-
"@remotion/media-utils": "4.0.
|
|
41
|
-
"@remotion/player": "4.0.
|
|
42
|
-
"@remotion/renderer": "4.0.
|
|
43
|
-
"@remotion/studio-shared": "4.0.
|
|
44
|
-
"@remotion/studio-server": "4.0.
|
|
45
|
-
"@remotion/studio": "4.0.
|
|
39
|
+
"@remotion/bundler": "4.0.400",
|
|
40
|
+
"@remotion/media-utils": "4.0.400",
|
|
41
|
+
"@remotion/player": "4.0.400",
|
|
42
|
+
"@remotion/renderer": "4.0.400",
|
|
43
|
+
"@remotion/studio-shared": "4.0.400",
|
|
44
|
+
"@remotion/studio-server": "4.0.400",
|
|
45
|
+
"@remotion/studio": "4.0.400",
|
|
46
46
|
"dotenv": "9.0.2",
|
|
47
47
|
"minimist": "1.2.6",
|
|
48
48
|
"prompts": "2.4.2",
|
|
49
|
-
"remotion": "4.0.
|
|
49
|
+
"remotion": "4.0.400"
|
|
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.
|
|
61
|
-
"@remotion/tailwind-v4": "4.0.
|
|
62
|
-
"@remotion/enable-scss": "4.0.
|
|
63
|
-
"@remotion/skia": "4.0.
|
|
60
|
+
"@remotion/zod-types": "4.0.400",
|
|
61
|
+
"@remotion/tailwind-v4": "4.0.400",
|
|
62
|
+
"@remotion/enable-scss": "4.0.400",
|
|
63
|
+
"@remotion/skia": "4.0.400",
|
|
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.
|
|
67
|
+
"@remotion/eslint-config-internal": "4.0.400",
|
|
68
68
|
"eslint": "9.19.0"
|
|
69
69
|
},
|
|
70
70
|
"keywords": [
|