@remotion/cli 4.0.506 → 4.0.508
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/browser-download-bar.js +16 -10
- package/dist/config-file-change.d.ts +1 -1
- package/dist/config-file-change.js +3 -94
- package/dist/list-of-remotion-packages.js +1 -0
- package/dist/parsed-cli.d.ts +3 -3
- package/dist/progress-bar.d.ts +1 -0
- package/dist/progress-bar.js +9 -2
- package/dist/render-flows/render.d.ts +2 -1
- package/dist/render-flows/render.js +23 -10
- package/dist/render-flows/still.d.ts +2 -1
- package/dist/render-flows/still.js +23 -10
- package/dist/render-queue/process-still.js +1 -0
- package/dist/render-queue/process-video.js +1 -0
- package/dist/render.js +2 -1
- package/dist/still.js +2 -1
- package/dist/studio.js +30 -14
- package/package.json +14 -14
- package/dist/image-formats.d.ts +0 -4
- package/dist/image-formats.js +0 -36
|
@@ -34,11 +34,26 @@ const defaultBrowserDownloadProgress = ({ indent, logLevel, quiet, onProgress, }
|
|
|
34
34
|
const productName = chromeMode === 'chrome-for-testing'
|
|
35
35
|
? 'Chrome for Testing'
|
|
36
36
|
: 'Headless Shell';
|
|
37
|
+
const startedAt = Date.now();
|
|
38
|
+
let doneIn = null;
|
|
39
|
+
// Must fire in both logger modes - the Studio UI relies on it to display
|
|
40
|
+
// the download progress (https://github.com/remotion-dev/remotion/issues/10228).
|
|
41
|
+
const updateDownloadState = (progress) => {
|
|
42
|
+
if (progress.percent === 1) {
|
|
43
|
+
doneIn = Date.now() - startedAt;
|
|
44
|
+
}
|
|
45
|
+
onProgress({
|
|
46
|
+
alreadyAvailable: progress.alreadyAvailable,
|
|
47
|
+
progress: progress.percent,
|
|
48
|
+
doneIn,
|
|
49
|
+
});
|
|
50
|
+
};
|
|
37
51
|
if (updatesDontOverwrite) {
|
|
38
52
|
let lastProgress = 0;
|
|
39
53
|
return {
|
|
40
54
|
version: null,
|
|
41
55
|
onProgress: (progress) => {
|
|
56
|
+
updateDownloadState(progress);
|
|
42
57
|
if (progress.downloadedBytes > lastProgress + 10000000) {
|
|
43
58
|
lastProgress = progress.downloadedBytes;
|
|
44
59
|
log_1.Log.info({ indent, logLevel }, `Getting ${productName} - ${renderer_1.RenderInternals.toMegabytes(progress.downloadedBytes)}/${renderer_1.RenderInternals.toMegabytes(progress.totalSizeInBytes)}`);
|
|
@@ -56,19 +71,10 @@ const defaultBrowserDownloadProgress = ({ indent, logLevel, quiet, onProgress, }
|
|
|
56
71
|
updatesDontOverwrite,
|
|
57
72
|
logLevel,
|
|
58
73
|
});
|
|
59
|
-
const startedAt = Date.now();
|
|
60
|
-
let doneIn = null;
|
|
61
74
|
return {
|
|
62
75
|
version: null,
|
|
63
76
|
onProgress: (progress) => {
|
|
64
|
-
|
|
65
|
-
doneIn = Date.now() - startedAt;
|
|
66
|
-
}
|
|
67
|
-
onProgress({
|
|
68
|
-
alreadyAvailable: progress.alreadyAvailable,
|
|
69
|
-
progress: progress.percent,
|
|
70
|
-
doneIn,
|
|
71
|
-
});
|
|
77
|
+
updateDownloadState(progress);
|
|
72
78
|
cliOutput.update(makeDownloadProgress({
|
|
73
79
|
doneIn,
|
|
74
80
|
bytesDownloaded: progress.downloadedBytes,
|
|
@@ -2,101 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.classifyConfigFileChange = exports.makeConfigFileFingerprints = void 0;
|
|
4
4
|
const parser_1 = require("@babel/parser");
|
|
5
|
+
const studio_shared_1 = require("@remotion/studio-shared");
|
|
6
|
+
const validateConfigMethodLifecycles = (lifecycles) => lifecycles;
|
|
5
7
|
// Keep this exhaustive so every new Config method must declare its Studio lifecycle.
|
|
6
|
-
const configMethodLifecycles =
|
|
7
|
-
overrideBundlerConfig: 'restart',
|
|
8
|
-
overrideDuration: 'runtime',
|
|
9
|
-
overrideFfmpegCommand: 'runtime',
|
|
10
|
-
overrideFps: 'runtime',
|
|
11
|
-
overrideHeight: 'runtime',
|
|
12
|
-
overrideRspackConfig: 'restart',
|
|
13
|
-
overrideWebpackConfig: 'restart',
|
|
14
|
-
overrideWidth: 'runtime',
|
|
15
|
-
setAllowHtmlInCanvasEnabled: 'runtime',
|
|
16
|
-
setAskAIEnabled: 'runtime',
|
|
17
|
-
setAudioBitrate: 'runtime',
|
|
18
|
-
setAudioCodec: 'runtime',
|
|
19
|
-
setAudioLatencyHint: 'reload',
|
|
20
|
-
setBeepOnFinish: 'runtime',
|
|
21
|
-
setBenchmarkConcurrencies: 'runtime',
|
|
22
|
-
setBenchmarkRuns: 'runtime',
|
|
23
|
-
setBinariesDirectory: 'restart',
|
|
24
|
-
setBrowserExecutable: 'runtime',
|
|
25
|
-
setBufferStateDelayInMilliseconds: 'runtime',
|
|
26
|
-
setBundleOutDir: 'runtime',
|
|
27
|
-
setCachingEnabled: 'runtime',
|
|
28
|
-
setChromeMode: 'runtime',
|
|
29
|
-
setChromiumDarkMode: 'runtime',
|
|
30
|
-
setChromiumDisableWebSecurity: 'runtime',
|
|
31
|
-
setChromiumHeadlessMode: 'runtime',
|
|
32
|
-
setChromiumIgnoreCertificateErrors: 'runtime',
|
|
33
|
-
setChromiumMultiProcessOnLinux: 'runtime',
|
|
34
|
-
setChromiumOpenGlRenderer: 'runtime',
|
|
35
|
-
setChromiumUserAgent: 'runtime',
|
|
36
|
-
setCodec: 'runtime',
|
|
37
|
-
setColorSpace: 'runtime',
|
|
38
|
-
setConcurrency: 'runtime',
|
|
39
|
-
setCrf: 'runtime',
|
|
40
|
-
setDefaultCodingAgent: 'runtime',
|
|
41
|
-
setDefaultEditor: 'runtime',
|
|
42
|
-
setDelayRenderTimeoutInMilliseconds: 'runtime',
|
|
43
|
-
setDeleteAfter: 'runtime',
|
|
44
|
-
setDisallowParallelEncoding: 'runtime',
|
|
45
|
-
setDotEnvLocation: 'restart',
|
|
46
|
-
setEnableCrossSiteIsolation: 'restart',
|
|
47
|
-
setEnableFolderExpiry: 'runtime',
|
|
48
|
-
setEncodingBufferSize: 'runtime',
|
|
49
|
-
setEncodingMaxRate: 'runtime',
|
|
50
|
-
setEnforceAudioTrack: 'runtime',
|
|
51
|
-
setEntryPoint: 'restart',
|
|
52
|
-
setEveryNthFrame: 'runtime',
|
|
53
|
-
setExperimentalRspackEnabled: 'restart',
|
|
54
|
-
setForSeamlessAacConcatenation: 'runtime',
|
|
55
|
-
setForceNewStudioEnabled: 'restart',
|
|
56
|
-
setFrameRange: 'runtime',
|
|
57
|
-
setGopSize: 'runtime',
|
|
58
|
-
setHardwareAcceleration: 'runtime',
|
|
59
|
-
setIPv4: 'restart',
|
|
60
|
-
setImageFormat: 'runtime',
|
|
61
|
-
setImageSequence: 'runtime',
|
|
62
|
-
setImageSequencePattern: 'runtime',
|
|
63
|
-
setInteractivityEnabled: 'runtime',
|
|
64
|
-
setJpegQuality: 'runtime',
|
|
65
|
-
setKeyboardShortcutsEnabled: 'runtime',
|
|
66
|
-
setLambdaInsights: 'runtime',
|
|
67
|
-
setLevel: 'restart',
|
|
68
|
-
setLogLevel: 'restart',
|
|
69
|
-
setMaxTimelineTracks: 'runtime',
|
|
70
|
-
setMetadata: 'runtime',
|
|
71
|
-
setMuted: 'runtime',
|
|
72
|
-
setNumberOfGifLoops: 'runtime',
|
|
73
|
-
setNumberOfSharedAudioTags: 'reload',
|
|
74
|
-
setOffthreadVideoCacheSizeInBytes: 'runtime',
|
|
75
|
-
setOutputLocation: 'runtime',
|
|
76
|
-
setOverwriteOutput: 'runtime',
|
|
77
|
-
setPixelFormat: 'runtime',
|
|
78
|
-
setPort: 'restart',
|
|
79
|
-
setPreferLosslessAudio: 'runtime',
|
|
80
|
-
setPreviewSampleRate: 'reload',
|
|
81
|
-
setProResProfile: 'runtime',
|
|
82
|
-
setPublicDir: 'restart',
|
|
83
|
-
setPublicLicenseKey: 'runtime',
|
|
84
|
-
setPublicPath: 'runtime',
|
|
85
|
-
setQuality: 'runtime',
|
|
86
|
-
setRendererPort: 'restart',
|
|
87
|
-
setRepro: 'runtime',
|
|
88
|
-
setRspack: 'restart',
|
|
89
|
-
setSampleRate: 'runtime',
|
|
90
|
-
setScale: 'runtime',
|
|
91
|
-
setShouldOpenBrowser: 'restart',
|
|
92
|
-
setStillImageFormat: 'runtime',
|
|
93
|
-
setStudioPort: 'restart',
|
|
94
|
-
setTimeoutInMilliseconds: 'runtime',
|
|
95
|
-
setVideoBitrate: 'runtime',
|
|
96
|
-
setVideoImageFormat: 'runtime',
|
|
97
|
-
setWebpackPollingInMilliseconds: 'restart',
|
|
98
|
-
setX264Preset: 'runtime',
|
|
99
|
-
};
|
|
8
|
+
const configMethodLifecycles = validateConfigMethodLifecycles(studio_shared_1.configMethodLifecycles);
|
|
100
9
|
const getConfigMethodsWithLifecycle = (lifecycle) => {
|
|
101
10
|
return new Set(Object.entries(configMethodLifecycles)
|
|
102
11
|
.filter(([, value]) => value === lifecycle)
|
package/dist/parsed-cli.d.ts
CHANGED
|
@@ -357,14 +357,14 @@ declare const benchmarkConcurrenciesOption: {
|
|
|
357
357
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
358
358
|
ssrName: null;
|
|
359
359
|
docLink: string;
|
|
360
|
-
type: "claude-code" | "codex" | "
|
|
360
|
+
type: "claude-code" | "codex" | "copilot" | "cursor" | null;
|
|
361
361
|
getValue: ({ commandLine }: {
|
|
362
362
|
commandLine: Record<string, unknown>;
|
|
363
363
|
}) => {
|
|
364
|
-
value: "claude-code" | "codex" | "
|
|
364
|
+
value: "claude-code" | "codex" | "copilot" | "cursor" | null;
|
|
365
365
|
source: string;
|
|
366
366
|
};
|
|
367
|
-
setConfig(value: "claude-code" | "codex" | "
|
|
367
|
+
setConfig(value: "claude-code" | "codex" | "copilot" | "cursor" | null): void;
|
|
368
368
|
id: "coding-agent";
|
|
369
369
|
}, defaultEditorOption: {
|
|
370
370
|
name: string;
|
package/dist/progress-bar.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export declare const makeRenderingAndStitchingProgress: ({ prog, isUsingParallel
|
|
|
28
28
|
progress: number;
|
|
29
29
|
message: string;
|
|
30
30
|
};
|
|
31
|
+
export declare const getGuiProgressSubtitle: (progress: AggregateRenderProgress) => string;
|
|
31
32
|
export declare const printFact: (printLevel: "error" | "info" | "trace" | "verbose" | "warn") => ({ indent, logLevel, left, right, color, link, }: {
|
|
32
33
|
indent: boolean;
|
|
33
34
|
logLevel: "error" | "info" | "trace" | "verbose" | "warn";
|
package/dist/progress-bar.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.printFact = exports.makeRenderingAndStitchingProgress = exports.getRightLabelWidth = exports.makeBundlingAndCopyProgress = exports.createOverwriteableCliOutput = exports.LABEL_WIDTH = void 0;
|
|
3
|
+
exports.printFact = exports.getGuiProgressSubtitle = exports.makeRenderingAndStitchingProgress = exports.getRightLabelWidth = exports.makeBundlingAndCopyProgress = exports.createOverwriteableCliOutput = exports.LABEL_WIDTH = void 0;
|
|
4
4
|
const renderer_1 = require("@remotion/renderer");
|
|
5
5
|
const pure_1 = require("@remotion/renderer/pure");
|
|
6
6
|
const studio_server_1 = require("@remotion/studio-server");
|
|
@@ -234,11 +234,17 @@ const makeRenderingAndStitchingProgress = ({ prog, isUsingParallelEncoding, }) =
|
|
|
234
234
|
const progress = ((_b = bundling === null || bundling === void 0 ? void 0 : bundling.progress) !== null && _b !== void 0 ? _b : 0) * 0.3 +
|
|
235
235
|
renderProgress * 0.6 +
|
|
236
236
|
stitchingProgress * 0.1;
|
|
237
|
-
return { output, progress, message: getGuiProgressSubtitle(prog) };
|
|
237
|
+
return { output, progress, message: (0, exports.getGuiProgressSubtitle)(prog) };
|
|
238
238
|
};
|
|
239
239
|
exports.makeRenderingAndStitchingProgress = makeRenderingAndStitchingProgress;
|
|
240
240
|
const getGuiProgressSubtitle = (progress) => {
|
|
241
241
|
var _a, _b;
|
|
242
|
+
if (progress.browser.error) {
|
|
243
|
+
return 'Failed to download browser';
|
|
244
|
+
}
|
|
245
|
+
if (!progress.browser.alreadyAvailable && progress.browser.doneIn === null) {
|
|
246
|
+
return `Downloading browser ${Math.round(progress.browser.progress * 100)}%`;
|
|
247
|
+
}
|
|
242
248
|
// Handle floating point inaccuracies
|
|
243
249
|
const bundlingProgress = ((_a = progress.bundling) === null || _a === void 0 ? void 0 : _a.progress) || 0;
|
|
244
250
|
if (bundlingProgress < 0.99999) {
|
|
@@ -270,6 +276,7 @@ const getGuiProgressSubtitle = (progress) => {
|
|
|
270
276
|
}
|
|
271
277
|
return `Encoded ${progress.stitching.frames}/${progress.stitching.totalFrames}`;
|
|
272
278
|
};
|
|
279
|
+
exports.getGuiProgressSubtitle = getGuiProgressSubtitle;
|
|
273
280
|
const printFact = (printLevel) => ({ indent, logLevel, left, right, color, link, }) => {
|
|
274
281
|
const fn = (str) => {
|
|
275
282
|
if (color === 'gray') {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BundlerOverrideFn, RspackOverrideFn, WebpackOverrideFn } from '@remotion/bundler';
|
|
2
2
|
import type { BrowserExecutable, CancelSignal, ChromiumOptions, Crf, FfmpegOverrideFn, FrameRange, NumberOfGifLoops } from '@remotion/renderer';
|
|
3
3
|
import type { JobProgressCallback } from '@remotion/studio-server';
|
|
4
|
-
export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, selectedFrames, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, gopSize, 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, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, sampleRate, bundlerOverride, rspackOverride, webpackOverride, }: {
|
|
4
|
+
export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, selectedFrames, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, gopSize, 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, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, sampleRate, bundlerOverride, rspackOverride, webpackOverride, licenseKey, }: {
|
|
5
5
|
remotionRoot: string;
|
|
6
6
|
fullEntryPoint: string;
|
|
7
7
|
entryPointReason: string;
|
|
@@ -73,4 +73,5 @@ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, l
|
|
|
73
73
|
bundlerOverride: BundlerOverrideFn | null;
|
|
74
74
|
rspackOverride: RspackOverrideFn | null;
|
|
75
75
|
webpackOverride: WebpackOverrideFn | null;
|
|
76
|
+
licenseKey: string | null;
|
|
76
77
|
}) => Promise<void>;
|
|
@@ -61,7 +61,7 @@ const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying
|
|
|
61
61
|
const truthy_1 = require("../truthy");
|
|
62
62
|
const user_passed_output_location_1 = require("../user-passed-output-location");
|
|
63
63
|
const add_log_to_aggregate_progress_1 = require("./add-log-to-aggregate-progress");
|
|
64
|
-
const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, selectedFrames, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, gopSize, 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, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, sampleRate, bundlerOverride, rspackOverride, webpackOverride, }) => {
|
|
64
|
+
const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel, browserExecutable, browser, chromiumOptions, scale, shouldOutputImageSequence, publicDir, envVariables, puppeteerTimeout, port, height, width, fps, durationInFrames, remainingArgs, compositionIdFromUi, entryPointReason, overwrite, quiet, concurrency, frameRange, selectedFrames, everyNthFrame, outputLocationFromUI, jpegQuality, onProgress, addCleanupCallback, cancelSignal, crf, gopSize, 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, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, sampleRate, bundlerOverride, rspackOverride, webpackOverride, licenseKey, }) => {
|
|
65
65
|
var _a;
|
|
66
66
|
renderer_1.RenderInternals.validateConcurrency({
|
|
67
67
|
value: concurrency,
|
|
@@ -99,13 +99,24 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
99
99
|
logLevel,
|
|
100
100
|
quiet: (0, parsed_cli_1.quietFlagProvided)(),
|
|
101
101
|
});
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
102
|
+
try {
|
|
103
|
+
await renderer_1.RenderInternals.internalEnsureBrowser({
|
|
104
|
+
browserExecutable,
|
|
105
|
+
indent,
|
|
106
|
+
logLevel,
|
|
107
|
+
onBrowserDownload,
|
|
108
|
+
chromeMode,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
updateBrowserProgress({
|
|
113
|
+
progress: browserState.progress,
|
|
114
|
+
doneIn: null,
|
|
115
|
+
alreadyAvailable: false,
|
|
116
|
+
error: true,
|
|
117
|
+
});
|
|
118
|
+
throw err;
|
|
119
|
+
}
|
|
109
120
|
const browserInstance = renderer_1.RenderInternals.internalOpenBrowser({
|
|
110
121
|
browser,
|
|
111
122
|
browserExecutable,
|
|
@@ -139,7 +150,9 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
139
150
|
logs: logsProgress,
|
|
140
151
|
};
|
|
141
152
|
onProgress({
|
|
142
|
-
message:
|
|
153
|
+
message: progress.error
|
|
154
|
+
? `Failed to download ${chromeMode === 'chrome-for-testing' ? 'Chrome for Testing' : 'Headless Shell'}`
|
|
155
|
+
: `Downloading ${chromeMode === 'chrome-for-testing' ? 'Chrome for Testing' : 'Headless Shell'} ${Math.round(progress.progress * 100)}%`,
|
|
143
156
|
value: 0,
|
|
144
157
|
...aggregateRenderProgress,
|
|
145
158
|
});
|
|
@@ -533,7 +546,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
533
546
|
chromeMode,
|
|
534
547
|
mediaCacheSizeInBytes,
|
|
535
548
|
onLog,
|
|
536
|
-
licenseKey
|
|
549
|
+
licenseKey,
|
|
537
550
|
isProduction: null,
|
|
538
551
|
sampleRate: resolvedSampleRate,
|
|
539
552
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BundlerOverrideFn, RspackOverrideFn, WebpackOverrideFn } from '@remotion/bundler';
|
|
2
2
|
import type { BrowserExecutable, CancelSignal, ChromiumOptions } from '@remotion/renderer';
|
|
3
3
|
import type { JobProgressCallback } from '@remotion/studio-server';
|
|
4
|
-
export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, width, fps, durationInFrames, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, bundlerOverride, rspackOverride, webpackOverride, }: {
|
|
4
|
+
export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, width, fps, durationInFrames, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, bundlerOverride, rspackOverride, webpackOverride, licenseKey, }: {
|
|
5
5
|
remotionRoot: string;
|
|
6
6
|
fullEntryPoint: string;
|
|
7
7
|
entryPointReason: string;
|
|
@@ -44,4 +44,5 @@ export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPoin
|
|
|
44
44
|
bundlerOverride: BundlerOverrideFn | null;
|
|
45
45
|
rspackOverride: RspackOverrideFn | null;
|
|
46
46
|
webpackOverride: WebpackOverrideFn | null;
|
|
47
|
+
licenseKey: string | null;
|
|
47
48
|
}) => Promise<void>;
|
|
@@ -28,7 +28,7 @@ const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying
|
|
|
28
28
|
const truthy_1 = require("../truthy");
|
|
29
29
|
const user_passed_output_location_1 = require("../user-passed-output-location");
|
|
30
30
|
const add_log_to_aggregate_progress_1 = require("./add-log-to-aggregate-progress");
|
|
31
|
-
const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, width, fps, durationInFrames, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, bundlerOverride, rspackOverride, webpackOverride, }) => {
|
|
31
|
+
const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, width, fps, durationInFrames, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, publicPath, chromeMode, offthreadVideoThreads, audioLatencyHint, mediaCacheSizeInBytes, rspack, askAIEnabled, keyboardShortcutsEnabled, shouldCache, bundlerOverride, rspackOverride, webpackOverride, licenseKey, }) => {
|
|
32
32
|
const isVerbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(logLevel, 'verbose');
|
|
33
33
|
log_1.Log.verbose({ indent, logLevel }, chalk_1.chalk.gray(`Entry point = ${fullEntryPoint} (${entryPointReason})`));
|
|
34
34
|
const aggregate = (0, progress_types_1.initialAggregateRenderProgress)();
|
|
@@ -53,7 +53,9 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
|
|
|
53
53
|
function updateBrowserProgress(progress) {
|
|
54
54
|
aggregate.browser = progress;
|
|
55
55
|
onProgress({
|
|
56
|
-
message:
|
|
56
|
+
message: progress.error
|
|
57
|
+
? `Failed to download ${chromeMode === 'chrome-for-testing' ? 'Chrome for Testing' : 'Headless Shell'}`
|
|
58
|
+
: `Downloading ${chromeMode === 'chrome-for-testing' ? 'Chrome for Testing' : 'Headless Shell'} ${Math.round(progress.progress * 100)}%`,
|
|
57
59
|
value: 0,
|
|
58
60
|
...aggregate,
|
|
59
61
|
});
|
|
@@ -64,13 +66,24 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
|
|
|
64
66
|
logLevel,
|
|
65
67
|
onProgress: updateBrowserProgress,
|
|
66
68
|
});
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
69
|
+
try {
|
|
70
|
+
await renderer_1.RenderInternals.internalEnsureBrowser({
|
|
71
|
+
browserExecutable,
|
|
72
|
+
indent,
|
|
73
|
+
logLevel,
|
|
74
|
+
onBrowserDownload,
|
|
75
|
+
chromeMode,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
updateBrowserProgress({
|
|
80
|
+
progress: aggregate.browser.progress,
|
|
81
|
+
doneIn: null,
|
|
82
|
+
alreadyAvailable: false,
|
|
83
|
+
error: true,
|
|
84
|
+
});
|
|
85
|
+
throw err;
|
|
86
|
+
}
|
|
74
87
|
const browserInstance = renderer_1.RenderInternals.internalOpenBrowser({
|
|
75
88
|
browser,
|
|
76
89
|
browserExecutable,
|
|
@@ -284,7 +297,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
|
|
|
284
297
|
printToConsole: true,
|
|
285
298
|
});
|
|
286
299
|
},
|
|
287
|
-
licenseKey
|
|
300
|
+
licenseKey,
|
|
288
301
|
isProduction: null,
|
|
289
302
|
});
|
|
290
303
|
aggregate.rendering = {
|
|
@@ -64,6 +64,7 @@ const processStill = async ({ job, remotionRoot, entryPoint, onProgress, addClea
|
|
|
64
64
|
bundlerOverride: fixedConfig.bundlerOverride,
|
|
65
65
|
rspackOverride: fixedConfig.rspackOverride,
|
|
66
66
|
webpackOverride: fixedConfig.webpackOverride,
|
|
67
|
+
licenseKey: job.licenseKey,
|
|
67
68
|
});
|
|
68
69
|
};
|
|
69
70
|
exports.processStill = processStill;
|
|
@@ -103,6 +103,7 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
|
|
|
103
103
|
bundlerOverride: fixedConfig.bundlerOverride,
|
|
104
104
|
rspackOverride: fixedConfig.rspackOverride,
|
|
105
105
|
webpackOverride: fixedConfig.webpackOverride,
|
|
106
|
+
licenseKey: job.type === 'video' ? job.licenseKey : null,
|
|
106
107
|
});
|
|
107
108
|
};
|
|
108
109
|
exports.processVideoJob = processVideoJob;
|
package/dist/render.js
CHANGED
|
@@ -11,7 +11,7 @@ const get_cli_options_1 = require("./get-cli-options");
|
|
|
11
11
|
const log_1 = require("./log");
|
|
12
12
|
const parsed_cli_1 = require("./parsed-cli");
|
|
13
13
|
const render_1 = require("./render-flows/render");
|
|
14
|
-
const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, gopSizeOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, imageSequencePatternOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, keyboardShortcutsOption, rspackOption, browserExecutableOption, everyNthFrameOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, concurrencyOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, sampleRateOption, stillFrameOption, } = client_1.BrowserSafeApis.options;
|
|
14
|
+
const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, gopSizeOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, disallowParallelEncodingOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, forSeamlessAacConcatenationOption, separateAudioOption, audioCodecOption, publicPathOption, publicDirOption, metadataOption, hardwareAccelerationOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, imageSequencePatternOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, keyboardShortcutsOption, rspackOption, browserExecutableOption, everyNthFrameOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, concurrencyOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, sampleRateOption, stillFrameOption, publicLicenseKeyOption, } = client_1.BrowserSafeApis.options;
|
|
15
15
|
const render = async (remotionRoot, args, logLevel) => {
|
|
16
16
|
const { file, remainingArgs, reason: entryPointReason, } = (0, entry_point_1.findEntryPoint)({ args, remotionRoot, logLevel, allowDirectory: true });
|
|
17
17
|
if (!file) {
|
|
@@ -238,6 +238,7 @@ const render = async (remotionRoot, args, logLevel) => {
|
|
|
238
238
|
bundlerOverride: null,
|
|
239
239
|
rspackOverride: null,
|
|
240
240
|
webpackOverride: null,
|
|
241
|
+
licenseKey: publicLicenseKeyOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value,
|
|
241
242
|
});
|
|
242
243
|
};
|
|
243
244
|
exports.render = render;
|
package/dist/still.js
CHANGED
|
@@ -11,7 +11,7 @@ const get_cli_options_1 = require("./get-cli-options");
|
|
|
11
11
|
const log_1 = require("./log");
|
|
12
12
|
const parsed_cli_1 = require("./parsed-cli");
|
|
13
13
|
const still_1 = require("./render-flows/still");
|
|
14
|
-
const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, keyboardShortcutsOption, rspackOption, browserExecutableOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, framesOption, } = client_1.BrowserSafeApis.options;
|
|
14
|
+
const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, publicPathOption, publicDirOption, chromeModeOption, offthreadVideoThreadsOption, audioLatencyHintOption, mediaCacheSizeInBytesOption, darkModeOption, askAIOption, keyboardShortcutsOption, rspackOption, browserExecutableOption, userAgentOption, disableWebSecurityOption, ignoreCertificateErrorsOption, overrideHeightOption, overrideWidthOption, overrideFpsOption, overrideDurationOption, bundleCacheOption, framesOption, publicLicenseKeyOption, } = client_1.BrowserSafeApis.options;
|
|
15
15
|
const still = async (remotionRoot, args, logLevel) => {
|
|
16
16
|
const { file, remainingArgs, reason: entryPointReason, } = (0, entry_point_1.findEntryPoint)({ args, remotionRoot, logLevel, allowDirectory: true });
|
|
17
17
|
if (!file) {
|
|
@@ -158,6 +158,7 @@ const still = async (remotionRoot, args, logLevel) => {
|
|
|
158
158
|
bundlerOverride: null,
|
|
159
159
|
rspackOverride: null,
|
|
160
160
|
webpackOverride: null,
|
|
161
|
+
licenseKey: publicLicenseKeyOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value,
|
|
161
162
|
});
|
|
162
163
|
};
|
|
163
164
|
exports.still = still;
|
package/dist/studio.js
CHANGED
|
@@ -17,7 +17,7 @@ const get_render_defaults_1 = require("./get-render-defaults");
|
|
|
17
17
|
const log_1 = require("./log");
|
|
18
18
|
const parsed_cli_1 = require("./parsed-cli");
|
|
19
19
|
const queue_1 = require("./render-queue/queue");
|
|
20
|
-
const { binariesDirectoryOption, publicDirOption, disableGitSourceOption, enableCrossSiteIsolationOption, askAIOption, interactivityOption, keyboardShortcutsOption, forceNewStudioOption, numberOfSharedAudioTagsOption, audioLatencyHintOption, ipv4Option, rspackOption, webpackPollOption, noOpenOption, portOption, browserOption, previewSampleRateOption, defaultCodingAgentOption, defaultEditorOption, } = client_1.BrowserSafeApis.options;
|
|
20
|
+
const { binariesDirectoryOption, publicDirOption, disableGitSourceOption, enableCrossSiteIsolationOption, askAIOption, interactivityOption, keyboardShortcutsOption, forceNewStudioOption, numberOfSharedAudioTagsOption, audioLatencyHintOption, ipv4Option, rspackOption, webpackPollOption, noOpenOption, portOption, browserOption, previewSampleRateOption, defaultCodingAgentOption, defaultEditorOption, publicLicenseKeyOption, } = client_1.BrowserSafeApis.options;
|
|
21
21
|
const studioCommand = async (remotionRoot, args, logLevel) => {
|
|
22
22
|
var _a, _b, _c;
|
|
23
23
|
const { file, reason } = (0, entry_point_1.findEntryPoint)({
|
|
@@ -74,19 +74,31 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
|
|
|
74
74
|
const rspackOverride = config_1.ConfigInternals.getRspackOverrideFn();
|
|
75
75
|
const webpackOverride = config_1.ConfigInternals.getWebpackOverrideFn();
|
|
76
76
|
log_1.Log.verbose({ indent: false, logLevel }, `Using ${useRspack ? 'Rspack' : 'Webpack'} bundler.`);
|
|
77
|
-
const getStudioRuntimeConfig = () =>
|
|
78
|
-
|
|
79
|
-
askAIEnabled: askAIOption.getValue({
|
|
77
|
+
const getStudioRuntimeConfig = () => {
|
|
78
|
+
const configuredEditor = defaultEditorOption.getValue({
|
|
80
79
|
commandLine: parsed_cli_1.parsedCli,
|
|
81
|
-
}).value
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
80
|
+
}).value;
|
|
81
|
+
return {
|
|
82
|
+
maxTimelineTracks: config_1.ConfigInternals.getMaxTimelineTracks(),
|
|
83
|
+
askAIEnabled: askAIOption.getValue({
|
|
84
|
+
commandLine: parsed_cli_1.parsedCli,
|
|
85
|
+
}).value,
|
|
86
|
+
interactivityEnabled: interactivityOption.getValue({
|
|
87
|
+
commandLine: parsed_cli_1.parsedCli,
|
|
88
|
+
}).value,
|
|
89
|
+
keyboardShortcutsEnabled: keyboardShortcutsOption.getValue({
|
|
90
|
+
commandLine: parsed_cli_1.parsedCli,
|
|
91
|
+
}).value,
|
|
92
|
+
bufferStateDelayInMilliseconds: config_1.ConfigInternals.getBufferStateDelayInMilliseconds(),
|
|
93
|
+
defaultCodingAgent: defaultCodingAgentOption.getValue({
|
|
94
|
+
commandLine: parsed_cli_1.parsedCli,
|
|
95
|
+
}).value,
|
|
96
|
+
defaultEditor: typeof configuredEditor === 'object' ? 'custom' : configuredEditor,
|
|
97
|
+
publicLicenseKey: publicLicenseKeyOption.getValue({
|
|
98
|
+
commandLine: parsed_cli_1.parsedCli,
|
|
99
|
+
}).value,
|
|
100
|
+
};
|
|
101
|
+
};
|
|
90
102
|
const getNumberOfAudioTags = () => numberOfSharedAudioTagsOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
|
|
91
103
|
const getAudioLatencyHint = () => audioLatencyHintOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
|
|
92
104
|
const getPreviewSampleRate = () => previewSampleRateOption.getValue({ commandLine: parsed_cli_1.parsedCli }).value;
|
|
@@ -107,7 +119,7 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
|
|
|
107
119
|
studio_server_1.StudioServerInternals.installFileWatcher({
|
|
108
120
|
file: configFile,
|
|
109
121
|
existenceOnly: false,
|
|
110
|
-
onChange: async () => {
|
|
122
|
+
onChange: async (event) => {
|
|
111
123
|
if (isReloadingConfig) {
|
|
112
124
|
return;
|
|
113
125
|
}
|
|
@@ -143,9 +155,13 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
|
|
|
143
155
|
const message = (0, studio_shared_1.getConfigFileChangeMessage)(changeType);
|
|
144
156
|
log_1.Log.info({ indent: false, logLevel }, chalk_1.chalk.blue(message));
|
|
145
157
|
studio_server_1.StudioServerInternals.waitForLiveEventsListener().then((listener) => {
|
|
158
|
+
var _a;
|
|
146
159
|
listener.sendEventToClient({
|
|
147
160
|
type: 'config-file-changed',
|
|
148
161
|
changeType,
|
|
162
|
+
originatorClientId: event.type === 'deleted'
|
|
163
|
+
? null
|
|
164
|
+
: ((_a = event.originatorClientId) !== null && _a !== void 0 ? _a : null),
|
|
149
165
|
renderDefaults,
|
|
150
166
|
studioRuntimeConfig,
|
|
151
167
|
editorName,
|
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.508",
|
|
7
7
|
"description": "Control Remotion features using the `npx remotion` command",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"bin": {
|
|
@@ -37,18 +37,18 @@
|
|
|
37
37
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@babel/parser": "7.24.1",
|
|
40
|
-
"@remotion/bundler": "4.0.
|
|
41
|
-
"@remotion/media-utils": "4.0.
|
|
42
|
-
"@remotion/player": "4.0.
|
|
43
|
-
"@remotion/renderer": "4.0.
|
|
44
|
-
"@remotion/studio-shared": "4.0.
|
|
45
|
-
"@remotion/studio-server": "4.0.
|
|
46
|
-
"@remotion/studio": "4.0.
|
|
40
|
+
"@remotion/bundler": "4.0.508",
|
|
41
|
+
"@remotion/media-utils": "4.0.508",
|
|
42
|
+
"@remotion/player": "4.0.508",
|
|
43
|
+
"@remotion/renderer": "4.0.508",
|
|
44
|
+
"@remotion/studio-shared": "4.0.508",
|
|
45
|
+
"@remotion/studio-server": "4.0.508",
|
|
46
|
+
"@remotion/studio": "4.0.508",
|
|
47
47
|
"dotenv": "17.3.1",
|
|
48
48
|
"minimist": "1.2.6",
|
|
49
49
|
"prompts": "2.4.2",
|
|
50
50
|
"semver": "7.5.3",
|
|
51
|
-
"remotion": "4.0.
|
|
51
|
+
"remotion": "4.0.508"
|
|
52
52
|
},
|
|
53
53
|
"peerDependencies": {
|
|
54
54
|
"react": ">=16.8.0",
|
|
@@ -60,14 +60,14 @@
|
|
|
60
60
|
"@types/prettier": "2.7.2",
|
|
61
61
|
"@types/semver": "7.5.3",
|
|
62
62
|
"@types/node": "20.12.14",
|
|
63
|
-
"@remotion/zod-types": "4.0.
|
|
64
|
-
"@remotion/tailwind-v4": "4.0.
|
|
65
|
-
"@remotion/enable-scss": "4.0.
|
|
66
|
-
"@remotion/skia": "4.0.
|
|
63
|
+
"@remotion/zod-types": "4.0.508",
|
|
64
|
+
"@remotion/tailwind-v4": "4.0.508",
|
|
65
|
+
"@remotion/enable-scss": "4.0.508",
|
|
66
|
+
"@remotion/skia": "4.0.508",
|
|
67
67
|
"react": "19.2.3",
|
|
68
68
|
"react-dom": "19.2.3",
|
|
69
69
|
"zod": "4.4.3",
|
|
70
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
70
|
+
"@remotion/eslint-config-internal": "4.0.508",
|
|
71
71
|
"eslint": "9.19.0",
|
|
72
72
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
73
73
|
},
|
package/dist/image-formats.d.ts
DELETED
package/dist/image-formats.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getVideoImageFormat = void 0;
|
|
4
|
-
const client_1 = require("@remotion/renderer/client");
|
|
5
|
-
const pure_1 = require("@remotion/renderer/pure");
|
|
6
|
-
const parsed_cli_1 = require("./parsed-cli");
|
|
7
|
-
const getVideoImageFormat = ({ codec, uiImageFormat, }) => {
|
|
8
|
-
if (uiImageFormat !== null) {
|
|
9
|
-
return uiImageFormat;
|
|
10
|
-
}
|
|
11
|
-
const configured = client_1.BrowserSafeApis.options.videoImageFormatOption.getValue({
|
|
12
|
-
commandLine: parsed_cli_1.parsedCli,
|
|
13
|
-
}).value;
|
|
14
|
-
if (configured !== null) {
|
|
15
|
-
return configured;
|
|
16
|
-
}
|
|
17
|
-
if (pure_1.NoReactAPIs.isAudioCodec(codec)) {
|
|
18
|
-
return 'none';
|
|
19
|
-
}
|
|
20
|
-
if (codec === 'h264' ||
|
|
21
|
-
codec === 'h264-mkv' ||
|
|
22
|
-
codec === 'h264-ts' ||
|
|
23
|
-
codec === 'h265' ||
|
|
24
|
-
codec === 'av1' ||
|
|
25
|
-
codec === 'vp8' ||
|
|
26
|
-
codec === 'vp9' ||
|
|
27
|
-
codec === 'prores' ||
|
|
28
|
-
codec === 'gif') {
|
|
29
|
-
return 'jpeg';
|
|
30
|
-
}
|
|
31
|
-
if (codec === undefined) {
|
|
32
|
-
return 'png';
|
|
33
|
-
}
|
|
34
|
-
throw new Error('Unrecognized codec ' + codec);
|
|
35
|
-
};
|
|
36
|
-
exports.getVideoImageFormat = getVideoImageFormat;
|