@remotion/renderer 4.0.533 → 4.0.535
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/aac-priming.js +6 -2
- package/dist/browser/BrowserFetcher.d.ts +7 -1
- package/dist/browser/BrowserFetcher.js +33 -13
- package/dist/browser/BrowserPage.js +4 -0
- package/dist/browser/Connection.js +5 -17
- package/dist/browser/DOMWorld.js +19 -13
- package/dist/browser/devtools-commands.d.ts +13 -1
- package/dist/browser/devtools-types.d.ts +62 -0
- package/dist/browser/get-chrome-download-url.d.ts +1 -1
- package/dist/browser/get-chrome-download-url.js +19 -33
- package/dist/can-use-parallel-encoding.d.ts +0 -1
- package/dist/can-use-parallel-encoding.js +10 -10
- package/dist/client.d.ts +402 -4
- package/dist/client.js +2 -0
- package/dist/combine-chunks.d.ts +2 -1
- package/dist/combine-chunks.js +81 -52
- package/dist/combine-video-streams.js +3 -0
- package/dist/compositor/get-executable-path.js +30 -15
- package/dist/cycle-browser-tabs.js +9 -1
- package/dist/ensure-browser.d.ts +3 -0
- package/dist/ensure-browser.js +30 -6
- package/dist/esm/client.mjs +1325 -954
- package/dist/esm/index.mjs +4465 -3324
- package/dist/esm/pure.mjs +36 -10
- package/dist/file-extensions.js +4 -1
- package/dist/get-mp4-brand.d.ts +1 -0
- package/dist/get-mp4-brand.js +21 -0
- package/dist/get-video-threads-flag.js +5 -1
- package/dist/image-format.d.ts +1 -0
- package/dist/image-format.js +8 -4
- package/dist/index.d.ts +58 -2
- package/dist/index.js +4 -0
- package/dist/memory/from-macos-sysctl.d.ts +1 -0
- package/dist/memory/from-macos-sysctl.js +50 -0
- package/dist/memory/from-proc-meminfo.d.ts +1 -1
- package/dist/memory/from-proc-meminfo.js +7 -4
- package/dist/memory/get-available-memory.js +29 -21
- package/dist/mux-video-and-audio.js +11 -2
- package/dist/next-frame-to-render.d.ts +3 -7
- package/dist/next-frame-to-render.js +3 -22
- package/dist/open-browser.js +1 -0
- package/dist/options/allow-html-in-canvas.d.ts +1 -0
- package/dist/options/allow-html-in-canvas.js +2 -1
- package/dist/options/api-key.d.ts +1 -0
- package/dist/options/api-key.js +2 -1
- package/dist/options/ask-ai.d.ts +1 -0
- package/dist/options/ask-ai.js +2 -1
- package/dist/options/audio-bitrate.d.ts +1 -0
- package/dist/options/audio-bitrate.js +2 -1
- package/dist/options/audio-codec.d.ts +1 -0
- package/dist/options/audio-codec.js +13 -6
- package/dist/options/beep-on-finish.d.ts +1 -0
- package/dist/options/beep-on-finish.js +2 -1
- package/dist/options/benchmark-concurrencies.d.ts +1 -0
- package/dist/options/benchmark-concurrencies.js +2 -1
- package/dist/options/binaries-directory.d.ts +1 -0
- package/dist/options/binaries-directory.js +2 -1
- package/dist/options/browser-executable.d.ts +1 -0
- package/dist/options/browser-executable.js +2 -1
- package/dist/options/browser.d.ts +1 -0
- package/dist/options/browser.js +2 -1
- package/dist/options/bundle-cache.d.ts +1 -0
- package/dist/options/bundle-cache.js +2 -1
- package/dist/options/canvas-tabs.d.ts +1 -0
- package/dist/options/canvas-tabs.js +2 -1
- package/dist/options/chrome-mode.d.ts +1 -0
- package/dist/options/chrome-mode.js +2 -1
- package/dist/options/color-space.d.ts +1 -0
- package/dist/options/color-space.js +2 -1
- package/dist/options/concurrency.d.ts +1 -0
- package/dist/options/concurrency.js +2 -1
- package/dist/options/config.d.ts +1 -0
- package/dist/options/config.js +2 -1
- package/dist/options/crf.d.ts +1 -0
- package/dist/options/crf.js +2 -1
- package/dist/options/cross-site-isolation.d.ts +1 -0
- package/dist/options/cross-site-isolation.js +2 -1
- package/dist/options/dark-mode.d.ts +1 -0
- package/dist/options/dark-mode.js +2 -1
- package/dist/options/default-coding-agent.d.ts +1 -0
- package/dist/options/default-coding-agent.js +2 -1
- package/dist/options/default-editor.d.ts +1 -0
- package/dist/options/default-editor.js +2 -1
- package/dist/options/default-premount-in-seconds.d.ts +19 -0
- package/dist/options/default-premount-in-seconds.js +36 -0
- package/dist/options/delete-after.d.ts +1 -0
- package/dist/options/delete-after.js +2 -1
- package/dist/options/disable-git-source.d.ts +1 -0
- package/dist/options/disable-git-source.js +2 -1
- package/dist/options/disable-shared-memory-capture.d.ts +17 -0
- package/dist/options/disable-shared-memory-capture.js +30 -0
- package/dist/options/disable-web-security.d.ts +1 -0
- package/dist/options/disable-web-security.js +2 -1
- package/dist/options/disallow-parallel-encoding.d.ts +1 -0
- package/dist/options/disallow-parallel-encoding.js +2 -1
- package/dist/options/enable-cancellation.d.ts +1 -0
- package/dist/options/enable-cancellation.js +2 -1
- package/dist/options/enable-lambda-insights.d.ts +1 -0
- package/dist/options/enable-lambda-insights.js +2 -1
- package/dist/options/enable-multiprocess-on-linux.d.ts +1 -0
- package/dist/options/enable-multiprocess-on-linux.js +2 -1
- package/dist/options/encoding-buffer-size.d.ts +1 -0
- package/dist/options/encoding-buffer-size.js +2 -1
- package/dist/options/encoding-max-rate.d.ts +1 -0
- package/dist/options/encoding-max-rate.js +2 -1
- package/dist/options/enforce-audio.d.ts +1 -0
- package/dist/options/enforce-audio.js +2 -1
- package/dist/options/env-file.d.ts +1 -0
- package/dist/options/env-file.js +2 -1
- package/dist/options/every-nth-frame.d.ts +1 -0
- package/dist/options/every-nth-frame.js +2 -1
- package/dist/options/experimental-keep-audio-context-alive.d.ts +1 -0
- package/dist/options/experimental-keep-audio-context-alive.js +2 -1
- package/dist/options/experimental-sequence-activity-limit.d.ts +19 -0
- package/dist/options/experimental-sequence-activity-limit.js +40 -0
- package/dist/options/experimental-sequence-activity.d.ts +19 -0
- package/dist/options/experimental-sequence-activity.js +38 -0
- package/dist/options/experimental-tracks.d.ts +19 -0
- package/dist/options/experimental-tracks.js +43 -0
- package/dist/options/folder-expiry.d.ts +1 -0
- package/dist/options/folder-expiry.js +2 -1
- package/dist/options/for-seamless-aac-concatenation.d.ts +1 -0
- package/dist/options/for-seamless-aac-concatenation.js +2 -1
- package/dist/options/force-new-studio.d.ts +1 -0
- package/dist/options/force-new-studio.js +2 -1
- package/dist/options/frames.d.ts +1 -0
- package/dist/options/frames.js +2 -1
- package/dist/options/gl.d.ts +1 -0
- package/dist/options/gl.js +2 -1
- package/dist/options/gop-size.d.ts +1 -0
- package/dist/options/gop-size.js +2 -1
- package/dist/options/hardware-acceleration.d.ts +1 -0
- package/dist/options/hardware-acceleration.js +2 -1
- package/dist/options/headless.d.ts +1 -0
- package/dist/options/headless.js +2 -1
- package/dist/options/ignore-certificate-errors.d.ts +1 -0
- package/dist/options/ignore-certificate-errors.js +2 -1
- package/dist/options/image-sequence-pattern.d.ts +2 -1
- package/dist/options/image-sequence-pattern.js +2 -1
- package/dist/options/image-sequence.d.ts +1 -0
- package/dist/options/image-sequence.js +2 -1
- package/dist/options/index.d.ts +211 -2
- package/dist/options/index.js +12 -0
- package/dist/options/interactivity.d.ts +1 -0
- package/dist/options/interactivity.js +2 -1
- package/dist/options/ipv4.d.ts +1 -0
- package/dist/options/ipv4.js +2 -1
- package/dist/options/is-production.d.ts +1 -0
- package/dist/options/is-production.js +2 -1
- package/dist/options/jpeg-quality.d.ts +1 -0
- package/dist/options/jpeg-quality.js +6 -2
- package/dist/options/keyboard-shortcuts.d.ts +1 -0
- package/dist/options/keyboard-shortcuts.js +2 -1
- package/dist/options/latency-hint.d.ts +1 -0
- package/dist/options/latency-hint.js +2 -1
- package/dist/options/license-key.d.ts +1 -0
- package/dist/options/license-key.js +2 -1
- package/dist/options/log-level.d.ts +1 -0
- package/dist/options/log-level.js +2 -1
- package/dist/options/metadata.d.ts +1 -0
- package/dist/options/metadata.js +2 -1
- package/dist/options/mute.d.ts +1 -0
- package/dist/options/mute.js +2 -1
- package/dist/options/no-open.d.ts +1 -0
- package/dist/options/no-open.js +2 -1
- package/dist/options/number-of-gif-loops.d.ts +1 -0
- package/dist/options/number-of-gif-loops.js +2 -1
- package/dist/options/number-of-shared-audio-tags.d.ts +1 -0
- package/dist/options/number-of-shared-audio-tags.js +2 -1
- package/dist/options/offthreadvideo-cache-size.d.ts +1 -0
- package/dist/options/offthreadvideo-cache-size.js +2 -1
- package/dist/options/offthreadvideo-threads.d.ts +1 -0
- package/dist/options/offthreadvideo-threads.js +2 -1
- package/dist/options/on-browser-download.d.ts +1 -0
- package/dist/options/on-browser-download.js +2 -1
- package/dist/options/option.d.ts +1 -0
- package/dist/options/options-map.d.ts +189 -1
- package/dist/options/options-map.js +4 -0
- package/dist/options/out-dir.d.ts +1 -0
- package/dist/options/out-dir.js +2 -1
- package/dist/options/override-duration.d.ts +1 -0
- package/dist/options/override-duration.js +2 -1
- package/dist/options/override-fps.d.ts +1 -0
- package/dist/options/override-fps.js +2 -1
- package/dist/options/override-height.d.ts +1 -0
- package/dist/options/override-height.js +2 -1
- package/dist/options/override-width.d.ts +1 -0
- package/dist/options/override-width.js +2 -1
- package/dist/options/overwrite.d.ts +1 -0
- package/dist/options/overwrite.js +2 -1
- package/dist/options/package-manager.d.ts +1 -0
- package/dist/options/package-manager.js +2 -1
- package/dist/options/pixel-format.d.ts +1 -0
- package/dist/options/pixel-format.js +2 -1
- package/dist/options/port.d.ts +1 -0
- package/dist/options/port.js +2 -1
- package/dist/options/prefer-lossless.d.ts +1 -0
- package/dist/options/prefer-lossless.js +2 -1
- package/dist/options/preview-sample-rate.d.ts +1 -0
- package/dist/options/preview-sample-rate.js +2 -1
- package/dist/options/props.d.ts +1 -0
- package/dist/options/props.js +2 -1
- package/dist/options/prores-profile.d.ts +1 -0
- package/dist/options/prores-profile.js +2 -1
- package/dist/options/public-dir.d.ts +1 -0
- package/dist/options/public-dir.js +2 -1
- package/dist/options/public-license-key.d.ts +1 -0
- package/dist/options/public-license-key.js +2 -1
- package/dist/options/public-path.d.ts +1 -0
- package/dist/options/public-path.js +2 -1
- package/dist/options/repro.d.ts +1 -0
- package/dist/options/repro.js +2 -1
- package/dist/options/rspack.d.ts +2 -1
- package/dist/options/rspack.js +2 -1
- package/dist/options/runs.d.ts +1 -0
- package/dist/options/runs.js +2 -1
- package/dist/options/sample-rate.d.ts +1 -0
- package/dist/options/sample-rate.js +2 -1
- package/dist/options/scale.d.ts +1 -0
- package/dist/options/scale.js +2 -1
- package/dist/options/separate-audio.d.ts +1 -0
- package/dist/options/separate-audio.js +3 -2
- package/dist/options/show-premounting.d.ts +19 -0
- package/dist/options/show-premounting.js +33 -0
- package/dist/options/skip-skills.d.ts +1 -0
- package/dist/options/skip-skills.js +2 -1
- package/dist/options/still-frame.d.ts +1 -0
- package/dist/options/still-frame.js +2 -1
- package/dist/options/still-image-format.d.ts +1 -0
- package/dist/options/still-image-format.js +2 -1
- package/dist/options/throw-if-site-exists.d.ts +1 -0
- package/dist/options/throw-if-site-exists.js +2 -1
- package/dist/options/timeout.d.ts +1 -0
- package/dist/options/timeout.js +2 -1
- package/dist/options/user-agent.d.ts +1 -0
- package/dist/options/user-agent.js +2 -1
- package/dist/options/version-flag.d.ts +1 -0
- package/dist/options/version-flag.js +2 -1
- package/dist/options/video-bitrate.d.ts +1 -0
- package/dist/options/video-bitrate.js +2 -1
- package/dist/options/video-cache-size.d.ts +1 -0
- package/dist/options/video-cache-size.js +2 -1
- package/dist/options/video-codec.d.ts +1 -0
- package/dist/options/video-codec.js +5 -3
- package/dist/options/video-image-format.d.ts +1 -0
- package/dist/options/video-image-format.js +7 -2
- package/dist/options/webhook-custom-data.d.ts +1 -0
- package/dist/options/webhook-custom-data.js +2 -1
- package/dist/options/webpack-poll.d.ts +1 -0
- package/dist/options/webpack-poll.js +2 -1
- package/dist/options/x264-preset.d.ts +1 -0
- package/dist/options/x264-preset.js +2 -1
- package/dist/prespawn-ffmpeg.d.ts +20 -0
- package/dist/prespawn-ffmpeg.js +157 -29
- package/dist/probe-shared-memory-capture.d.ts +8 -0
- package/dist/probe-shared-memory-capture.js +111 -0
- package/dist/puppeteer-screenshot.d.ts +3 -1
- package/dist/puppeteer-screenshot.js +1 -0
- package/dist/pure.d.ts +1 -1
- package/dist/remotion-shared-memory-ffmpeg.d.ts +26 -0
- package/dist/remotion-shared-memory-ffmpeg.js +312 -0
- package/dist/remotion-shared-memory.d.ts +49 -0
- package/dist/remotion-shared-memory.js +359 -0
- package/dist/render-frame-and-retry-target-close.d.ts +5 -2
- package/dist/render-frame-and-retry-target-close.js +20 -4
- package/dist/render-frame-with-option-to-reject.d.ts +4 -1
- package/dist/render-frame-with-option-to-reject.js +206 -115
- package/dist/render-frame.d.ts +4 -5
- package/dist/render-frame.js +3 -1
- package/dist/render-frames.d.ts +3 -0
- package/dist/render-frames.js +15 -18
- package/dist/render-media.d.ts +1 -1
- package/dist/render-media.js +131 -46
- package/dist/render-still.js +1 -0
- package/dist/screenshot-background.d.ts +2 -0
- package/dist/screenshot-background.js +20 -0
- package/dist/screenshot-task.d.ts +4 -2
- package/dist/screenshot-task.js +40 -21
- package/dist/seek-to-frame.js +1 -1
- package/dist/stitch-frames-to-video.js +71 -10
- package/dist/take-frame.d.ts +11 -3
- package/dist/take-frame.js +10 -8
- package/dist/validate-output-filename.d.ts +1 -1
- package/dist/validate-output-filename.js +10 -2
- package/package.json +13 -13
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAvailableMemoryFromMacos = void 0;
|
|
4
|
+
const node_child_process_1 = require("node:child_process");
|
|
5
|
+
const node_os_1 = require("node:os");
|
|
6
|
+
const logger_1 = require("../logger");
|
|
7
|
+
const getAvailableMemoryFromMacos = (logLevel) => {
|
|
8
|
+
if ((0, node_os_1.platform)() !== 'darwin') {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
const output = (0, node_child_process_1.execFileSync)('/usr/sbin/sysctl', [
|
|
13
|
+
'-n',
|
|
14
|
+
'vm.page_free_count',
|
|
15
|
+
'vm.page_pageable_external_count',
|
|
16
|
+
'vm.page_purgeable_count',
|
|
17
|
+
// hw.pagesize can differ from the kernel page size under Rosetta.
|
|
18
|
+
'vm.pagesize',
|
|
19
|
+
'kern.memorystatus_vm_pressure_level',
|
|
20
|
+
], { encoding: 'utf-8', timeout: 1000, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
21
|
+
const values = output.trim().split(/\s+/);
|
|
22
|
+
if (values.length !== 5 || values.some((value) => !/^\d+$/.test(value))) {
|
|
23
|
+
throw new Error('Unexpected macOS memory information from sysctl');
|
|
24
|
+
}
|
|
25
|
+
const numbers = values.map(Number);
|
|
26
|
+
const [free, fileBacked, purgeable, pageSize, pressureLevel] = numbers;
|
|
27
|
+
if (numbers.some((value) => !Number.isSafeInteger(value)) ||
|
|
28
|
+
pageSize === 0 ||
|
|
29
|
+
![1, 2, 4].includes(pressureLevel)) {
|
|
30
|
+
throw new Error('Invalid macOS memory information from sysctl');
|
|
31
|
+
}
|
|
32
|
+
// The sysctl exposes dispatch pressure flags: normal=1, warning=2, critical=4.
|
|
33
|
+
if (pressureLevel === 4) {
|
|
34
|
+
logger_1.Log.verbose({ indent: false, logLevel }, 'macOS memory pressure is critical. Using os.freemem().');
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
// XNU's fully reclaimable pages exclude anonymous and compressed memory:
|
|
38
|
+
// https://github.com/apple-oss-distributions/xnu/blob/main/doc/vm/memorystatus_notify.md
|
|
39
|
+
const availableMemory = (free + fileBacked + purgeable) * pageSize;
|
|
40
|
+
if (!Number.isSafeInteger(availableMemory)) {
|
|
41
|
+
throw new Error('Invalid macOS available memory size');
|
|
42
|
+
}
|
|
43
|
+
return Math.min(availableMemory, (0, node_os_1.totalmem)());
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
logger_1.Log.verbose({ indent: false, logLevel }, 'Could not read reclaimable macOS memory. Using os.freemem().', err);
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
exports.getAvailableMemoryFromMacos = getAvailableMemoryFromMacos;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const getAvailableMemoryFromProcMeminfo: (logLevel: "error" | "info" | "trace" | "verbose" | "warn") => number | null;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getAvailableMemoryFromProcMeminfo = void 0;
|
|
4
4
|
const node_fs_1 = require("node:fs");
|
|
5
5
|
const logger_1 = require("../logger");
|
|
6
|
-
const
|
|
6
|
+
const getAvailableMemoryFromProcMeminfo = (logLevel) => {
|
|
7
7
|
if (!(0, node_fs_1.existsSync)('/proc/meminfo')) {
|
|
8
8
|
return null;
|
|
9
9
|
}
|
|
10
10
|
try {
|
|
11
11
|
const data = (0, node_fs_1.readFileSync)('/proc/meminfo', 'utf-8');
|
|
12
|
-
//
|
|
12
|
+
// MemAvailable includes memory that can be reclaimed without swapping.
|
|
13
13
|
const lines = data.split('\n');
|
|
14
14
|
const memAvailableLine = lines.find((line) => line.startsWith('MemAvailable'));
|
|
15
15
|
// If we couldn't find MemAvailable, return an error
|
|
@@ -23,6 +23,9 @@ const getFreeMemoryFromProcMeminfo = (logLevel) => {
|
|
|
23
23
|
}
|
|
24
24
|
const value = parseInt(matches[1], 10);
|
|
25
25
|
const unit = matches[2].toLowerCase();
|
|
26
|
+
if (!Number.isSafeInteger(value)) {
|
|
27
|
+
throw new Error('Invalid MemAvailable value');
|
|
28
|
+
}
|
|
26
29
|
// Convert the value to bytes based on its unit
|
|
27
30
|
switch (unit) {
|
|
28
31
|
case 'kb':
|
|
@@ -41,4 +44,4 @@ const getFreeMemoryFromProcMeminfo = (logLevel) => {
|
|
|
41
44
|
return null;
|
|
42
45
|
}
|
|
43
46
|
};
|
|
44
|
-
exports.
|
|
47
|
+
exports.getAvailableMemoryFromProcMeminfo = getAvailableMemoryFromProcMeminfo;
|
|
@@ -5,40 +5,48 @@ const node_os_1 = require("node:os");
|
|
|
5
5
|
const logger_1 = require("../logger");
|
|
6
6
|
const from_docker_cgroup_1 = require("./from-docker-cgroup");
|
|
7
7
|
const from_lambda_env_1 = require("./from-lambda-env");
|
|
8
|
+
const from_macos_sysctl_1 = require("./from-macos-sysctl");
|
|
8
9
|
const from_proc_meminfo_1 = require("./from-proc-meminfo");
|
|
9
10
|
const getAvailableMemory = (logLevel) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
let hostMemory = (0, node_os_1.freemem)();
|
|
12
|
+
let source = 'os.freemem()';
|
|
13
|
+
if ((0, node_os_1.platform)() === 'linux') {
|
|
14
|
+
const procInfo = (0, from_proc_meminfo_1.getAvailableMemoryFromProcMeminfo)(logLevel);
|
|
15
|
+
if (procInfo !== null) {
|
|
16
|
+
hostMemory = procInfo;
|
|
17
|
+
source = '/proc/meminfo MemAvailable';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
else if ((0, node_os_1.platform)() === 'darwin') {
|
|
21
|
+
const macosMemory = (0, from_macos_sysctl_1.getAvailableMemoryFromMacos)(logLevel);
|
|
22
|
+
if (macosMemory !== null) {
|
|
23
|
+
hostMemory = macosMemory;
|
|
24
|
+
source = 'macOS sysctl (free, file-backed and purgeable pages)';
|
|
25
|
+
}
|
|
16
26
|
}
|
|
17
|
-
|
|
18
|
-
const cgroupMemory = (0, from_docker_cgroup_1.getAvailableMemoryFromCgroup)();
|
|
19
|
-
if (cgroupMemory !== null) {
|
|
27
|
+
let availableMemory = hostMemory;
|
|
28
|
+
const cgroupMemory = (0, node_os_1.platform)() === 'linux' ? (0, from_docker_cgroup_1.getAvailableMemoryFromCgroup)() : null;
|
|
29
|
+
if (cgroupMemory !== null && Number.isFinite(cgroupMemory)) {
|
|
20
30
|
// There are 2 Docker memory configurations:
|
|
21
31
|
// 1. --memory=[num]
|
|
22
32
|
// 2. Global Docker memory limit
|
|
23
33
|
// If cgroup limit is higher than global memory, the global memory limit still applies
|
|
24
|
-
|
|
25
|
-
const _procInfo = (0, from_proc_meminfo_1.getFreeMemoryFromProcMeminfo)(logLevel);
|
|
26
|
-
if (cgroupMemory > nodeMemory * 1.25 && Number.isFinite(cgroupMemory)) {
|
|
34
|
+
if (cgroupMemory > hostMemory * 1.25) {
|
|
27
35
|
logger_1.Log.warn({ indent: false, logLevel }, 'Detected differing memory amounts:');
|
|
28
36
|
logger_1.Log.warn({ indent: false, logLevel }, `Memory reported by CGroup: ${(cgroupMemory / 1024 / 1024).toFixed(2)} MB`);
|
|
29
|
-
|
|
30
|
-
logger_1.Log.warn({ indent: false, logLevel }, `Memory reported by /proc/meminfo: ${(_procInfo / 1024 / 1024).toFixed(2)} MB`);
|
|
31
|
-
}
|
|
32
|
-
logger_1.Log.warn({ indent: false, logLevel }, `Memory reported by Node: ${(nodeMemory / 1024 / 1024).toFixed(2)} MB`);
|
|
37
|
+
logger_1.Log.warn({ indent: false, logLevel }, `Memory reported by ${source}: ${(hostMemory / 1024 / 1024).toFixed(2)} MB`);
|
|
33
38
|
logger_1.Log.warn({ indent: false, logLevel }, 'You might have inadvertently set the --memory flag of `docker run` to a value that is higher than the global Docker memory limit.');
|
|
34
39
|
logger_1.Log.warn({ indent: false, logLevel }, 'Using the lower amount of memory for calculation.');
|
|
35
40
|
}
|
|
36
|
-
|
|
41
|
+
availableMemory = Math.min(availableMemory, Math.max(0, cgroupMemory));
|
|
42
|
+
source += ', bounded by remaining cgroup memory';
|
|
37
43
|
}
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
40
|
-
|
|
44
|
+
const maxLambdaMemory = (0, from_lambda_env_1.getMaxLambdaMemory)();
|
|
45
|
+
if (maxLambdaMemory !== null && Number.isFinite(maxLambdaMemory)) {
|
|
46
|
+
availableMemory = Math.min(availableMemory, Math.max(0, maxLambdaMemory));
|
|
47
|
+
source += ', bounded by Lambda memory';
|
|
41
48
|
}
|
|
42
|
-
|
|
49
|
+
logger_1.Log.verbose({ indent: false, logLevel }, `Available memory: ${(availableMemory / 1024 / 1024).toFixed(2)} MiB (${source})`);
|
|
50
|
+
return availableMemory;
|
|
43
51
|
};
|
|
44
52
|
exports.getAvailableMemory = getAvailableMemory;
|
|
@@ -6,6 +6,7 @@ const call_ffmpeg_1 = require("./call-ffmpeg");
|
|
|
6
6
|
const convert_number_of_gif_loops_to_ffmpeg_1 = require("./convert-number-of-gif-loops-to-ffmpeg");
|
|
7
7
|
const get_extension_of_filename_1 = require("./get-extension-of-filename");
|
|
8
8
|
const get_fast_start_muxer_1 = require("./get-fast-start-muxer");
|
|
9
|
+
const get_mp4_brand_1 = require("./get-mp4-brand");
|
|
9
10
|
const logger_1 = require("./logger");
|
|
10
11
|
const make_metadata_args_1 = require("./make-metadata-args");
|
|
11
12
|
const parse_ffmpeg_progress_1 = require("./parse-ffmpeg-progress");
|
|
@@ -18,6 +19,7 @@ const muxVideoAndAudio = async ({ videoOutput, audioOutput, output, indent, logL
|
|
|
18
19
|
const fastStartMuxer = outputExtension
|
|
19
20
|
? (0, get_fast_start_muxer_1.getFastStartMuxer)(outputExtension)
|
|
20
21
|
: null;
|
|
22
|
+
const mp4Brand = (0, get_mp4_brand_1.getMp4BrandForExtension)(outputExtension);
|
|
21
23
|
const command = [
|
|
22
24
|
'-hide_banner',
|
|
23
25
|
videoOutput ? '-i' : null,
|
|
@@ -40,12 +42,19 @@ const muxVideoAndAudio = async ({ videoOutput, audioOutput, output, indent, logL
|
|
|
40
42
|
// result in slightly imprecise values like 95940000/3197999 instead of 30/1.
|
|
41
43
|
videoOutput ? '-r' : null,
|
|
42
44
|
videoOutput ? String(fps) : null,
|
|
45
|
+
// Keep the MP4/MOV video time base consistent with the initial encoding.
|
|
46
|
+
videoOutput ? '-video_track_timescale' : null,
|
|
47
|
+
videoOutput ? '90000' : null,
|
|
43
48
|
numberOfGifLoops === null ? null : '-loop',
|
|
44
49
|
numberOfGifLoops === null
|
|
45
50
|
? null
|
|
46
51
|
: (0, convert_number_of_gif_loops_to_ffmpeg_1.convertNumberOfGifLoopsToFfmpegSyntax)(numberOfGifLoops),
|
|
47
|
-
|
|
48
|
-
|
|
52
|
+
mp4Brand ? '-f' : null,
|
|
53
|
+
mp4Brand ? 'mp4' : null,
|
|
54
|
+
mp4Brand ? '-brand' : null,
|
|
55
|
+
mp4Brand,
|
|
56
|
+
fastStartMuxer || mp4Brand ? '-movflags' : null,
|
|
57
|
+
fastStartMuxer || mp4Brand ? 'faststart' : null,
|
|
49
58
|
...(0, make_metadata_args_1.makeMetadataArgs)(metadata !== null && metadata !== void 0 ? metadata : {}),
|
|
50
59
|
'-y',
|
|
51
60
|
output,
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
export declare const nextFrameToRenderState: ({ allFramesAndExtraFrames,
|
|
1
|
+
export declare const nextFrameToRenderState: ({ allFramesAndExtraFrames, }: {
|
|
2
2
|
allFramesAndExtraFrames: number[];
|
|
3
|
-
concurrencyOrFramesToRender: number;
|
|
4
3
|
}) => {
|
|
5
|
-
getNextFrame: (
|
|
4
|
+
getNextFrame: () => number;
|
|
6
5
|
returnFrame: (frame: number) => void;
|
|
7
6
|
};
|
|
8
|
-
type
|
|
9
|
-
export type NextFrameToRender = ReturnType<Fn>;
|
|
10
|
-
export declare const partitionedNextFrameToRenderState: Fn;
|
|
11
|
-
export {};
|
|
7
|
+
export type NextFrameToRender = ReturnType<typeof nextFrameToRenderState>;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
const nextFrameToRenderState = ({ allFramesAndExtraFrames,
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
7
|
-
concurrencyOrFramesToRender: _concurrency, }) => {
|
|
3
|
+
exports.nextFrameToRenderState = void 0;
|
|
4
|
+
const nextFrameToRenderState = ({ allFramesAndExtraFrames, }) => {
|
|
8
5
|
const rendered = new Map();
|
|
9
6
|
return {
|
|
10
|
-
|
|
11
|
-
getNextFrame: (_pageIndex) => {
|
|
7
|
+
getNextFrame: () => {
|
|
12
8
|
const nextFrame = allFramesAndExtraFrames.find((frame) => {
|
|
13
9
|
return !rendered.has(frame);
|
|
14
10
|
});
|
|
@@ -24,18 +20,3 @@ concurrencyOrFramesToRender: _concurrency, }) => {
|
|
|
24
20
|
};
|
|
25
21
|
};
|
|
26
22
|
exports.nextFrameToRenderState = nextFrameToRenderState;
|
|
27
|
-
const partitionedNextFrameToRenderState = ({ allFramesAndExtraFrames, concurrencyOrFramesToRender: concurrency, }) => {
|
|
28
|
-
const partitions = (0, render_partitions_1.renderPartitions)({
|
|
29
|
-
frames: allFramesAndExtraFrames,
|
|
30
|
-
concurrency,
|
|
31
|
-
});
|
|
32
|
-
return {
|
|
33
|
-
getNextFrame: (pageIndex) => {
|
|
34
|
-
return partitions.getNextFrame(pageIndex);
|
|
35
|
-
},
|
|
36
|
-
returnFrame: () => {
|
|
37
|
-
throw new Error('retrying failed frames for partitioned rendering is not supported. Disable partitioned rendering.');
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
|
-
exports.partitionedNextFrameToRenderState = partitionedNextFrameToRenderState;
|
package/dist/open-browser.js
CHANGED
|
@@ -181,6 +181,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
181
181
|
(chromiumOptions === null || chromiumOptions === void 0 ? void 0 : chromiumOptions.userAgent)
|
|
182
182
|
? `--user-agent="${chromiumOptions.userAgent}"`
|
|
183
183
|
: null,
|
|
184
|
+
'--remotion-shared-memory-capture',
|
|
184
185
|
'--remote-debugging-port=0',
|
|
185
186
|
`--user-data-dir=${userDataDir}`,
|
|
186
187
|
].filter(Boolean),
|
|
@@ -6,11 +6,12 @@ let allowHtmlInCanvasEnabled = false;
|
|
|
6
6
|
const cliFlag = 'allow-html-in-canvas';
|
|
7
7
|
exports.allowHtmlInCanvasOption = {
|
|
8
8
|
name: 'Allow HTML-in-canvas for client-side rendering',
|
|
9
|
+
addedIn: '4.0.447',
|
|
9
10
|
cliFlag,
|
|
10
11
|
description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["When client-side rendering is enabled in the Studio, allow the experimental Chromium HTML-in-canvas API to be used for capturing frames. See", ' ', jsx_runtime_1.jsx("a", { href: "/docs/client-side-rendering/html-in-canvas", children: "HTML-in-canvas docs" }),
|
|
11
12
|
"."] })),
|
|
12
13
|
ssrName: null,
|
|
13
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
14
|
+
docLink: 'https://www.remotion.dev/docs/options/allow-html-in-canvas',
|
|
14
15
|
type: false,
|
|
15
16
|
getValue: ({ commandLine }) => {
|
|
16
17
|
if (commandLine[cliFlag] !== null) {
|
package/dist/options/api-key.js
CHANGED
|
@@ -6,12 +6,13 @@ let currentApiKey = null;
|
|
|
6
6
|
const cliFlag = 'api-key';
|
|
7
7
|
exports.apiKeyOption = {
|
|
8
8
|
name: 'API key',
|
|
9
|
+
addedIn: '4.0.253',
|
|
9
10
|
cliFlag,
|
|
10
11
|
description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["API key for sending a usage event using ",
|
|
11
12
|
jsx_runtime_1.jsx("code", { children: "@remotion/licensing" }),
|
|
12
13
|
"."] })),
|
|
13
14
|
ssrName: 'apiKey',
|
|
14
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
15
|
+
docLink: 'https://www.remotion.dev/docs/options/api-key',
|
|
15
16
|
type: null,
|
|
16
17
|
getValue: ({ commandLine }) => {
|
|
17
18
|
if (commandLine[cliFlag] !== undefined) {
|
package/dist/options/ask-ai.d.ts
CHANGED
package/dist/options/ask-ai.js
CHANGED
|
@@ -7,10 +7,11 @@ let configuredAskAIEnabled = null;
|
|
|
7
7
|
const cliFlag = 'disable-ask-ai';
|
|
8
8
|
exports.askAIOption = {
|
|
9
9
|
name: 'Disable or Enable the Ask AI option',
|
|
10
|
+
addedIn: '4.0.407',
|
|
10
11
|
cliFlag,
|
|
11
12
|
description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "If the Cmd + I shortcut of the Ask AI modal conflicts with your Studio, you can disable it using this." })),
|
|
12
13
|
ssrName: null,
|
|
13
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
14
|
+
docLink: 'https://www.remotion.dev/docs/options/disable-ask-ai',
|
|
14
15
|
type: false,
|
|
15
16
|
getValue: ({ commandLine }) => {
|
|
16
17
|
if (commandLine[cliFlag] !== undefined) {
|
|
@@ -6,6 +6,7 @@ const cliFlag = 'audio-bitrate';
|
|
|
6
6
|
let audioBitrate = null;
|
|
7
7
|
exports.audioBitrateOption = {
|
|
8
8
|
name: 'Audio Bitrate',
|
|
9
|
+
addedIn: '3.2.32',
|
|
9
10
|
cliFlag,
|
|
10
11
|
description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFmpeg", "'", "s ",
|
|
11
12
|
jsx_runtime_1.jsx("code", { children: "-b:a" }),
|
|
@@ -17,7 +18,7 @@ exports.audioBitrateOption = {
|
|
|
17
18
|
jsx_runtime_1.jsx("code", { children: "320k" })
|
|
18
19
|
] })),
|
|
19
20
|
ssrName: 'audioBitrate',
|
|
20
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
21
|
+
docLink: 'https://www.remotion.dev/docs/options/audio-bitrate',
|
|
21
22
|
type: '0',
|
|
22
23
|
getValue: ({ commandLine }) => {
|
|
23
24
|
if (commandLine[cliFlag]) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.audioCodecOption = exports.getDefaultAudioCodec = exports.resolveAudioCodec = exports.getExtensionFromAudioCodec = exports.defaultAudioCodecs = exports.mapAudioCodecToFfmpegAudioCodecName = exports.supportedAudioCodecs = exports.validAudioCodecs = void 0;
|
|
4
|
+
const get_mp4_brand_1 = require("../get-mp4-brand");
|
|
4
5
|
const separate_audio_1 = require("./separate-audio");
|
|
5
6
|
exports.validAudioCodecs = ['pcm-16', 'aac', 'mp3', 'opus'];
|
|
6
7
|
exports.supportedAudioCodecs = {
|
|
@@ -111,18 +112,23 @@ const getExtensionFromAudioCodec = (audioCodec) => {
|
|
|
111
112
|
};
|
|
112
113
|
exports.getExtensionFromAudioCodec = getExtensionFromAudioCodec;
|
|
113
114
|
const resolveAudioCodec = ({ codec, setting, preferLossless, separateAudioTo, }) => {
|
|
115
|
+
var _a;
|
|
114
116
|
let derivedFromSeparateAudioToExtension = null;
|
|
115
117
|
if (separateAudioTo) {
|
|
116
|
-
const extension = separateAudioTo.split('.').pop();
|
|
118
|
+
const extension = (_a = separateAudioTo.split('.').pop()) !== null && _a !== void 0 ? _a : null;
|
|
117
119
|
for (const [key, value] of Object.entries(extensionMap)) {
|
|
118
120
|
if (value === extension) {
|
|
119
121
|
derivedFromSeparateAudioToExtension = key;
|
|
120
|
-
if (!exports.supportedAudioCodecs[codec].includes(derivedFromSeparateAudioToExtension) &&
|
|
121
|
-
derivedFromSeparateAudioToExtension) {
|
|
122
|
-
throw new Error(`The codec is ${codec} but the audio codec derived from --${separate_audio_1.separateAudioOption.cliFlag} is ${derivedFromSeparateAudioToExtension}. The only supported codecs are: ${exports.supportedAudioCodecs[codec].join(', ')}`);
|
|
123
|
-
}
|
|
124
122
|
}
|
|
125
123
|
}
|
|
124
|
+
// .m4a, .m4b and .3gp are AAC in an MP4 container
|
|
125
|
+
if ((0, get_mp4_brand_1.getMp4BrandForExtension)(extension)) {
|
|
126
|
+
derivedFromSeparateAudioToExtension = 'aac';
|
|
127
|
+
}
|
|
128
|
+
if (derivedFromSeparateAudioToExtension &&
|
|
129
|
+
!exports.supportedAudioCodecs[codec].includes(derivedFromSeparateAudioToExtension)) {
|
|
130
|
+
throw new Error(`The codec is ${codec} but the audio codec derived from --${separate_audio_1.separateAudioOption.cliFlag} is ${derivedFromSeparateAudioToExtension}. The only supported codecs are: ${exports.supportedAudioCodecs[codec].join(', ')}`);
|
|
131
|
+
}
|
|
126
132
|
}
|
|
127
133
|
// Explanation: https://github.com/remotion-dev/remotion/issues/1647
|
|
128
134
|
if (preferLossless) {
|
|
@@ -186,8 +192,9 @@ exports.audioCodecOption = {
|
|
|
186
192
|
};
|
|
187
193
|
},
|
|
188
194
|
description: () => `Set the format of the audio that is embedded in the video. Not all codec and audio codec combinations are supported and certain combinations require a certain file extension and container format. See the table in the docs to see possible combinations.`,
|
|
189
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
195
|
+
docLink: 'https://www.remotion.dev/docs/options/audio-codec',
|
|
190
196
|
name: 'Audio Codec',
|
|
197
|
+
addedIn: '3.3.41',
|
|
191
198
|
ssrName,
|
|
192
199
|
type: 'aac',
|
|
193
200
|
id: cliFlag,
|
|
@@ -7,10 +7,11 @@ let configuredBeepOnFinish = null;
|
|
|
7
7
|
const cliFlag = 'beep-on-finish';
|
|
8
8
|
exports.beepOnFinishOption = {
|
|
9
9
|
name: 'Beep on finish',
|
|
10
|
+
addedIn: '4.0.84',
|
|
10
11
|
cliFlag,
|
|
11
12
|
description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Whether the Remotion Studio tab should beep when the render is finished." })),
|
|
12
13
|
ssrName: null,
|
|
13
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
14
|
+
docLink: 'https://www.remotion.dev/docs/options/beep-on-finish',
|
|
14
15
|
type: false,
|
|
15
16
|
getValue: ({ commandLine }) => {
|
|
16
17
|
if (commandLine[cliFlag] !== undefined && commandLine[cliFlag] !== null) {
|
|
@@ -6,11 +6,12 @@ let currentConcurrencies = null;
|
|
|
6
6
|
const cliFlag = 'concurrencies';
|
|
7
7
|
exports.benchmarkConcurrenciesOption = {
|
|
8
8
|
name: 'Benchmark concurrencies',
|
|
9
|
+
addedIn: '3.2.28',
|
|
9
10
|
cliFlag,
|
|
10
11
|
description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Specify which concurrency values should be used while benchmarking. Multiple values can be passed separated by comma. Learn more about", ' ', jsx_runtime_1.jsx("a", { href: "https://remotion.dev/docs/terminology/concurrency", children: "concurrency" }),
|
|
11
12
|
"."] })),
|
|
12
13
|
ssrName: null,
|
|
13
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
14
|
+
docLink: 'https://www.remotion.dev/docs/options/concurrencies',
|
|
14
15
|
type: null,
|
|
15
16
|
getValue: ({ commandLine }) => {
|
|
16
17
|
if (commandLine[cliFlag] !== undefined) {
|
|
@@ -6,6 +6,7 @@ const cliFlag = 'binaries-directory';
|
|
|
6
6
|
let currentDirectory = null;
|
|
7
7
|
exports.binariesDirectoryOption = {
|
|
8
8
|
name: 'Binaries Directory',
|
|
9
|
+
addedIn: '4.0.120',
|
|
9
10
|
cliFlag,
|
|
10
11
|
description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["The directory where the platform-specific binaries and libraries that Remotion needs are located. Those include an ",
|
|
11
12
|
jsx_runtime_1.jsx("code", { children: "ffmpeg" }),
|
|
@@ -17,7 +18,7 @@ exports.binariesDirectoryOption = {
|
|
|
17
18
|
jsx_runtime_1.jsx("br", {}),
|
|
18
19
|
"This option is useful in environments where Remotion is not officially supported to run like bundled serverless functions or Electron."] })),
|
|
19
20
|
ssrName: 'binariesDirectory',
|
|
20
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
21
|
+
docLink: 'https://www.remotion.dev/docs/options/binaries-directory',
|
|
21
22
|
type: '',
|
|
22
23
|
getValue: ({ commandLine }) => {
|
|
23
24
|
if (commandLine[cliFlag] !== undefined) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BrowserExecutable } from '../browser-executable';
|
|
2
2
|
export declare const browserExecutableOption: {
|
|
3
3
|
name: string;
|
|
4
|
+
addedIn: string;
|
|
4
5
|
cliFlag: "browser-executable";
|
|
5
6
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
ssrName: "browserExecutable";
|
|
@@ -6,10 +6,11 @@ let currentBrowserExecutablePath = null;
|
|
|
6
6
|
const cliFlag = 'browser-executable';
|
|
7
7
|
exports.browserExecutableOption = {
|
|
8
8
|
name: 'Browser executable',
|
|
9
|
+
addedIn: '1.5.0',
|
|
9
10
|
cliFlag,
|
|
10
11
|
description: () => (jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Set a custom Chrome or Chromium executable path. By default Remotion will try to find an existing version of Chrome on your system and if not found, it will download one. This flag is useful if you don't have Chrome installed in a standard location and you want to prevent downloading an additional browser or need support for the H264 codec." })),
|
|
11
12
|
ssrName: 'browserExecutable',
|
|
12
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
13
|
+
docLink: 'https://www.remotion.dev/docs/options/browser-executable',
|
|
13
14
|
type: null,
|
|
14
15
|
getValue: ({ commandLine }) => {
|
|
15
16
|
if (commandLine[cliFlag] !== undefined) {
|
package/dist/options/browser.js
CHANGED
|
@@ -5,11 +5,12 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const cliFlag = 'browser';
|
|
6
6
|
exports.browserOption = {
|
|
7
7
|
name: 'Browser',
|
|
8
|
+
addedIn: '3.3.79',
|
|
8
9
|
cliFlag,
|
|
9
10
|
description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Specify the browser which should be used for opening a tab. The default browser will be used by default. Pass an absolute path or", ' ', jsx_runtime_1.jsx("code", { children: "\"chrome\"" }),
|
|
10
11
|
" to use Chrome. If Chrome is selected as the browser and you are on macOS, Remotion will try to reuse an existing tab."] })),
|
|
11
12
|
ssrName: null,
|
|
12
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
13
|
+
docLink: 'https://www.remotion.dev/docs/options/browser',
|
|
13
14
|
getValue: ({ commandLine }) => {
|
|
14
15
|
if (commandLine[cliFlag] !== undefined) {
|
|
15
16
|
return {
|
|
@@ -6,11 +6,12 @@ const cliFlag = 'bundle-cache';
|
|
|
6
6
|
let cachingEnabled = true;
|
|
7
7
|
exports.bundleCacheOption = {
|
|
8
8
|
name: 'Webpack Bundle Caching',
|
|
9
|
+
addedIn: '2.0.0',
|
|
9
10
|
cliFlag,
|
|
10
11
|
description: () => (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["Enable or disable Webpack caching. This flag is enabled by default, use", ' ', jsx_runtime_1.jsx("code", { children: "--bundle-cache=false" }),
|
|
11
12
|
" to disable caching."] })),
|
|
12
13
|
ssrName: null,
|
|
13
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
14
|
+
docLink: 'https://www.remotion.dev/docs/options/bundle-cache',
|
|
14
15
|
getValue: ({ commandLine }) => {
|
|
15
16
|
if (commandLine[cliFlag] !== undefined && commandLine[cliFlag] !== null) {
|
|
16
17
|
return {
|
|
@@ -7,10 +7,11 @@ let configuredCanvasTabsEnabled = null;
|
|
|
7
7
|
const cliFlag = 'disable-canvas-tabs';
|
|
8
8
|
exports.canvasTabsOption = {
|
|
9
9
|
name: 'Disable or enable Studio canvas tabs',
|
|
10
|
+
addedIn: '4.0.530',
|
|
10
11
|
cliFlag,
|
|
11
12
|
description: () => jsx_runtime_1.jsx(jsx_runtime_1.Fragment, { children: "Enable or disable the tabs above the Studio canvas." }),
|
|
12
13
|
ssrName: null,
|
|
13
|
-
docLink: 'https://www.remotion.dev/docs/
|
|
14
|
+
docLink: 'https://www.remotion.dev/docs/options/disable-canvas-tabs',
|
|
14
15
|
type: false,
|
|
15
16
|
getValue: ({ commandLine }) => {
|
|
16
17
|
if (commandLine[cliFlag] !== undefined && commandLine[cliFlag] !== null) {
|
|
@@ -11,6 +11,7 @@ let configSelection = null;
|
|
|
11
11
|
exports.chromeModeOption = {
|
|
12
12
|
cliFlag,
|
|
13
13
|
name: 'Chrome Mode',
|
|
14
|
+
addedIn: '4.0.248',
|
|
14
15
|
ssrName: 'chromeMode',
|
|
15
16
|
description: () => {
|
|
16
17
|
return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: ["One of", ' ', exports.validChromeModeOptions.map((option, i) => (jsx_runtime_1.jsxs("code", { children: [option, i === exports.validChromeModeOptions.length - 1 ? '' : ', '] }, option))), ". Default ",
|
|
@@ -20,7 +21,7 @@ exports.chromeModeOption = {
|
|
|
20
21
|
" to take advantage of GPU drivers on Linux."] })
|
|
21
22
|
] }));
|
|
22
23
|
},
|
|
23
|
-
docLink: 'https://www.remotion.dev/chrome-
|
|
24
|
+
docLink: 'https://www.remotion.dev/docs/options/chrome-mode',
|
|
24
25
|
getValue: ({ commandLine }) => {
|
|
25
26
|
if (commandLine[cliFlag]) {
|
|
26
27
|
if (!exports.validChromeModeOptions.includes(commandLine[cliFlag])) {
|
|
@@ -3,6 +3,7 @@ export type ColorSpace = (typeof validColorSpaces)[number];
|
|
|
3
3
|
export declare const DEFAULT_COLOR_SPACE: "default";
|
|
4
4
|
export declare const colorSpaceOption: {
|
|
5
5
|
name: string;
|
|
6
|
+
addedIn: string;
|
|
6
7
|
cliFlag: "color-space";
|
|
7
8
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
docLink: string;
|