@remotion/cli 4.0.22 → 4.0.23
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 +3 -1
- package/dist/better-opn/index.d.ts +0 -1
- package/dist/compositions.js +2 -1
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.js +3 -0
- package/dist/config/offthread-video-cache-size.d.ts +2 -0
- package/dist/config/offthread-video-cache-size.js +12 -0
- package/dist/editor/components/Modals.js +1 -1
- package/dist/editor/components/NewComposition/NewCompCode.d.ts +0 -1
- package/dist/editor/components/NewComposition/RemInput.d.ts +1 -1
- package/dist/editor/components/Notifications/ServerDisconnected.js +2 -1
- package/dist/editor/components/RenderButton.js +1 -0
- package/dist/editor/components/RenderModal/CrfSetting.d.ts +2 -2
- package/dist/editor/components/RenderModal/EnforceAudioTrackSetting.d.ts +2 -2
- package/dist/editor/components/RenderModal/MutedSetting.d.ts +2 -2
- package/dist/editor/components/RenderModal/NumberSetting.d.ts +2 -2
- package/dist/editor/components/RenderModal/OptionExplainer.d.ts +2 -2
- package/dist/editor/components/RenderModal/RenderModal.d.ts +1 -0
- package/dist/editor/components/RenderModal/RenderModal.js +7 -2
- package/dist/editor/components/RenderModal/RenderModalAdvanced.d.ts +2 -0
- package/dist/editor/components/RenderModal/RenderModalAdvanced.js +22 -2
- package/dist/editor/components/RenderModal/RenderModalPicture.d.ts +1 -1
- package/dist/editor/components/RenderModal/SchemaEditor/input-props-serialization.d.ts +14 -0
- package/dist/editor/components/RenderModal/SchemaEditor/input-props-serialization.js +42 -0
- package/dist/editor/components/RenderModal/layout.js +1 -1
- package/dist/editor/components/RenderQueue/actions.d.ts +4 -2
- package/dist/editor/components/RenderQueue/actions.js +4 -2
- package/dist/editor/components/RightPanel.js +12 -45
- package/dist/editor/components/SidebarRenderButton.js +8 -1
- package/dist/editor/components/UpdateCheck.d.ts +0 -1
- package/dist/editor/helpers/colors.d.ts +1 -1
- package/dist/editor/helpers/convert-env-variables.d.ts +8 -2
- package/dist/editor/helpers/render-modal-sections.d.ts +0 -1
- package/dist/editor/state/modals.d.ts +1 -0
- package/dist/get-cli-options.d.ts +1 -0
- package/dist/get-cli-options.js +1 -0
- 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 +4 -1
- package/dist/list-of-remotion-packages.js +1 -0
- package/dist/parse-command-line.d.ts +3 -0
- package/dist/parse-command-line.js +3 -0
- package/dist/preview-server/error-overlay/react-overlay/utils/open-in-editor.d.ts +1 -1
- package/dist/preview-server/render-queue/job.d.ts +3 -0
- package/dist/preview-server/render-queue/make-retry-payload.js +2 -0
- package/dist/preview-server/render-queue/process-still.js +1 -0
- package/dist/preview-server/render-queue/process-video.js +1 -0
- package/dist/preview-server/routes/add-render.js +2 -0
- package/dist/preview-server/routes.d.ts +0 -1
- package/dist/preview-server/routes.js +2 -0
- 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.js +2 -1
- package/dist/still.js +2 -1
- package/package.json +9 -9
- package/dist/config/presets-profile.d.ts +0 -3
- package/dist/config/presets-profile.js +0 -12
|
@@ -4,10 +4,8 @@ exports.RightPanel = exports.rightSidebarTabs = exports.persistSelectedPanel = v
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const remotion_1 = require("remotion");
|
|
7
|
-
const ShortcutHint_1 = require("../../preview-server/error-overlay/remotion-overlay/ShortcutHint");
|
|
8
7
|
const colors_1 = require("../helpers/colors");
|
|
9
8
|
const DataEditor_1 = require("./RenderModal/DataEditor");
|
|
10
|
-
const deep_equal_1 = require("./RenderModal/SchemaEditor/deep-equal");
|
|
11
9
|
const RenderQueue_1 = require("./RenderQueue");
|
|
12
10
|
const RendersTab_1 = require("./RendersTab");
|
|
13
11
|
const Tabs_1 = require("./Tabs");
|
|
@@ -18,10 +16,17 @@ const container = {
|
|
|
18
16
|
display: 'flex',
|
|
19
17
|
flexDirection: 'column',
|
|
20
18
|
};
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
const PropsEditor = ({ composition }) => {
|
|
20
|
+
const { props, updateProps } = (0, react_1.useContext)(remotion_1.Internals.EditorPropsContext);
|
|
21
|
+
const setInputProps = (0, react_1.useCallback)((newProps) => {
|
|
22
|
+
updateProps({
|
|
23
|
+
id: composition.id,
|
|
24
|
+
defaultProps: composition.defaultProps,
|
|
25
|
+
newProps,
|
|
26
|
+
});
|
|
27
|
+
}, [composition.defaultProps, composition.id, updateProps]);
|
|
28
|
+
const actualProps = (0, react_1.useMemo)(() => { var _a, _b; return (_b = (_a = props[composition.id]) !== null && _a !== void 0 ? _a : composition.defaultProps) !== null && _b !== void 0 ? _b : {}; }, [composition.defaultProps, composition.id, props]);
|
|
29
|
+
return ((0, jsx_runtime_1.jsx)(DataEditor_1.DataEditor, { unresolvedComposition: composition, inputProps: actualProps, setInputProps: setInputProps, mayShowSaveButton: true, propsEditType: "default-props" }, composition.id));
|
|
25
30
|
};
|
|
26
31
|
const localStorageKey = 'remotion.sidebarPanel';
|
|
27
32
|
const getSelectedPanel = () => {
|
|
@@ -40,8 +45,6 @@ const persistSelectedPanel = (panel) => {
|
|
|
40
45
|
exports.persistSelectedPanel = persistSelectedPanel;
|
|
41
46
|
exports.rightSidebarTabs = (0, react_1.createRef)();
|
|
42
47
|
const RightPanel = () => {
|
|
43
|
-
const { props, updateProps } = (0, react_1.useContext)(remotion_1.Internals.EditorPropsContext);
|
|
44
|
-
const [saving, setSaving] = (0, react_1.useState)(false);
|
|
45
48
|
const [panel, setPanel] = (0, react_1.useState)(() => getSelectedPanel());
|
|
46
49
|
const onCompositionsSelected = (0, react_1.useCallback)(() => {
|
|
47
50
|
setPanel('input-props');
|
|
@@ -60,14 +63,6 @@ const RightPanel = () => {
|
|
|
60
63
|
};
|
|
61
64
|
}, []);
|
|
62
65
|
const { compositions, currentComposition } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
|
|
63
|
-
const circleStyle = (0, react_1.useMemo)(() => {
|
|
64
|
-
const onTabColor = saving ? colors_1.LIGHT_TEXT : 'white';
|
|
65
|
-
return {
|
|
66
|
-
...circle,
|
|
67
|
-
backgroundColor: panel === 'input-props' ? onTabColor : colors_1.LIGHT_TEXT,
|
|
68
|
-
cursor: 'help',
|
|
69
|
-
};
|
|
70
|
-
}, [panel, saving]);
|
|
71
66
|
const composition = (0, react_1.useMemo)(() => {
|
|
72
67
|
for (const comp of compositions) {
|
|
73
68
|
if (comp.id === currentComposition) {
|
|
@@ -76,37 +71,9 @@ const RightPanel = () => {
|
|
|
76
71
|
}
|
|
77
72
|
return null;
|
|
78
73
|
}, [compositions, currentComposition]);
|
|
79
|
-
const saveToolTip = (0, react_1.useMemo)(() => {
|
|
80
|
-
return process.env.KEYBOARD_SHORTCUTS_ENABLED
|
|
81
|
-
? `Save using ${ShortcutHint_1.cmdOrCtrlCharacter}+S`
|
|
82
|
-
: 'There are unsaved changes';
|
|
83
|
-
}, []);
|
|
84
|
-
const setInputProps = (0, react_1.useCallback)((newProps) => {
|
|
85
|
-
if (composition === null) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
updateProps({
|
|
89
|
-
id: composition.id,
|
|
90
|
-
defaultProps: composition.defaultProps,
|
|
91
|
-
newProps,
|
|
92
|
-
});
|
|
93
|
-
}, [composition, updateProps]);
|
|
94
|
-
const actualProps = (0, react_1.useMemo)(() => {
|
|
95
|
-
var _a, _b;
|
|
96
|
-
if (composition === null) {
|
|
97
|
-
return {};
|
|
98
|
-
}
|
|
99
|
-
return (_b = (_a = props[composition.id]) !== null && _a !== void 0 ? _a : composition.defaultProps) !== null && _b !== void 0 ? _b : {};
|
|
100
|
-
}, [composition, props]);
|
|
101
|
-
const unsavedChangesExist = (0, react_1.useMemo)(() => {
|
|
102
|
-
if (composition === null || composition.defaultProps === undefined) {
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
return !(0, deep_equal_1.deepEqual)(composition.defaultProps, actualProps);
|
|
106
|
-
}, [actualProps, composition]);
|
|
107
74
|
if (composition === null) {
|
|
108
75
|
return null;
|
|
109
76
|
}
|
|
110
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: container, className: "css-reset", children: [(0, jsx_runtime_1.jsx)("div", { style: tabsContainer, children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { children: [(0, jsx_runtime_1.
|
|
77
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, className: "css-reset", children: [(0, jsx_runtime_1.jsx)("div", { style: tabsContainer, children: (0, jsx_runtime_1.jsxs)(Tabs_1.Tabs, { children: [(0, jsx_runtime_1.jsx)(Tabs_1.Tab, { selected: panel === 'input-props', onClick: onCompositionsSelected, children: "Props" }), (0, jsx_runtime_1.jsx)(RendersTab_1.RendersTab, { onClick: onRendersSelected, selected: panel === 'renders' })] }) }), panel === 'renders' ? ((0, jsx_runtime_1.jsx)(RenderQueue_1.RenderQueue, {})) : ((0, jsx_runtime_1.jsx)(PropsEditor, { composition: composition }))] }));
|
|
111
78
|
};
|
|
112
79
|
exports.RightPanel = RightPanel;
|
|
@@ -73,12 +73,19 @@ const SidebarRenderButton = ({ composition, visible }) => {
|
|
|
73
73
|
initialDisableWebSecurity: defaults.disableWebSecurity,
|
|
74
74
|
initialOpenGlRenderer: defaults.openGlRenderer,
|
|
75
75
|
initialHeadless: defaults.headless,
|
|
76
|
+
initialOffthreadVideoCacheSizeInBytes: defaults.offthreadVideoCacheSizeInBytes,
|
|
76
77
|
initialIgnoreCertificateErrors: defaults.ignoreCertificateErrors,
|
|
77
78
|
defaultProps: (_a = props[composition.id]) !== null && _a !== void 0 ? _a : composition.defaultProps,
|
|
78
79
|
inFrameMark: null,
|
|
79
80
|
outFrameMark: null,
|
|
80
81
|
});
|
|
81
|
-
}, [
|
|
82
|
+
}, [
|
|
83
|
+
composition.defaultProps,
|
|
84
|
+
composition.id,
|
|
85
|
+
isVideo,
|
|
86
|
+
props,
|
|
87
|
+
setSelectedModal,
|
|
88
|
+
]);
|
|
82
89
|
const renderAction = (0, react_1.useCallback)((color) => {
|
|
83
90
|
return (0, jsx_runtime_1.jsx)(render_1.ThinRenderIcon, { fill: color, svgProps: iconStyle });
|
|
84
91
|
}, [iconStyle]);
|
|
@@ -16,4 +16,4 @@ export declare const BLUE_DISABLED = "#284f73";
|
|
|
16
16
|
export declare const getBackgroundFromHoverState: ({ selected, hovered, }: {
|
|
17
17
|
selected: boolean;
|
|
18
18
|
hovered: boolean;
|
|
19
|
-
}) => "transparent" | "hsla(0, 0%, 100%, 0.15)" | "
|
|
19
|
+
}) => "transparent" | "hsla(0, 0%, 100%, 0.15)" | "rgba(255, 255, 255, 0.06)" | "hsla(0, 0%, 100%, 0.25)";
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
export declare const envVariablesObjectToArray: (envVariables: Record<string, string>) => [
|
|
2
|
-
|
|
1
|
+
export declare const envVariablesObjectToArray: (envVariables: Record<string, string>) => [
|
|
2
|
+
string,
|
|
3
|
+
string
|
|
4
|
+
][];
|
|
5
|
+
export declare const envVariablesArrayToObject: (envVariables: [
|
|
6
|
+
string,
|
|
7
|
+
string
|
|
8
|
+
][]) => Record<string, string>;
|
|
@@ -34,6 +34,7 @@ export type RenderModalState = {
|
|
|
34
34
|
initialOpenGlRenderer: OpenGlRenderer | null;
|
|
35
35
|
initialIgnoreCertificateErrors: boolean;
|
|
36
36
|
initialHeadless: boolean;
|
|
37
|
+
initialOffthreadVideoCacheSizeInBytes: number | null;
|
|
37
38
|
minConcurrency: number;
|
|
38
39
|
maxConcurrency: number;
|
|
39
40
|
defaultProps: Record<string, unknown>;
|
package/dist/get-cli-options.js
CHANGED
|
@@ -123,6 +123,7 @@ const getCliOptions = async (options) => {
|
|
|
123
123
|
height,
|
|
124
124
|
width,
|
|
125
125
|
configFileImageFormat: config_1.ConfigInternals.getUserPreferredVideoImageFormat(),
|
|
126
|
+
offthreadVideoCacheSizeInBytes: config_1.ConfigInternals.getOffthreadVideoCacheSizeInBytes(),
|
|
126
127
|
};
|
|
127
128
|
};
|
|
128
129
|
exports.getCliOptions = getCliOptions;
|
|
@@ -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, }: {
|
|
3
|
+
export declare const getCompositionId: ({ args, compositionIdFromUi, serializedInputPropsWithCustomSchema, puppeteerInstance, envVariables, timeoutInMilliseconds, chromiumOptions, port, browserExecutable, serveUrlOrWebpackUrl, logLevel, indent, server, offthreadVideoCacheSizeInBytes, }: {
|
|
4
4
|
args: string[];
|
|
5
5
|
compositionIdFromUi: string | null;
|
|
6
6
|
serializedInputPropsWithCustomSchema: string;
|
|
@@ -14,6 +14,7 @@ export declare const getCompositionId: ({ args, compositionIdFromUi, serializedI
|
|
|
14
14
|
logLevel: LogLevel;
|
|
15
15
|
indent: boolean;
|
|
16
16
|
server: RemotionServer;
|
|
17
|
+
offthreadVideoCacheSizeInBytes: number | null;
|
|
17
18
|
}) => Promise<{
|
|
18
19
|
compositionId: string;
|
|
19
20
|
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, }) => {
|
|
19
|
+
const getCompositionId = async ({ args, compositionIdFromUi, serializedInputPropsWithCustomSchema, puppeteerInstance, envVariables, timeoutInMilliseconds, chromiumOptions, port, browserExecutable, serveUrlOrWebpackUrl, logLevel, indent, server, offthreadVideoCacheSizeInBytes, }) => {
|
|
20
20
|
const { compName, remainingArgs, reason: compReason, } = getCompName({
|
|
21
21
|
cliArgs: args,
|
|
22
22
|
compositionIdFromUi,
|
|
@@ -36,6 +36,7 @@ const getCompositionId = async ({ args, compositionIdFromUi, serializedInputProp
|
|
|
36
36
|
server,
|
|
37
37
|
indent,
|
|
38
38
|
onBrowserLog: null,
|
|
39
|
+
offthreadVideoCacheSizeInBytes,
|
|
39
40
|
});
|
|
40
41
|
if (propsSize > 10000000) {
|
|
41
42
|
log_1.Log.warnAdvanced({
|
|
@@ -67,6 +68,7 @@ const getCompositionId = async ({ args, compositionIdFromUi, serializedInputProp
|
|
|
67
68
|
serveUrlOrWebpackUrl,
|
|
68
69
|
onBrowserLog: null,
|
|
69
70
|
serializedInputPropsWithCustomSchema,
|
|
71
|
+
offthreadVideoCacheSizeInBytes,
|
|
70
72
|
});
|
|
71
73
|
const { compositionId, reason } = await (0, show_compositions_picker_1.showSingleCompositionsPicker)(comps);
|
|
72
74
|
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, }: {
|
|
3
|
+
export declare const getCompositionWithDimensionOverride: ({ height, width, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, offthreadVideoCacheSizeInBytes, }: {
|
|
4
4
|
height: number | null;
|
|
5
5
|
width: number | null;
|
|
6
6
|
args: string[];
|
|
@@ -16,6 +16,7 @@ export declare const getCompositionWithDimensionOverride: ({ height, width, args
|
|
|
16
16
|
logLevel: LogLevel;
|
|
17
17
|
serializedInputPropsWithCustomSchema: string;
|
|
18
18
|
server: RemotionServer;
|
|
19
|
+
offthreadVideoCacheSizeInBytes: number | null;
|
|
19
20
|
}) => Promise<{
|
|
20
21
|
compositionId: string;
|
|
21
22
|
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, }) => {
|
|
5
|
+
const getCompositionWithDimensionOverride = async ({ height, width, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, offthreadVideoCacheSizeInBytes, }) => {
|
|
6
6
|
const returnValue = await (0, get_composition_id_1.getCompositionId)({
|
|
7
7
|
args,
|
|
8
8
|
compositionIdFromUi,
|
|
@@ -17,6 +17,7 @@ const getCompositionWithDimensionOverride = async ({ height, width, args, compos
|
|
|
17
17
|
puppeteerInstance,
|
|
18
18
|
timeoutInMilliseconds,
|
|
19
19
|
server,
|
|
20
|
+
offthreadVideoCacheSizeInBytes,
|
|
20
21
|
});
|
|
21
22
|
return {
|
|
22
23
|
...returnValue,
|
package/dist/index.d.ts
CHANGED
|
@@ -120,6 +120,7 @@ export declare const CliInternals: {
|
|
|
120
120
|
height: number | null;
|
|
121
121
|
width: number | null;
|
|
122
122
|
configFileImageFormat: "none" | "png" | "jpeg" | undefined;
|
|
123
|
+
offthreadVideoCacheSizeInBytes: number | null;
|
|
123
124
|
}>;
|
|
124
125
|
loadConfig: (remotionRoot: string) => Promise<string | null>;
|
|
125
126
|
initializeCli: (remotionRoot: string) => Promise<void>;
|
|
@@ -179,6 +180,7 @@ export declare const CliInternals: {
|
|
|
179
180
|
browser: string;
|
|
180
181
|
"browser-args": string;
|
|
181
182
|
"user-agent": string;
|
|
183
|
+
"offthreadvideo-cache-size-in-bytes": number | null;
|
|
182
184
|
} & {
|
|
183
185
|
_: string[];
|
|
184
186
|
};
|
|
@@ -226,7 +228,7 @@ export declare const CliInternals: {
|
|
|
226
228
|
shouldUseNonOverlayingLogger: ({ logLevel, }: {
|
|
227
229
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
228
230
|
}) => boolean;
|
|
229
|
-
getCompositionWithDimensionOverride: ({ height, width, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, }: {
|
|
231
|
+
getCompositionWithDimensionOverride: ({ height, width, args, compositionIdFromUi, chromiumOptions, envVariables, port, puppeteerInstance, timeoutInMilliseconds, browserExecutable, serveUrlOrWebpackUrl, indent, serializedInputPropsWithCustomSchema, logLevel, server, offthreadVideoCacheSizeInBytes, }: {
|
|
230
232
|
height: number | null;
|
|
231
233
|
width: number | null;
|
|
232
234
|
args: string[];
|
|
@@ -242,6 +244,7 @@ export declare const CliInternals: {
|
|
|
242
244
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
243
245
|
serializedInputPropsWithCustomSchema: string;
|
|
244
246
|
server: import("@remotion/renderer").RemotionServer;
|
|
247
|
+
offthreadVideoCacheSizeInBytes: number | null;
|
|
245
248
|
}) => Promise<{
|
|
246
249
|
compositionId: string;
|
|
247
250
|
reason: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AudioCodec, BrowserExecutable, Codec, OpenGlRenderer, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
2
|
+
import type { BrowserSafeApis } from '@remotion/renderer/client';
|
|
2
3
|
type CommandLineOptions = {
|
|
3
4
|
['browser-executable']: BrowserExecutable;
|
|
4
5
|
['pixel-format']: PixelFormat;
|
|
@@ -12,6 +13,8 @@ type CommandLineOptions = {
|
|
|
12
13
|
['every-nth-frame']: number;
|
|
13
14
|
['number-of-gif-loops']: number;
|
|
14
15
|
['number-of-shared-audio-tags']: number;
|
|
16
|
+
[BrowserSafeApis.options.offthreadVideoCacheSizeInBytesOption
|
|
17
|
+
.cliFlag]: typeof BrowserSafeApis.options.offthreadVideoCacheSizeInBytesOption.type;
|
|
15
18
|
version: string;
|
|
16
19
|
codec: Codec;
|
|
17
20
|
concurrency: number;
|
|
@@ -145,6 +145,9 @@ const parseCommandLine = () => {
|
|
|
145
145
|
if (typeof exports.parsedCli['video-bitrate'] !== 'undefined') {
|
|
146
146
|
config_1.Config.setVideoBitrate(exports.parsedCli['video-bitrate']);
|
|
147
147
|
}
|
|
148
|
+
if (typeof exports.parsedCli['offthreadvideo-cache-size-in-bytes'] !== 'undefined') {
|
|
149
|
+
config_1.Config.setOffthreadVideoCacheSizeInBytes(exports.parsedCli['offthreadvideo-cache-size-in-bytes']);
|
|
150
|
+
}
|
|
148
151
|
};
|
|
149
152
|
exports.parseCommandLine = parseCommandLine;
|
|
150
153
|
const quietFlagProvided = () => exports.parsedCli.quiet || exports.parsedCli.q;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const editorNames: readonly ["atom", "/Applications/Atom Beta.app/Contents/MacOS/Atom Beta", "brackets", "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl", "/Applications/Sublime Text Dev.app/Contents/SharedSupport/bin/subl", "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl", "code", "code-insiders", "vscodium", "/Applications/AppCode.app/Contents/MacOS/appcode", "/Applications/CLion.app/Contents/MacOS/clion", "/Applications/IntelliJ IDEA.app/Contents/MacOS/idea", "/Applications/PhpStorm.app/Contents/MacOS/phpstorm", "/Applications/PyCharm.app/Contents/MacOS/pycharm", "/Applications/PyCharm CE.app/Contents/MacOS/pycharm", "/Applications/RubyMine.app/Contents/MacOS/rubymine", "/Applications/WebStorm.app/Contents/MacOS/webstorm", "/Applications/GoLand.app/Contents/MacOS/goland", "/Applications/Rider.app/Contents/MacOS/rider", "mvim", "emacs", "gvim", "idea", "phpstorm", "pycharm", "rubymine", "subl", "sublime_text", "vim", "webstorm", "goland", "rider", "Brackets.exe", "Code.exe", "Code - Insiders.exe", "VSCodium.exe", "atom.exe", "sublime_text.exe", "notepad++.exe", "clion.exe", "clion64.exe", "idea.exe", "idea64.exe", "phpstorm.exe", "phpstorm64.exe", "pycharm.exe", "pycharm64.exe", "rubymine.exe", "rubymine64.exe", "webstorm.exe", "webstorm64.exe", "goland.exe", "goland64.exe", "rider.exe", "rider64.exe", "nano"];
|
|
2
2
|
export declare const getDisplayNameForEditor: (editor: Editor | null) => string | null;
|
|
3
|
-
type Editor = typeof editorNames[number];
|
|
3
|
+
type Editor = (typeof editorNames)[number];
|
|
4
4
|
type ProcessAndCommand = {
|
|
5
5
|
process: string;
|
|
6
6
|
command: Editor;
|
|
@@ -29,6 +29,7 @@ type RenderJobDynamicFields = ({
|
|
|
29
29
|
jpegQuality: number;
|
|
30
30
|
frame: number;
|
|
31
31
|
scale: number;
|
|
32
|
+
offthreadVideoCacheSizeInBytes: number | null;
|
|
32
33
|
} & RenderJobDynamicStatus) | ({
|
|
33
34
|
type: 'video';
|
|
34
35
|
imageFormat: VideoImageFormat;
|
|
@@ -50,6 +51,7 @@ type RenderJobDynamicFields = ({
|
|
|
50
51
|
everyNthFrame: number;
|
|
51
52
|
numberOfGifLoops: number | null;
|
|
52
53
|
disallowParallelEncoding: boolean;
|
|
54
|
+
offthreadVideoCacheSizeInBytes: number | null;
|
|
53
55
|
} & RenderJobDynamicStatus);
|
|
54
56
|
export type RenderJob = {
|
|
55
57
|
startedAt: number;
|
|
@@ -108,6 +110,7 @@ export type AddRenderRequest = {
|
|
|
108
110
|
delayRenderTimeout: number;
|
|
109
111
|
envVariables: Record<string, string>;
|
|
110
112
|
serializedInputPropsWithCustomSchema: string;
|
|
113
|
+
offthreadVideoCacheSizeInBytes: number | null;
|
|
111
114
|
} & AddRenderRequestDynamicFields;
|
|
112
115
|
export type RemoveRenderRequest = {
|
|
113
116
|
jobId: string;
|
|
@@ -49,6 +49,7 @@ const makeRetryPayload = (job) => {
|
|
|
49
49
|
defaultProps: remotion_1.Internals.deserializeJSONWithCustomFields(job.serializedInputPropsWithCustomSchema),
|
|
50
50
|
inFrameMark: null,
|
|
51
51
|
outFrameMark: null,
|
|
52
|
+
initialOffthreadVideoCacheSizeInBytes: job.offthreadVideoCacheSizeInBytes,
|
|
52
53
|
};
|
|
53
54
|
}
|
|
54
55
|
if (job.type === 'video') {
|
|
@@ -91,6 +92,7 @@ const makeRetryPayload = (job) => {
|
|
|
91
92
|
defaultProps: remotion_1.Internals.deserializeJSONWithCustomFields(job.serializedInputPropsWithCustomSchema),
|
|
92
93
|
inFrameMark: job.startFrame,
|
|
93
94
|
outFrameMark: job.endFrame,
|
|
95
|
+
initialOffthreadVideoCacheSizeInBytes: job.offthreadVideoCacheSizeInBytes,
|
|
94
96
|
};
|
|
95
97
|
}
|
|
96
98
|
throw new Error(`Job ${JSON.stringify(job)} Not implemented`);
|
|
@@ -41,6 +41,7 @@ const processStill = async ({ job, remotionRoot, entryPoint, onProgress, addClea
|
|
|
41
41
|
addCleanupCallback,
|
|
42
42
|
cancelSignal: job.cancelToken.cancelSignal,
|
|
43
43
|
outputLocationFromUi: job.outName,
|
|
44
|
+
offthreadVideoCacheSizeInBytes: job.offthreadVideoCacheSizeInBytes,
|
|
44
45
|
});
|
|
45
46
|
};
|
|
46
47
|
exports.processStill = processStill;
|
|
@@ -59,6 +59,7 @@ const processVideoJob = async ({ job, remotionRoot, entryPoint, onProgress, addC
|
|
|
59
59
|
numberOfGifLoops: job.numberOfGifLoops,
|
|
60
60
|
audioCodec: job.audioCodec,
|
|
61
61
|
disallowParallelEncoding: job.disallowParallelEncoding,
|
|
62
|
+
offthreadVideoCacheSizeInBytes: job.offthreadVideoCacheSizeInBytes,
|
|
62
63
|
});
|
|
63
64
|
};
|
|
64
65
|
exports.processVideoJob = processVideoJob;
|
|
@@ -43,6 +43,7 @@ const handleAddRender = ({ input, entryPoint, remotionRoot, }) => {
|
|
|
43
43
|
chromiumOptions: input.chromiumOptions,
|
|
44
44
|
envVariables: input.envVariables,
|
|
45
45
|
serializedInputPropsWithCustomSchema: input.serializedInputPropsWithCustomSchema,
|
|
46
|
+
offthreadVideoCacheSizeInBytes: input.offthreadVideoCacheSizeInBytes,
|
|
46
47
|
},
|
|
47
48
|
});
|
|
48
49
|
}
|
|
@@ -67,6 +68,7 @@ const handleAddRender = ({ input, entryPoint, remotionRoot, }) => {
|
|
|
67
68
|
delayRenderTimeout: input.delayRenderTimeout,
|
|
68
69
|
envVariables: input.envVariables,
|
|
69
70
|
serializedInputPropsWithCustomSchema: input.serializedInputPropsWithCustomSchema,
|
|
71
|
+
offthreadVideoCacheSizeInBytes: input.offthreadVideoCacheSizeInBytes,
|
|
70
72
|
},
|
|
71
73
|
entryPoint,
|
|
72
74
|
remotionRoot,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import type { IncomingMessage, ServerResponse } from 'node:http';
|
|
3
2
|
import type { LiveEventsServer } from './live-events';
|
|
4
3
|
export declare const handleRoutes: ({ hash, hashPrefix, request, response, liveEventsServer, getCurrentInputProps, getEnvVariables, remotionRoot, entryPoint, publicDir, }: {
|
|
@@ -53,6 +53,7 @@ const handleFallback = async ({ remotionRoot, hash, response, getCurrentInputPro
|
|
|
53
53
|
const headless = config_1.ConfigInternals.getChromiumHeadlessMode();
|
|
54
54
|
const ignoreCertificateErrors = config_1.ConfigInternals.getIgnoreCertificateErrors();
|
|
55
55
|
const openGlRenderer = config_1.ConfigInternals.getChromiumOpenGlRenderer();
|
|
56
|
+
const offthreadVideoCacheSizeInBytes = config_1.ConfigInternals.getOffthreadVideoCacheSizeInBytes();
|
|
56
57
|
const maxConcurrency = renderer_1.RenderInternals.getMaxConcurrency();
|
|
57
58
|
const minConcurrency = renderer_1.RenderInternals.getMinConcurrency();
|
|
58
59
|
response.setHeader('content-type', 'text/html');
|
|
@@ -97,6 +98,7 @@ const handleFallback = async ({ remotionRoot, hash, response, getCurrentInputPro
|
|
|
97
98
|
headless,
|
|
98
99
|
ignoreCertificateErrors,
|
|
99
100
|
openGlRenderer,
|
|
101
|
+
offthreadVideoCacheSizeInBytes,
|
|
100
102
|
},
|
|
101
103
|
publicFolderExists: (0, node_fs_1.existsSync)(publicDir) ? publicDir : null,
|
|
102
104
|
}));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AudioCodec, Browser, BrowserExecutable, CancelSignal, ChromiumOptions, Codec, Crf, FfmpegOverrideFn, FrameRange, LogLevel, PixelFormat, ProResProfile, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
2
2
|
import type { Loop } from '../config/number-of-gif-loops';
|
|
3
3
|
import type { JobProgressCallback } from '../preview-server/render-queue/job';
|
|
4
|
-
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, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, }: {
|
|
4
|
+
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, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, }: {
|
|
5
5
|
remotionRoot: string;
|
|
6
6
|
fullEntryPoint: string;
|
|
7
7
|
entryPointReason: string;
|
|
@@ -45,4 +45,5 @@ export declare const renderVideoFlow: ({ remotionRoot, fullEntryPoint, indent, l
|
|
|
45
45
|
numberOfGifLoops: Loop;
|
|
46
46
|
audioCodec: AudioCodec | null;
|
|
47
47
|
disallowParallelEncoding: boolean;
|
|
48
|
+
offthreadVideoCacheSizeInBytes: number | null;
|
|
48
49
|
}) => 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, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, }) => {
|
|
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, numberOfGifLoops, audioCodec, serializedInputPropsWithCustomSchema, disallowParallelEncoding, offthreadVideoCacheSizeInBytes, }) => {
|
|
51
51
|
var _a;
|
|
52
52
|
const downloads = [];
|
|
53
53
|
if (browserExecutable) {
|
|
@@ -138,6 +138,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
138
138
|
remotionRoot,
|
|
139
139
|
logLevel,
|
|
140
140
|
webpackConfigOrServeUrl: urlOrBundle,
|
|
141
|
+
offthreadVideoCacheSizeInBytes,
|
|
141
142
|
});
|
|
142
143
|
addCleanupCallback(() => server.closeServer(false));
|
|
143
144
|
const { compositionId, config, reason, argsAfterComposition } = await (0, get_composition_with_dimension_override_1.getCompositionWithDimensionOverride)({
|
|
@@ -156,6 +157,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
156
157
|
timeoutInMilliseconds: puppeteerTimeout,
|
|
157
158
|
logLevel,
|
|
158
159
|
server,
|
|
160
|
+
offthreadVideoCacheSizeInBytes,
|
|
159
161
|
});
|
|
160
162
|
const { codec, reason: codecReason } = (0, get_final_output_codec_1.getFinalOutputCodec)({
|
|
161
163
|
cliFlag: parse_command_line_1.parsedCli.codec,
|
|
@@ -242,6 +244,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
242
244
|
staticBase: null,
|
|
243
245
|
data: config.props,
|
|
244
246
|
}).serializedString,
|
|
247
|
+
offthreadVideoCacheSizeInBytes,
|
|
245
248
|
});
|
|
246
249
|
updateRenderProgress({ newline: true, printToConsole: true });
|
|
247
250
|
log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.blue(`▶ ${absoluteOutputFile}`));
|
|
@@ -315,6 +318,7 @@ const renderVideoFlow = async ({ remotionRoot, fullEntryPoint, indent, logLevel,
|
|
|
315
318
|
indent: undefined,
|
|
316
319
|
staticBase: null,
|
|
317
320
|
}).serializedString,
|
|
321
|
+
offthreadVideoCacheSizeInBytes,
|
|
318
322
|
});
|
|
319
323
|
updateRenderProgress({ newline: true, printToConsole: true });
|
|
320
324
|
log_1.Log.infoAdvanced({ indent, logLevel }, chalk_1.chalk.blue(`${exists ? '○' : '+'} ${absoluteOutputFile}`));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Browser, BrowserExecutable, CancelSignal, ChromiumOptions, LogLevel, StillImageFormat } from '@remotion/renderer';
|
|
2
2
|
import type { JobProgressCallback } from '../preview-server/render-queue/job';
|
|
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, }: {
|
|
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, }: {
|
|
4
4
|
remotionRoot: string;
|
|
5
5
|
fullEntryPoint: string;
|
|
6
6
|
entryPointReason: string;
|
|
@@ -27,4 +27,5 @@ export declare const renderStillFlow: ({ remotionRoot, fullEntryPoint, entryPoin
|
|
|
27
27
|
addCleanupCallback: (cb: () => void) => void;
|
|
28
28
|
cancelSignal: CancelSignal | null;
|
|
29
29
|
outputLocationFromUi: string | null;
|
|
30
|
+
offthreadVideoCacheSizeInBytes: number | null;
|
|
30
31
|
}) => 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, }) => {
|
|
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, }) => {
|
|
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 });
|
|
@@ -88,6 +88,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
|
|
|
88
88
|
remotionRoot,
|
|
89
89
|
logLevel,
|
|
90
90
|
webpackConfigOrServeUrl: urlOrBundle,
|
|
91
|
+
offthreadVideoCacheSizeInBytes,
|
|
91
92
|
});
|
|
92
93
|
addCleanupCallback(() => server.closeServer(false));
|
|
93
94
|
addCleanupCallback(() => cleanupBundle());
|
|
@@ -109,6 +110,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
|
|
|
109
110
|
timeoutInMilliseconds: puppeteerTimeout,
|
|
110
111
|
logLevel,
|
|
111
112
|
server,
|
|
113
|
+
offthreadVideoCacheSizeInBytes,
|
|
112
114
|
});
|
|
113
115
|
const { format: imageFormat, source } = (0, determine_image_format_1.determineFinalStillImageFormat)({
|
|
114
116
|
cliFlag: (_a = parse_command_line_1.parsedCli['image-format']) !== null && _a !== void 0 ? _a : null,
|
|
@@ -175,6 +177,7 @@ const renderStillFlow = async ({ remotionRoot, fullEntryPoint, entryPointReason,
|
|
|
175
177
|
staticBase: null,
|
|
176
178
|
data: config.props,
|
|
177
179
|
}).serializedString,
|
|
180
|
+
offthreadVideoCacheSizeInBytes,
|
|
178
181
|
});
|
|
179
182
|
aggregate.rendering = {
|
|
180
183
|
frames: 1,
|
package/dist/render.js
CHANGED
|
@@ -25,7 +25,7 @@ const render = async (remotionRoot, args) => {
|
|
|
25
25
|
log_1.Log.error('--frame flag was passed to the `render` command. This flag only works with the `still` command. Did you mean `--frames`? See reference: https://www.remotion.dev/docs/cli/');
|
|
26
26
|
process.exit(1);
|
|
27
27
|
}
|
|
28
|
-
const { concurrency, frameRange, shouldOutputImageSequence, overwrite, inputProps, envVariables, jpegQuality, browser, browserExecutable, scale, chromiumOptions, port, everyNthFrame, puppeteerTimeout, publicDir, height, width, crf, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, numberOfGifLoops, } = await (0, get_cli_options_1.getCliOptions)({
|
|
28
|
+
const { concurrency, frameRange, shouldOutputImageSequence, overwrite, inputProps, envVariables, jpegQuality, browser, browserExecutable, scale, chromiumOptions, port, everyNthFrame, puppeteerTimeout, publicDir, height, width, crf, ffmpegOverride, audioBitrate, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, videoBitrate, numberOfGifLoops, offthreadVideoCacheSizeInBytes, } = await (0, get_cli_options_1.getCliOptions)({
|
|
29
29
|
isLambda: false,
|
|
30
30
|
type: 'series',
|
|
31
31
|
remotionRoot,
|
|
@@ -81,6 +81,7 @@ const render = async (remotionRoot, args) => {
|
|
|
81
81
|
numberOfGifLoops,
|
|
82
82
|
audioCodec,
|
|
83
83
|
disallowParallelEncoding: false,
|
|
84
|
+
offthreadVideoCacheSizeInBytes,
|
|
84
85
|
});
|
|
85
86
|
};
|
|
86
87
|
exports.render = render;
|
package/dist/still.js
CHANGED
|
@@ -22,7 +22,7 @@ const still = async (remotionRoot, args) => {
|
|
|
22
22
|
log_1.Log.error('--frames flag was passed to the `still` command. This flag only works with the `render` command. Did you mean `--frame`? See reference: https://www.remotion.dev/docs/cli/');
|
|
23
23
|
process.exit(1);
|
|
24
24
|
}
|
|
25
|
-
const { browser, browserExecutable, chromiumOptions, envVariables, height, inputProps, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, logLevel, } = await (0, get_cli_options_1.getCliOptions)({
|
|
25
|
+
const { browser, browserExecutable, chromiumOptions, envVariables, height, inputProps, overwrite, port, publicDir, puppeteerTimeout, jpegQuality, scale, stillFrame, width, logLevel, offthreadVideoCacheSizeInBytes, } = await (0, get_cli_options_1.getCliOptions)({
|
|
26
26
|
isLambda: false,
|
|
27
27
|
type: 'still',
|
|
28
28
|
remotionRoot,
|
|
@@ -60,6 +60,7 @@ const still = async (remotionRoot, args) => {
|
|
|
60
60
|
},
|
|
61
61
|
cancelSignal: null,
|
|
62
62
|
outputLocationFromUi: null,
|
|
63
|
+
offthreadVideoCacheSizeInBytes,
|
|
63
64
|
});
|
|
64
65
|
};
|
|
65
66
|
exports.still = still;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/cli",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.23",
|
|
4
4
|
"description": "CLI for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -35,11 +35,11 @@
|
|
|
35
35
|
"prompts": "2.4.1",
|
|
36
36
|
"semver": "7.5.3",
|
|
37
37
|
"source-map": "0.6.1",
|
|
38
|
-
"@remotion/
|
|
39
|
-
"
|
|
40
|
-
"@remotion/
|
|
41
|
-
"@remotion/
|
|
42
|
-
"remotion": "4.0.
|
|
38
|
+
"@remotion/renderer": "4.0.23",
|
|
39
|
+
"remotion": "4.0.23",
|
|
40
|
+
"@remotion/bundler": "4.0.23",
|
|
41
|
+
"@remotion/media-utils": "4.0.23",
|
|
42
|
+
"@remotion/player": "4.0.23"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"react": ">=16.8.0",
|
|
@@ -58,14 +58,14 @@
|
|
|
58
58
|
"eslint-plugin-10x": "1.5.2",
|
|
59
59
|
"eslint-plugin-react": "7.32.2",
|
|
60
60
|
"eslint-plugin-react-hooks": "4.4.0",
|
|
61
|
-
"prettier": "
|
|
61
|
+
"prettier": "3.0.2",
|
|
62
62
|
"prettier-plugin-organize-imports": "^3.2.2",
|
|
63
63
|
"react": "^18.0.0",
|
|
64
64
|
"react-dom": "^18.0.0",
|
|
65
65
|
"vitest": "0.31.1",
|
|
66
66
|
"zod": "^3.21.4",
|
|
67
|
-
"@remotion/zod-types": "4.0.
|
|
68
|
-
"@remotion/tailwind": "4.0.
|
|
67
|
+
"@remotion/zod-types": "4.0.23",
|
|
68
|
+
"@remotion/tailwind": "4.0.23"
|
|
69
69
|
},
|
|
70
70
|
"keywords": [
|
|
71
71
|
"remotion",
|