@remotion/cli 4.0.118 → 4.0.120
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 +7 -1
- package/dist/compositions.js +4 -1
- package/dist/config/index.d.ts +5 -0
- package/dist/config/index.js +2 -1
- package/dist/ffmpeg.d.ts +1 -1
- package/dist/ffmpeg.js +29 -6
- package/dist/get-composition-id.d.ts +2 -1
- package/dist/get-composition-id.js +3 -1
- package/dist/get-composition-with-dimension-override.d.ts +2 -1
- package/dist/get-composition-with-dimension-override.js +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/render-flows/render.d.ts +2 -1
- package/dist/render-flows/render.js +5 -1
- package/dist/render-flows/still.d.ts +2 -1
- package/dist/render-flows/still.js +4 -1
- package/dist/render-queue/process-still.js +1 -0
- package/dist/render-queue/process-video.js +1 -0
- package/dist/render.js +5 -1
- package/dist/still.js +5 -1
- package/dist/studio.js +5 -0
- package/package.json +10 -10
package/dist/benchmark.js
CHANGED
|
@@ -21,7 +21,7 @@ const should_use_non_overlaying_logger_1 = require("./should-use-non-overlaying-
|
|
|
21
21
|
const show_compositions_picker_1 = require("./show-compositions-picker");
|
|
22
22
|
const truthy_1 = require("./truthy");
|
|
23
23
|
const DEFAULT_RUNS = 3;
|
|
24
|
-
const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, videoCodecOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, } = client_1.BrowserSafeApis.options;
|
|
24
|
+
const { audioBitrateOption, x264Option, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, videoCodecOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, } = client_1.BrowserSafeApis.options;
|
|
25
25
|
const getValidConcurrency = (cliConcurrency) => {
|
|
26
26
|
const { concurrencies } = parse_command_line_1.parsedCli;
|
|
27
27
|
if (!concurrencies) {
|
|
@@ -171,6 +171,9 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
|
|
|
171
171
|
offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytesOption.getValue({
|
|
172
172
|
commandLine: parse_command_line_1.parsedCli,
|
|
173
173
|
}).value,
|
|
174
|
+
binariesDirectory: binariesDirectoryOption.getValue({
|
|
175
|
+
commandLine: parse_command_line_1.parsedCli,
|
|
176
|
+
}).value,
|
|
174
177
|
});
|
|
175
178
|
const ids = (remainingArgs[0]
|
|
176
179
|
? remainingArgs[0]
|
|
@@ -302,6 +305,9 @@ const benchmarkCommand = async (remotionRoot, args, logLevel) => {
|
|
|
302
305
|
commandLine: parse_command_line_1.parsedCli,
|
|
303
306
|
}).value,
|
|
304
307
|
repro: false,
|
|
308
|
+
binariesDirectory: binariesDirectoryOption.getValue({
|
|
309
|
+
commandLine: parse_command_line_1.parsedCli,
|
|
310
|
+
}).value,
|
|
305
311
|
finishRenderProgress: () => undefined,
|
|
306
312
|
}, (run, progress) => {
|
|
307
313
|
benchmarkProgress.update(makeBenchmarkProgressBar({
|
package/dist/compositions.js
CHANGED
|
@@ -12,7 +12,7 @@ const log_1 = require("./log");
|
|
|
12
12
|
const parse_command_line_1 = require("./parse-command-line");
|
|
13
13
|
const print_compositions_1 = require("./print-compositions");
|
|
14
14
|
const setup_cache_1 = require("./setup-cache");
|
|
15
|
-
const { enableMultiprocessOnLinuxOption, offthreadVideoCacheSizeInBytesOption, glOption, headlessOption, delayRenderTimeoutInMillisecondsOption, } = client_1.BrowserSafeApis.options;
|
|
15
|
+
const { enableMultiprocessOnLinuxOption, offthreadVideoCacheSizeInBytesOption, glOption, headlessOption, delayRenderTimeoutInMillisecondsOption, binariesDirectoryOption, } = client_1.BrowserSafeApis.options;
|
|
16
16
|
const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
|
|
17
17
|
const { file, reason } = (0, entry_point_1.findEntryPoint)(args, remotionRoot, logLevel);
|
|
18
18
|
if (!file) {
|
|
@@ -79,6 +79,9 @@ const listCompositionsCommand = async (remotionRoot, args, logLevel) => {
|
|
|
79
79
|
offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytesOption.getValue({
|
|
80
80
|
commandLine: parse_command_line_1.parsedCli,
|
|
81
81
|
}).value,
|
|
82
|
+
binariesDirectory: binariesDirectoryOption.getValue({
|
|
83
|
+
commandLine: parse_command_line_1.parsedCli,
|
|
84
|
+
}).value,
|
|
82
85
|
});
|
|
83
86
|
(0, print_compositions_1.printCompositions)(compositions, logLevel);
|
|
84
87
|
};
|
package/dist/config/index.d.ts
CHANGED
|
@@ -275,6 +275,11 @@ declare global {
|
|
|
275
275
|
* Collect information that you can submit to Remotion if asked for a reproduction.
|
|
276
276
|
*/
|
|
277
277
|
readonly setRepro: (enableRepro: boolean) => void;
|
|
278
|
+
/**
|
|
279
|
+
* The directory where the platform-specific binaries and libraries needed
|
|
280
|
+
for Remotion are located.
|
|
281
|
+
*/
|
|
282
|
+
readonly setBinariesDirectory: (directory: string | null) => void;
|
|
278
283
|
}
|
|
279
284
|
}
|
|
280
285
|
type FlatConfig = RemotionConfigObject & RemotionBundlingOptions & {
|
package/dist/config/index.js
CHANGED
|
@@ -43,7 +43,7 @@ const user_agent_1 = require("./user-agent");
|
|
|
43
43
|
const webpack_caching_2 = require("./webpack-caching");
|
|
44
44
|
const webpack_poll_1 = require("./webpack-poll");
|
|
45
45
|
const width_1 = require("./width");
|
|
46
|
-
const { offthreadVideoCacheSizeInBytesOption, x264Option, audioBitrateOption, videoBitrateOption, scaleOption, crfOption, jpegQualityOption, enforceAudioOption, overwriteOption, mutedOption, videoCodecOption, colorSpaceOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, enableLambdaInsights, logLevelOption, delayRenderTimeoutInMillisecondsOption, } = client_1.BrowserSafeApis.options;
|
|
46
|
+
const { offthreadVideoCacheSizeInBytesOption, x264Option, audioBitrateOption, videoBitrateOption, scaleOption, crfOption, jpegQualityOption, enforceAudioOption, overwriteOption, mutedOption, videoCodecOption, colorSpaceOption, deleteAfterOption, folderExpiryOption, enableMultiprocessOnLinuxOption, glOption, headlessOption, numberOfGifLoopsOption, beepOnFinishOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, enableLambdaInsights, logLevelOption, delayRenderTimeoutInMillisecondsOption, binariesDirectoryOption, } = client_1.BrowserSafeApis.options;
|
|
47
47
|
exports.Config = {
|
|
48
48
|
get Bundling() {
|
|
49
49
|
throw new Error('The config format has changed. Change `Config.Bundling.*()` calls to `Config.*()` in your config file.');
|
|
@@ -128,6 +128,7 @@ exports.Config = {
|
|
|
128
128
|
setEnableFolderExpiry: folderExpiryOption.setConfig,
|
|
129
129
|
setRepro: reproOption.setConfig,
|
|
130
130
|
setLambdaInsights: enableLambdaInsights.setConfig,
|
|
131
|
+
setBinariesDirectory: binariesDirectoryOption.setConfig,
|
|
131
132
|
};
|
|
132
133
|
exports.ConfigInternals = {
|
|
133
134
|
getRange: frame_range_1.getRange,
|
package/dist/ffmpeg.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LogLevel } from '@remotion/renderer';
|
|
2
|
-
export declare const dynamicLibEnv: (indent: boolean, logLevel: LogLevel) => {
|
|
2
|
+
export declare const dynamicLibEnv: (indent: boolean, logLevel: LogLevel, binariesDirectory: string | null) => {
|
|
3
3
|
DYLD_LIBRARY_PATH: string;
|
|
4
4
|
RUST_BACKTRACE: string;
|
|
5
5
|
} | {
|
package/dist/ffmpeg.js
CHANGED
|
@@ -5,11 +5,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ffprobeCommand = exports.ffmpegCommand = exports.dynamicLibEnv = void 0;
|
|
7
7
|
const renderer_1 = require("@remotion/renderer");
|
|
8
|
+
const client_1 = require("@remotion/renderer/client");
|
|
8
9
|
const node_child_process_1 = require("node:child_process");
|
|
9
10
|
const node_fs_1 = require("node:fs");
|
|
10
11
|
const node_path_1 = __importDefault(require("node:path"));
|
|
11
|
-
const
|
|
12
|
-
|
|
12
|
+
const parse_command_line_1 = require("./parse-command-line");
|
|
13
|
+
const dynamicLibEnv = (indent, logLevel, binariesDirectory) => {
|
|
14
|
+
const lib = node_path_1.default.dirname(renderer_1.RenderInternals.getExecutablePath({
|
|
15
|
+
type: 'compositor',
|
|
16
|
+
indent,
|
|
17
|
+
logLevel,
|
|
18
|
+
binariesDirectory,
|
|
19
|
+
}));
|
|
13
20
|
return {
|
|
14
21
|
RUST_BACKTRACE: 'full',
|
|
15
22
|
...(process.platform === 'darwin'
|
|
@@ -27,26 +34,42 @@ const dynamicLibEnv = (indent, logLevel) => {
|
|
|
27
34
|
};
|
|
28
35
|
exports.dynamicLibEnv = dynamicLibEnv;
|
|
29
36
|
const ffmpegCommand = (_root, args, logLevel) => {
|
|
30
|
-
const
|
|
37
|
+
const { value: binariesDirectory } = client_1.BrowserSafeApis.options.binariesDirectoryOption.getValue({
|
|
38
|
+
commandLine: parse_command_line_1.parsedCli,
|
|
39
|
+
});
|
|
40
|
+
const binary = renderer_1.RenderInternals.getExecutablePath({
|
|
41
|
+
type: 'ffmpeg',
|
|
42
|
+
indent: false,
|
|
43
|
+
logLevel,
|
|
44
|
+
binariesDirectory,
|
|
45
|
+
});
|
|
31
46
|
if (!process.env.READ_ONLY_FS) {
|
|
32
47
|
(0, node_fs_1.chmodSync)(binary, 0o755);
|
|
33
48
|
}
|
|
34
49
|
const done = (0, node_child_process_1.spawnSync)(binary, args, {
|
|
35
50
|
stdio: 'inherit',
|
|
36
|
-
env: (0, exports.dynamicLibEnv)(false, logLevel),
|
|
51
|
+
env: (0, exports.dynamicLibEnv)(false, logLevel, binariesDirectory),
|
|
37
52
|
});
|
|
38
53
|
process.exit(done.status);
|
|
39
54
|
};
|
|
40
55
|
exports.ffmpegCommand = ffmpegCommand;
|
|
41
56
|
const ffprobeCommand = (_root, args, logLevel) => {
|
|
42
|
-
const
|
|
57
|
+
const { value: binariesDirectory } = client_1.BrowserSafeApis.options.binariesDirectoryOption.getValue({
|
|
58
|
+
commandLine: parse_command_line_1.parsedCli,
|
|
59
|
+
});
|
|
60
|
+
const binary = renderer_1.RenderInternals.getExecutablePath({
|
|
61
|
+
type: 'ffprobe',
|
|
62
|
+
indent: false,
|
|
63
|
+
logLevel,
|
|
64
|
+
binariesDirectory,
|
|
65
|
+
});
|
|
43
66
|
if (!process.env.READ_ONLY_FS) {
|
|
44
67
|
(0, node_fs_1.chmodSync)(binary, 0o755);
|
|
45
68
|
}
|
|
46
69
|
const done = (0, node_child_process_1.spawnSync)(binary, args, {
|
|
47
70
|
cwd: node_path_1.default.dirname(binary),
|
|
48
71
|
stdio: 'inherit',
|
|
49
|
-
env: (0, exports.dynamicLibEnv)(false, logLevel),
|
|
72
|
+
env: (0, exports.dynamicLibEnv)(false, logLevel, binariesDirectory),
|
|
50
73
|
});
|
|
51
74
|
process.exit(done.status);
|
|
52
75
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BrowserExecutable, ChromiumOptions, HeadlessBrowser, LogLevel, RemotionServer } from '@remotion/renderer';
|
|
2
2
|
import type { VideoConfig } from 'remotion';
|
|
3
|
-
export declare const getCompositionId: ({ args, compositionIdFromUi, serializedInputPropsWithCustomSchema, puppeteerInstance, envVariables, timeoutInMilliseconds, chromiumOptions, port, browserExecutable, serveUrlOrWebpackUrl, logLevel, indent, server, offthreadVideoCacheSizeInBytes, }: {
|
|
3
|
+
export declare const getCompositionId: ({ args, compositionIdFromUi, serializedInputPropsWithCustomSchema, puppeteerInstance, envVariables, timeoutInMilliseconds, chromiumOptions, port, browserExecutable, serveUrlOrWebpackUrl, logLevel, indent, server, offthreadVideoCacheSizeInBytes, binariesDirectory, }: {
|
|
4
4
|
args: string[];
|
|
5
5
|
compositionIdFromUi: string | null;
|
|
6
6
|
serializedInputPropsWithCustomSchema: string;
|
|
@@ -15,6 +15,7 @@ export declare const getCompositionId: ({ args, compositionIdFromUi, serializedI
|
|
|
15
15
|
indent: boolean;
|
|
16
16
|
server: RemotionServer;
|
|
17
17
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
18
|
+
binariesDirectory: string | null;
|
|
18
19
|
}) => Promise<{
|
|
19
20
|
compositionId: string;
|
|
20
21
|
reason: string;
|
|
@@ -16,7 +16,7 @@ const getCompName = ({ cliArgs, compositionIdFromUi, }) => {
|
|
|
16
16
|
const [compName, ...remainingArgs] = cliArgs;
|
|
17
17
|
return { compName, remainingArgs, reason: 'Passed as argument' };
|
|
18
18
|
};
|
|
19
|
-
const getCompositionId = async ({ args, compositionIdFromUi, serializedInputPropsWithCustomSchema, puppeteerInstance, envVariables, timeoutInMilliseconds, chromiumOptions, port, browserExecutable, serveUrlOrWebpackUrl, logLevel, indent, server, offthreadVideoCacheSizeInBytes, }) => {
|
|
19
|
+
const getCompositionId = async ({ args, compositionIdFromUi, serializedInputPropsWithCustomSchema, puppeteerInstance, envVariables, timeoutInMilliseconds, chromiumOptions, port, browserExecutable, serveUrlOrWebpackUrl, logLevel, indent, server, offthreadVideoCacheSizeInBytes, binariesDirectory, }) => {
|
|
20
20
|
const { compName, remainingArgs, reason: compReason, } = getCompName({
|
|
21
21
|
cliArgs: args,
|
|
22
22
|
compositionIdFromUi,
|
|
@@ -37,6 +37,7 @@ const getCompositionId = async ({ args, compositionIdFromUi, serializedInputProp
|
|
|
37
37
|
indent,
|
|
38
38
|
onBrowserLog: null,
|
|
39
39
|
offthreadVideoCacheSizeInBytes,
|
|
40
|
+
binariesDirectory,
|
|
40
41
|
});
|
|
41
42
|
if (propsSize > 10000000) {
|
|
42
43
|
log_1.Log.warn({
|
|
@@ -69,6 +70,7 @@ const getCompositionId = async ({ args, compositionIdFromUi, serializedInputProp
|
|
|
69
70
|
onBrowserLog: null,
|
|
70
71
|
serializedInputPropsWithCustomSchema,
|
|
71
72
|
offthreadVideoCacheSizeInBytes,
|
|
73
|
+
binariesDirectory,
|
|
72
74
|
});
|
|
73
75
|
const { compositionId, reason } = await (0, show_compositions_picker_1.showSingleCompositionsPicker)(comps, logLevel);
|
|
74
76
|
if (compositionId && typeof compositionId === 'string') {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BrowserExecutable, ChromiumOptions, HeadlessBrowser, LogLevel, RemotionServer } from '@remotion/renderer';
|
|
2
2
|
import type { VideoConfig } from 'remotion';
|
|
3
|
-
export declare const getCompositionWithDimensionOverride: ({ height, width, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, offthreadVideoCacheSizeInBytes, }: {
|
|
3
|
+
export declare const getCompositionWithDimensionOverride: ({ height, width, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, offthreadVideoCacheSizeInBytes, binariesDirectory, }: {
|
|
4
4
|
height: number | null;
|
|
5
5
|
width: number | null;
|
|
6
6
|
args: string[];
|
|
@@ -17,6 +17,7 @@ export declare const getCompositionWithDimensionOverride: ({ height, width, args
|
|
|
17
17
|
serializedInputPropsWithCustomSchema: string;
|
|
18
18
|
server: RemotionServer;
|
|
19
19
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
20
|
+
binariesDirectory: string | null;
|
|
20
21
|
}) => Promise<{
|
|
21
22
|
compositionId: string;
|
|
22
23
|
reason: string;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getCompositionWithDimensionOverride = void 0;
|
|
4
4
|
const get_composition_id_1 = require("./get-composition-id");
|
|
5
|
-
const getCompositionWithDimensionOverride = async ({ height, width, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, offthreadVideoCacheSizeInBytes, }) => {
|
|
5
|
+
const getCompositionWithDimensionOverride = async ({ height, width, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, offthreadVideoCacheSizeInBytes, binariesDirectory, }) => {
|
|
6
6
|
const returnValue = await (0, get_composition_id_1.getCompositionId)({
|
|
7
7
|
args,
|
|
8
8
|
compositionIdFromUi,
|
|
@@ -18,6 +18,7 @@ const getCompositionWithDimensionOverride = async ({ height, width, args, compos
|
|
|
18
18
|
timeoutInMilliseconds,
|
|
19
19
|
server,
|
|
20
20
|
offthreadVideoCacheSizeInBytes,
|
|
21
|
+
binariesDirectory,
|
|
21
22
|
});
|
|
22
23
|
return {
|
|
23
24
|
...returnValue,
|
package/dist/index.d.ts
CHANGED
|
@@ -196,7 +196,7 @@ export declare const CliInternals: {
|
|
|
196
196
|
shouldUseNonOverlayingLogger: ({ logLevel, }: {
|
|
197
197
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
198
198
|
}) => boolean;
|
|
199
|
-
getCompositionWithDimensionOverride: ({ height, width, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, offthreadVideoCacheSizeInBytes, }: {
|
|
199
|
+
getCompositionWithDimensionOverride: ({ height, width, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, offthreadVideoCacheSizeInBytes, binariesDirectory, }: {
|
|
200
200
|
height: number | null;
|
|
201
201
|
width: number | null;
|
|
202
202
|
args: string[];
|
|
@@ -213,6 +213,7 @@ export declare const CliInternals: {
|
|
|
213
213
|
serializedInputPropsWithCustomSchema: string;
|
|
214
214
|
server: import("@remotion/renderer").RemotionServer;
|
|
215
215
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
216
|
+
binariesDirectory: string | null;
|
|
216
217
|
}) => Promise<{
|
|
217
218
|
compositionId: string;
|
|
218
219
|
reason: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AudioCodec, Browser, BrowserExecutable, CancelSignal, ChromiumOptions, Codec, ColorSpace, Crf, FfmpegOverrideFn, FrameRange, LogLevel, NumberOfGifLoops, PixelFormat, ProResProfile, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
2
2
|
import type { JobProgressCallback } from '@remotion/studio-server';
|
|
3
|
-
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, repro, }: {
|
|
3
|
+
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, repro, binariesDirectory, }: {
|
|
4
4
|
remotionRoot: string;
|
|
5
5
|
fullEntryPoint: string;
|
|
6
6
|
entryPointReason: string;
|
|
@@ -49,4 +49,5 @@ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, l
|
|
|
49
49
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
50
50
|
colorSpace: ColorSpace;
|
|
51
51
|
repro: boolean;
|
|
52
|
+
binariesDirectory: string | null;
|
|
52
53
|
}) => Promise<void>;
|
|
@@ -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, encodingMaxRate, encodingBufferSize, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, colorSpace, repro, }) => {
|
|
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, repro, binariesDirectory, }) => {
|
|
51
51
|
var _a;
|
|
52
52
|
const downloads = [];
|
|
53
53
|
const browserInstance = renderer_1.RenderInternals.internalOpenBrowser({
|
|
@@ -145,6 +145,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
145
145
|
logLevel,
|
|
146
146
|
webpackConfigOrServeUrl: urlOrBundle,
|
|
147
147
|
offthreadVideoCacheSizeInBytes,
|
|
148
|
+
binariesDirectory,
|
|
148
149
|
});
|
|
149
150
|
addCleanupCallback(() => server.closeServer(false));
|
|
150
151
|
const { compositionId, config, reason, argsAfterComposition } = await (0, get_composition_with_dimension_override_1.getCompositionWithDimensionOverride)({
|
|
@@ -164,6 +165,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
164
165
|
logLevel,
|
|
165
166
|
server,
|
|
166
167
|
offthreadVideoCacheSizeInBytes,
|
|
168
|
+
binariesDirectory,
|
|
167
169
|
});
|
|
168
170
|
const { value: codec, source: codecReason } = client_1.BrowserSafeApis.options.videoCodecOption.getValue({
|
|
169
171
|
commandLine: parse_command_line_1.parsedCli,
|
|
@@ -257,6 +259,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
257
259
|
}).serializedString,
|
|
258
260
|
offthreadVideoCacheSizeInBytes,
|
|
259
261
|
parallelEncodingEnabled: isUsingParallelEncoding,
|
|
262
|
+
binariesDirectory,
|
|
260
263
|
});
|
|
261
264
|
updateRenderProgress({ newline: true, printToConsole: true });
|
|
262
265
|
log_1.Log.info({ indent, logLevel }, chalk_1.chalk.blue(`▶ ${absoluteOutputFile}`));
|
|
@@ -338,6 +341,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
338
341
|
finishRenderProgress: () => {
|
|
339
342
|
updateRenderProgress({ newline: true, printToConsole: true });
|
|
340
343
|
},
|
|
344
|
+
binariesDirectory,
|
|
341
345
|
});
|
|
342
346
|
log_1.Log.info({ indent, logLevel }, chalk_1.chalk.blue(`${exists ? '○' : '+'} ${absoluteOutputFile}`));
|
|
343
347
|
log_1.Log.verbose({ indent, logLevel }, `Slowest frames:`);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Browser, BrowserExecutable, CancelSignal, ChromiumOptions, LogLevel, StillImageFormat } from '@remotion/renderer';
|
|
2
2
|
import type { JobProgressCallback } from '@remotion/studio-server';
|
|
3
|
-
export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, }: {
|
|
3
|
+
export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, }: {
|
|
4
4
|
remotionRoot: string;
|
|
5
5
|
fullEntryPoint: string;
|
|
6
6
|
entryPointReason: string;
|
|
@@ -28,4 +28,5 @@ export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPoin
|
|
|
28
28
|
cancelSignal: CancelSignal | null;
|
|
29
29
|
outputLocationFromUi: string | null;
|
|
30
30
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
31
|
+
binariesDirectory: string | null;
|
|
31
32
|
}) => Promise<void>;
|
|
@@ -24,7 +24,7 @@ const setup_cache_1 = require("../setup-cache");
|
|
|
24
24
|
const should_use_non_overlaying_logger_1 = require("../should-use-non-overlaying-logger");
|
|
25
25
|
const truthy_1 = require("../truthy");
|
|
26
26
|
const user_passed_output_location_1 = require("../user-passed-output-location");
|
|
27
|
-
const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, }) => {
|
|
27
|
+
const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason, remainingArgs, browser, browserExecutable, chromiumOptions, envVariables, height, serializedInputPropsWithCustomSchema, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, compositionIdFromUi, imageFormatFromUi, logLevel, onProgress, indent, addCleanupCallback, cancelSignal, outputLocationFromUi, offthreadVideoCacheSizeInBytes, binariesDirectory, }) => {
|
|
28
28
|
var _a, _b;
|
|
29
29
|
const aggregate = (0, progress_types_1.initialAggregateRenderProgress)();
|
|
30
30
|
const updatesDontOverwrite = (0, should_use_non_overlaying_logger_1.shouldUseNonOverlayingLogger)({ logLevel });
|
|
@@ -97,6 +97,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
|
|
|
97
97
|
logLevel,
|
|
98
98
|
webpackConfigOrServeUrl: urlOrBundle,
|
|
99
99
|
offthreadVideoCacheSizeInBytes,
|
|
100
|
+
binariesDirectory,
|
|
100
101
|
});
|
|
101
102
|
addCleanupCallback(() => server.closeServer(false));
|
|
102
103
|
addCleanupCallback(() => cleanupBundle());
|
|
@@ -119,6 +120,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
|
|
|
119
120
|
logLevel,
|
|
120
121
|
server,
|
|
121
122
|
offthreadVideoCacheSizeInBytes,
|
|
123
|
+
binariesDirectory,
|
|
122
124
|
});
|
|
123
125
|
const { format: imageFormat, source } = (0, determine_image_format_1.determineFinalStillImageFormat)({
|
|
124
126
|
cliFlag: (_a = parse_command_line_1.parsedCli['image-format']) !== null && _a !== void 0 ? _a : null,
|
|
@@ -191,6 +193,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
|
|
|
191
193
|
data: config.props,
|
|
192
194
|
}).serializedString,
|
|
193
195
|
offthreadVideoCacheSizeInBytes,
|
|
196
|
+
binariesDirectory,
|
|
194
197
|
});
|
|
195
198
|
aggregate.rendering = {
|
|
196
199
|
frames: 1,
|
|
@@ -42,6 +42,7 @@ const processStill = async ({ job, remotionRoot, entryPoint, onProgress, addClea
|
|
|
42
42
|
cancelSignal: job.cancelToken.cancelSignal,
|
|
43
43
|
outputLocationFromUi: job.outName,
|
|
44
44
|
offthreadVideoCacheSizeInBytes: job.offthreadVideoCacheSizeInBytes,
|
|
45
|
+
binariesDirectory: job.binariesDirectory,
|
|
45
46
|
});
|
|
46
47
|
};
|
|
47
48
|
exports.processStill = processStill;
|
|
@@ -64,6 +64,7 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
|
|
|
64
64
|
offthreadVideoCacheSizeInBytes: job.offthreadVideoCacheSizeInBytes,
|
|
65
65
|
colorSpace: job.type === 'video' ? job.colorSpace : 'default',
|
|
66
66
|
repro: job.repro,
|
|
67
|
+
binariesDirectory: job.binariesDirectory,
|
|
67
68
|
});
|
|
68
69
|
};
|
|
69
70
|
exports.processVideoJob = processVideoJob;
|
package/dist/render.js
CHANGED
|
@@ -12,7 +12,7 @@ const get_cli_options_1 = require("./get-cli-options");
|
|
|
12
12
|
const log_1 = require("./log");
|
|
13
13
|
const parse_command_line_1 = require("./parse-command-line");
|
|
14
14
|
const render_1 = require("./render-flows/render");
|
|
15
|
-
const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, } = client_1.BrowserSafeApis.options;
|
|
15
|
+
const { x264Option, audioBitrateOption, offthreadVideoCacheSizeInBytesOption, scaleOption, crfOption, jpegQualityOption, videoBitrateOption, enforceAudioOption, mutedOption, colorSpaceOption, enableMultiprocessOnLinuxOption, glOption, numberOfGifLoopsOption, encodingMaxRateOption, encodingBufferSizeOption, reproOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, } = client_1.BrowserSafeApis.options;
|
|
16
16
|
const render = async (remotionRoot, args, logLevel) => {
|
|
17
17
|
var _a;
|
|
18
18
|
const { file, remainingArgs, reason: entryPointReason, } = (0, entry_point_1.findEntryPoint)(args, remotionRoot, logLevel);
|
|
@@ -78,6 +78,9 @@ const render = async (remotionRoot, args, logLevel) => {
|
|
|
78
78
|
const overwrite = overwriteOption.getValue({
|
|
79
79
|
commandLine: parse_command_line_1.parsedCli,
|
|
80
80
|
}, true).value;
|
|
81
|
+
const binariesDirectory = binariesDirectoryOption.getValue({
|
|
82
|
+
commandLine: parse_command_line_1.parsedCli,
|
|
83
|
+
}).value;
|
|
81
84
|
const chromiumOptions = {
|
|
82
85
|
disableWebSecurity,
|
|
83
86
|
enableMultiProcessOnLinux,
|
|
@@ -142,6 +145,7 @@ const render = async (remotionRoot, args, logLevel) => {
|
|
|
142
145
|
offthreadVideoCacheSizeInBytes,
|
|
143
146
|
colorSpace,
|
|
144
147
|
repro,
|
|
148
|
+
binariesDirectory,
|
|
145
149
|
});
|
|
146
150
|
};
|
|
147
151
|
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 parse_command_line_1 = require("./parse-command-line");
|
|
13
13
|
const still_1 = require("./render-flows/still");
|
|
14
|
-
const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, } = client_1.BrowserSafeApis.options;
|
|
14
|
+
const { offthreadVideoCacheSizeInBytesOption, scaleOption, jpegQualityOption, enableMultiprocessOnLinuxOption, glOption, delayRenderTimeoutInMillisecondsOption, headlessOption, overwriteOption, binariesDirectoryOption, } = 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);
|
|
17
17
|
if (!file) {
|
|
@@ -49,6 +49,9 @@ const still = async (remotionRoot, args, logLevel) => {
|
|
|
49
49
|
const overwrite = overwriteOption.getValue({
|
|
50
50
|
commandLine: parse_command_line_1.parsedCli,
|
|
51
51
|
}, true).value;
|
|
52
|
+
const binariesDirectory = binariesDirectoryOption.getValue({
|
|
53
|
+
commandLine: parse_command_line_1.parsedCli,
|
|
54
|
+
}).value;
|
|
52
55
|
const chromiumOptions = {
|
|
53
56
|
disableWebSecurity,
|
|
54
57
|
enableMultiProcessOnLinux,
|
|
@@ -91,6 +94,7 @@ const still = async (remotionRoot, args, logLevel) => {
|
|
|
91
94
|
cancelSignal: null,
|
|
92
95
|
outputLocationFromUi: null,
|
|
93
96
|
offthreadVideoCacheSizeInBytes,
|
|
97
|
+
binariesDirectory,
|
|
94
98
|
});
|
|
95
99
|
};
|
|
96
100
|
exports.still = still;
|
package/dist/studio.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.studioCommand = void 0;
|
|
4
|
+
const client_1 = require("@remotion/renderer/client");
|
|
4
5
|
const studio_server_1 = require("@remotion/studio-server");
|
|
5
6
|
const config_1 = require("./config");
|
|
6
7
|
const number_of_shared_audio_tags_1 = require("./config/number-of-shared-audio-tags");
|
|
@@ -55,6 +56,9 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
|
|
|
55
56
|
}, logLevel, false);
|
|
56
57
|
const keyboardShortcutsEnabled = config_1.ConfigInternals.getKeyboardShortcutsEnabled();
|
|
57
58
|
const gitSource = (0, get_github_repository_1.getGitSource)(remotionRoot);
|
|
59
|
+
const binariesDirectory = client_1.BrowserSafeApis.options.binariesDirectoryOption.getValue({
|
|
60
|
+
commandLine: parse_command_line_1.parsedCli,
|
|
61
|
+
}).value;
|
|
58
62
|
await studio_server_1.StudioServerInternals.startStudio({
|
|
59
63
|
previewEntry: require.resolve('@remotion/studio/entry'),
|
|
60
64
|
browserArgs: parse_command_line_1.parsedCli['browser-args'],
|
|
@@ -84,6 +88,7 @@ const studioCommand = async (remotionRoot, args, logLevel) => {
|
|
|
84
88
|
parsedCliOpen: parse_command_line_1.parsedCli.open,
|
|
85
89
|
gitSource,
|
|
86
90
|
bufferStateDelayInMilliseconds: config_1.ConfigInternals.getBufferStateDelayInMilliseconds(),
|
|
91
|
+
binariesDirectory,
|
|
87
92
|
});
|
|
88
93
|
};
|
|
89
94
|
exports.studioCommand = studioCommand;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/cli",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.120",
|
|
4
4
|
"description": "CLI for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
"dotenv": "9.0.2",
|
|
33
33
|
"minimist": "1.2.6",
|
|
34
34
|
"prompts": "2.4.2",
|
|
35
|
-
"@remotion/
|
|
36
|
-
"@remotion/
|
|
37
|
-
"@remotion/studio": "4.0.
|
|
38
|
-
"@remotion/
|
|
39
|
-
"remotion": "4.0.
|
|
40
|
-
"
|
|
41
|
-
"@remotion/
|
|
35
|
+
"@remotion/bundler": "4.0.120",
|
|
36
|
+
"@remotion/media-utils": "4.0.120",
|
|
37
|
+
"@remotion/studio-server": "4.0.120",
|
|
38
|
+
"@remotion/player": "4.0.120",
|
|
39
|
+
"@remotion/studio": "4.0.120",
|
|
40
|
+
"remotion": "4.0.120",
|
|
41
|
+
"@remotion/renderer": "4.0.120"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"react": ">=16.8.0",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"react-dom": "18.2.0",
|
|
64
64
|
"vitest": "0.31.1",
|
|
65
65
|
"zod": "^3.22.3",
|
|
66
|
-
"@remotion/zod-types": "4.0.
|
|
67
|
-
"@remotion/tailwind": "4.0.
|
|
66
|
+
"@remotion/zod-types": "4.0.120",
|
|
67
|
+
"@remotion/tailwind": "4.0.120"
|
|
68
68
|
},
|
|
69
69
|
"keywords": [
|
|
70
70
|
"remotion",
|