@remotion/studio 4.0.215 → 4.0.216
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/.turbo/turbo-build.log +4 -0
- package/.turbo/turbo-make.log +1 -1
- package/dist/components/Modals.js +1 -1
- package/dist/components/NewComposition/RemInput.d.ts +1 -1
- package/dist/components/RenderButton.js +1 -0
- package/dist/components/RenderModal/RenderModal.d.ts +1 -0
- package/dist/components/RenderModal/RenderModal.js +8 -1
- package/dist/components/RenderQueue/actions.d.ts +6 -3
- package/dist/components/RenderQueue/actions.js +6 -3
- package/dist/components/SidebarRenderButton.js +1 -0
- package/dist/esm/internals.mjs +36 -16
- package/dist/helpers/colors.d.ts +1 -1
- package/dist/helpers/presets-labels.d.ts +1 -1
- package/dist/helpers/retry-payload.js +3 -0
- package/dist/state/modals.d.ts +1 -0
- package/package.json +7 -7
- package/tsconfig.tsbuildinfo +1 -1
package/.turbo/turbo-make.log
CHANGED
|
@@ -20,7 +20,7 @@ const Modals = ({ readOnlyStudio }) => {
|
|
|
20
20
|
const { selectedModal: modalContextType } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
21
21
|
const canRender = (0, react_1.useContext)(client_id_1.StudioServerConnectionCtx).previewServerState.type ===
|
|
22
22
|
'connected';
|
|
23
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [modalContextType && modalContextType.type === 'duplicate-comp' && ((0, jsx_runtime_1.jsx)(DuplicateComposition_1.DuplicateComposition, { compositionType: modalContextType.compositionType, compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'delete-comp' && ((0, jsx_runtime_1.jsx)(DeleteComposition_1.DeleteComposition, { compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'rename-comp' && ((0, jsx_runtime_1.jsx)(RenameComposition_1.RenameComposition, { compositionId: modalContextType.compositionId })), modalContextType && canRender && modalContextType.type === 'render' && ((0, jsx_runtime_1.jsx)(RenderModal_1.RenderModalWithLoader, { initialFrame: modalContextType.initialFrame, compositionId: modalContextType.compositionId, initialVideoImageFormat: modalContextType.initialVideoImageFormat, initialJpegQuality: modalContextType.initialJpegQuality, initialScale: modalContextType.initialScale, initialLogLevel: modalContextType.initialLogLevel, initialOffthreadVideoCacheSizeInBytes: modalContextType.initialOffthreadVideoCacheSizeInBytes, initialConcurrency: modalContextType.initialConcurrency, maxConcurrency: modalContextType.maxConcurrency, minConcurrency: modalContextType.minConcurrency, initialStillImageFormat: modalContextType.initialStillImageFormat, initialMuted: modalContextType.initialMuted, initialEnforceAudioTrack: modalContextType.initialEnforceAudioTrack, initialProResProfile: modalContextType.initialProResProfile, initialx264Preset: modalContextType.initialx264Preset, initialPixelFormat: modalContextType.initialPixelFormat, initialAudioBitrate: modalContextType.initialAudioBitrate, initialVideoBitrate: modalContextType.initialVideoBitrate, initialEveryNthFrame: modalContextType.initialEveryNthFrame, initialNumberOfGifLoops: modalContextType.initialNumberOfGifLoops, initialDelayRenderTimeout: modalContextType.initialDelayRenderTimeout, initialEnvVariables: modalContextType.initialEnvVariables, initialDisableWebSecurity: modalContextType.initialDisableWebSecurity, initialGl: modalContextType.initialOpenGlRenderer, initialHeadless: modalContextType.initialHeadless, initialIgnoreCertificateErrors: modalContextType.initialIgnoreCertificateErrors, initialEncodingBufferSize: modalContextType.initialEncodingBufferSize, initialEncodingMaxRate: modalContextType.initialEncodingMaxRate, initialUserAgent: modalContextType.initialUserAgent, initialColorSpace: modalContextType.initialColorSpace, initialMultiProcessOnLinux: modalContextType.initialMultiProcessOnLinux, initialRepro: modalContextType.initialRepro, initialBeep: modalContextType.initialBeep, initialForSeamlessAacConcatenation: modalContextType.initialForSeamlessAacConcatenation, defaultProps: modalContextType.defaultProps, inFrameMark: modalContextType.inFrameMark, outFrameMark: modalContextType.outFrameMark, defaultConfigurationAudioCodec: modalContextType.defaultConfigurationAudioCodec, defaultConfigurationVideoCodec: modalContextType.defaultConfigurationVideoCodec, renderTypeOfLastRender: modalContextType.renderTypeOfLastRender })), modalContextType &&
|
|
23
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [modalContextType && modalContextType.type === 'duplicate-comp' && ((0, jsx_runtime_1.jsx)(DuplicateComposition_1.DuplicateComposition, { compositionType: modalContextType.compositionType, compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'delete-comp' && ((0, jsx_runtime_1.jsx)(DeleteComposition_1.DeleteComposition, { compositionId: modalContextType.compositionId })), modalContextType && modalContextType.type === 'rename-comp' && ((0, jsx_runtime_1.jsx)(RenameComposition_1.RenameComposition, { compositionId: modalContextType.compositionId })), modalContextType && canRender && modalContextType.type === 'render' && ((0, jsx_runtime_1.jsx)(RenderModal_1.RenderModalWithLoader, { initialFrame: modalContextType.initialFrame, compositionId: modalContextType.compositionId, initialVideoImageFormat: modalContextType.initialVideoImageFormat, initialJpegQuality: modalContextType.initialJpegQuality, initialScale: modalContextType.initialScale, initialLogLevel: modalContextType.initialLogLevel, initialOffthreadVideoCacheSizeInBytes: modalContextType.initialOffthreadVideoCacheSizeInBytes, initialConcurrency: modalContextType.initialConcurrency, maxConcurrency: modalContextType.maxConcurrency, minConcurrency: modalContextType.minConcurrency, initialStillImageFormat: modalContextType.initialStillImageFormat, initialMuted: modalContextType.initialMuted, initialEnforceAudioTrack: modalContextType.initialEnforceAudioTrack, initialProResProfile: modalContextType.initialProResProfile, initialx264Preset: modalContextType.initialx264Preset, initialPixelFormat: modalContextType.initialPixelFormat, initialAudioBitrate: modalContextType.initialAudioBitrate, initialVideoBitrate: modalContextType.initialVideoBitrate, initialEveryNthFrame: modalContextType.initialEveryNthFrame, initialNumberOfGifLoops: modalContextType.initialNumberOfGifLoops, initialDelayRenderTimeout: modalContextType.initialDelayRenderTimeout, initialEnvVariables: modalContextType.initialEnvVariables, initialDisableWebSecurity: modalContextType.initialDisableWebSecurity, initialGl: modalContextType.initialOpenGlRenderer, initialHeadless: modalContextType.initialHeadless, initialIgnoreCertificateErrors: modalContextType.initialIgnoreCertificateErrors, initialEncodingBufferSize: modalContextType.initialEncodingBufferSize, initialEncodingMaxRate: modalContextType.initialEncodingMaxRate, initialUserAgent: modalContextType.initialUserAgent, initialColorSpace: modalContextType.initialColorSpace, initialMultiProcessOnLinux: modalContextType.initialMultiProcessOnLinux, initialRepro: modalContextType.initialRepro, initialBeep: modalContextType.initialBeep, initialForSeamlessAacConcatenation: modalContextType.initialForSeamlessAacConcatenation, defaultProps: modalContextType.defaultProps, inFrameMark: modalContextType.inFrameMark, outFrameMark: modalContextType.outFrameMark, defaultConfigurationAudioCodec: modalContextType.defaultConfigurationAudioCodec, defaultConfigurationVideoCodec: modalContextType.defaultConfigurationVideoCodec, renderTypeOfLastRender: modalContextType.renderTypeOfLastRender, defaultMetadata: modalContextType.defaulMetadata })), modalContextType &&
|
|
24
24
|
canRender &&
|
|
25
25
|
modalContextType.type === 'render-progress' && ((0, jsx_runtime_1.jsx)(RenderStatusModal_1.RenderStatusModal, { jobId: modalContextType.jobId })), modalContextType && modalContextType.type === 'update' && ((0, jsx_runtime_1.jsx)(UpdateModal_1.UpdateModal, { info: modalContextType.info, knownBugs: modalContextType.knownBugs })), modalContextType && modalContextType.type === 'install-packages' && ((0, jsx_runtime_1.jsx)(InstallPackage_1.InstallPackageModal, { packageManager: modalContextType.packageManager })), modalContextType && modalContextType.type === 'quick-switcher' && ((0, jsx_runtime_1.jsx)(QuickSwitcher_1.default, { readOnlyStudio: readOnlyStudio, invocationTimestamp: modalContextType.invocationTimestamp, initialMode: modalContextType.mode }))] }));
|
|
26
26
|
};
|
|
@@ -12,6 +12,6 @@ export declare const getInputBorderColor: ({ status, isFocused, isHovered, }: {
|
|
|
12
12
|
status: "error" | "warning" | "ok";
|
|
13
13
|
isFocused: boolean;
|
|
14
14
|
isHovered: boolean;
|
|
15
|
-
}) => "hsla(0, 0%, 100%, 0.15)" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)"
|
|
15
|
+
}) => "#ff3232" | "hsla(0, 0%, 100%, 0.15)" | "#f1c40f" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)";
|
|
16
16
|
export declare const RemotionInput: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
17
17
|
export {};
|
|
@@ -91,6 +91,7 @@ const RenderButton = () => {
|
|
|
91
91
|
initialRepro: defaults.repro,
|
|
92
92
|
initialForSeamlessAacConcatenation: defaults.forSeamlessAacConcatenation,
|
|
93
93
|
renderTypeOfLastRender: null,
|
|
94
|
+
defaulMetadata: defaults.metadata,
|
|
94
95
|
});
|
|
95
96
|
}, [video, setSelectedModal, frame, props, inFrame, outFrame]);
|
|
96
97
|
if (!video) {
|
|
@@ -42,6 +42,7 @@ type RenderModalProps = {
|
|
|
42
42
|
readonly defaultConfigurationAudioCodec: AudioCodec | null;
|
|
43
43
|
readonly initialForSeamlessAacConcatenation: boolean;
|
|
44
44
|
readonly renderTypeOfLastRender: RenderType | null;
|
|
45
|
+
readonly defaultMetadata: Record<string, string> | null;
|
|
45
46
|
};
|
|
46
47
|
export declare const RenderModalWithLoader: React.FC<RenderModalProps>;
|
|
47
48
|
export {};
|
|
@@ -116,7 +116,7 @@ const outer = {
|
|
|
116
116
|
display: 'flex',
|
|
117
117
|
flexDirection: 'column',
|
|
118
118
|
};
|
|
119
|
-
const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageFormat, initialJpegQuality, initialScale, initialLogLevel, initialConcurrency, maxConcurrency, minConcurrency, initialMuted, initialEnforceAudioTrack, initialProResProfile, initialx264Preset, initialPixelFormat, initialVideoBitrate, initialAudioBitrate, initialEveryNthFrame, initialNumberOfGifLoops, initialDelayRenderTimeout, initialOffthreadVideoCacheSizeInBytes, initialEnvVariables, initialDisableWebSecurity, initialGl, initialHeadless, initialIgnoreCertificateErrors, initialEncodingBufferSize, initialEncodingMaxRate, initialUserAgent, defaultProps, inFrameMark, outFrameMark, initialColorSpace, initialMultiProcessOnLinux, defaultConfigurationAudioCodec, defaultConfigurationVideoCodec, initialBeep, initialRepro, initialForSeamlessAacConcatenation, renderTypeOfLastRender, }) => {
|
|
119
|
+
const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageFormat, initialJpegQuality, initialScale, initialLogLevel, initialConcurrency, maxConcurrency, minConcurrency, initialMuted, initialEnforceAudioTrack, initialProResProfile, initialx264Preset, initialPixelFormat, initialVideoBitrate, initialAudioBitrate, initialEveryNthFrame, initialNumberOfGifLoops, initialDelayRenderTimeout, initialOffthreadVideoCacheSizeInBytes, initialEnvVariables, initialDisableWebSecurity, initialGl, initialHeadless, initialIgnoreCertificateErrors, initialEncodingBufferSize, initialEncodingMaxRate, initialUserAgent, defaultProps, inFrameMark, outFrameMark, initialColorSpace, initialMultiProcessOnLinux, defaultConfigurationAudioCodec, defaultConfigurationVideoCodec, initialBeep, initialRepro, initialForSeamlessAacConcatenation, renderTypeOfLastRender, defaultMetadata, }) => {
|
|
120
120
|
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
|
|
121
121
|
const context = (0, react_1.useContext)(ResolveCompositionBeforeModal_1.ResolvedCompositionContext);
|
|
122
122
|
if (!context) {
|
|
@@ -294,6 +294,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
|
|
|
294
294
|
return null;
|
|
295
295
|
}, [codec, x264PresetSetting, renderMode]);
|
|
296
296
|
const [inputProps, setInputProps] = (0, react_1.useState)(() => defaultProps);
|
|
297
|
+
const [metadata] = (0, react_1.useState)(() => defaultMetadata);
|
|
297
298
|
const endFrame = (0, react_1.useMemo)(() => {
|
|
298
299
|
if (endFrameOrNull === null) {
|
|
299
300
|
return resolvedComposition.durationInFrames - 1;
|
|
@@ -399,6 +400,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
|
|
|
399
400
|
offthreadVideoCacheSizeInBytes,
|
|
400
401
|
multiProcessOnLinux,
|
|
401
402
|
beepOnFinish,
|
|
403
|
+
metadata,
|
|
402
404
|
})
|
|
403
405
|
.then(() => {
|
|
404
406
|
dispatchIfMounted({ type: 'succeed' });
|
|
@@ -425,6 +427,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
|
|
|
425
427
|
multiProcessOnLinux,
|
|
426
428
|
beepOnFinish,
|
|
427
429
|
setSelectedModal,
|
|
430
|
+
metadata,
|
|
428
431
|
]);
|
|
429
432
|
const [everyNthFrameSetting, setEveryNthFrameSetting] = (0, react_1.useState)(() => initialEveryNthFrame);
|
|
430
433
|
const everyNthFrame = (0, react_1.useMemo)(() => {
|
|
@@ -485,6 +488,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
|
|
|
485
488
|
repro,
|
|
486
489
|
forSeamlessAacConcatenation,
|
|
487
490
|
separateAudioTo,
|
|
491
|
+
metadata,
|
|
488
492
|
})
|
|
489
493
|
.then(() => {
|
|
490
494
|
dispatchIfMounted({ type: 'succeed' });
|
|
@@ -534,6 +538,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
|
|
|
534
538
|
forSeamlessAacConcatenation,
|
|
535
539
|
separateAudioTo,
|
|
536
540
|
setSelectedModal,
|
|
541
|
+
metadata,
|
|
537
542
|
]);
|
|
538
543
|
const onClickSequence = (0, react_1.useCallback)(() => {
|
|
539
544
|
var _a;
|
|
@@ -560,6 +565,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
|
|
|
560
565
|
multiProcessOnLinux,
|
|
561
566
|
beepOnFinish,
|
|
562
567
|
repro,
|
|
568
|
+
metadata,
|
|
563
569
|
})
|
|
564
570
|
.then(() => {
|
|
565
571
|
dispatchIfMounted({ type: 'succeed' });
|
|
@@ -590,6 +596,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
|
|
|
590
596
|
beepOnFinish,
|
|
591
597
|
repro,
|
|
592
598
|
setSelectedModal,
|
|
599
|
+
metadata,
|
|
593
600
|
]);
|
|
594
601
|
(0, react_1.useEffect)(() => {
|
|
595
602
|
return () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AudioCodec, Codec, ColorSpace, LogLevel, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
2
2
|
import type { CanUpdateDefaultPropsResponse, EnumPath, RecastCodemod, RenderJob, RequiredChromiumOptions } from '@remotion/studio-shared';
|
|
3
|
-
export declare const addStillRenderJob: ({ compositionId, outName, imageFormat, jpegQuality, frame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, offthreadVideoCacheSizeInBytes, multiProcessOnLinux, beepOnFinish, }: {
|
|
3
|
+
export declare const addStillRenderJob: ({ compositionId, outName, imageFormat, jpegQuality, frame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, offthreadVideoCacheSizeInBytes, multiProcessOnLinux, beepOnFinish, metadata, }: {
|
|
4
4
|
compositionId: string;
|
|
5
5
|
outName: string;
|
|
6
6
|
imageFormat: StillImageFormat;
|
|
@@ -15,8 +15,9 @@ export declare const addStillRenderJob: ({ compositionId, outName, imageFormat,
|
|
|
15
15
|
offthreadVideoCacheSizeInBytes: number | null;
|
|
16
16
|
multiProcessOnLinux: boolean;
|
|
17
17
|
beepOnFinish: boolean;
|
|
18
|
+
metadata: Record<string, string> | null;
|
|
18
19
|
}) => Promise<undefined>;
|
|
19
|
-
export declare const addSequenceRenderJob: ({ compositionId, outName, imageFormat, startFrame, endFrame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, concurrency, offthreadVideoCacheSizeInBytes, jpegQuality, disallowParallelEncoding, multiProcessOnLinux, beepOnFinish, repro, }: {
|
|
20
|
+
export declare const addSequenceRenderJob: ({ compositionId, outName, imageFormat, startFrame, endFrame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, concurrency, offthreadVideoCacheSizeInBytes, jpegQuality, disallowParallelEncoding, multiProcessOnLinux, beepOnFinish, repro, metadata, }: {
|
|
20
21
|
compositionId: string;
|
|
21
22
|
outName: string;
|
|
22
23
|
imageFormat: VideoImageFormat;
|
|
@@ -35,8 +36,9 @@ export declare const addSequenceRenderJob: ({ compositionId, outName, imageForma
|
|
|
35
36
|
multiProcessOnLinux: boolean;
|
|
36
37
|
beepOnFinish: boolean;
|
|
37
38
|
repro: boolean;
|
|
39
|
+
metadata: Record<string, string> | null;
|
|
38
40
|
}) => Promise<undefined>;
|
|
39
|
-
export declare const addVideoRenderJob: ({ compositionId, outName, imageFormat, jpegQuality, scale, logLevel, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, offthreadVideoCacheSizeInBytes, colorSpace, multiProcessOnLinux, encodingMaxRate, encodingBufferSize, beepOnFinish, repro, forSeamlessAacConcatenation, separateAudioTo, }: {
|
|
41
|
+
export declare const addVideoRenderJob: ({ compositionId, outName, imageFormat, jpegQuality, scale, logLevel, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, offthreadVideoCacheSizeInBytes, colorSpace, multiProcessOnLinux, encodingMaxRate, encodingBufferSize, beepOnFinish, repro, forSeamlessAacConcatenation, separateAudioTo, metadata, }: {
|
|
40
42
|
compositionId: string;
|
|
41
43
|
outName: string;
|
|
42
44
|
imageFormat: VideoImageFormat;
|
|
@@ -72,6 +74,7 @@ export declare const addVideoRenderJob: ({ compositionId, outName, imageFormat,
|
|
|
72
74
|
repro: boolean;
|
|
73
75
|
forSeamlessAacConcatenation: boolean;
|
|
74
76
|
separateAudioTo: string | null;
|
|
77
|
+
metadata: Record<string, string> | null;
|
|
75
78
|
}) => Promise<undefined>;
|
|
76
79
|
export declare const unsubscribeFromFileExistenceWatcher: ({ file, clientId, }: {
|
|
77
80
|
file: string;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.canUpdateDefaultProps = exports.callUpdateDefaultPropsApi = exports.getProjectInfo = exports.updateAvailable = exports.cancelRenderJob = exports.removeRenderJob = exports.applyCodemod = exports.copyToClipboard = exports.openInFileExplorer = exports.subscribeToFileExistenceWatcher = exports.unsubscribeFromFileExistenceWatcher = exports.addVideoRenderJob = exports.addSequenceRenderJob = exports.addStillRenderJob = void 0;
|
|
4
4
|
const no_react_1 = require("remotion/no-react");
|
|
5
5
|
const call_api_1 = require("../call-api");
|
|
6
|
-
const addStillRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, frame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, offthreadVideoCacheSizeInBytes, multiProcessOnLinux, beepOnFinish, }) => {
|
|
6
|
+
const addStillRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, frame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, offthreadVideoCacheSizeInBytes, multiProcessOnLinux, beepOnFinish, metadata, }) => {
|
|
7
7
|
return (0, call_api_1.callApi)('/api/render', {
|
|
8
8
|
compositionId,
|
|
9
9
|
type: 'still',
|
|
@@ -24,10 +24,11 @@ const addStillRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, f
|
|
|
24
24
|
offthreadVideoCacheSizeInBytes,
|
|
25
25
|
multiProcessOnLinux,
|
|
26
26
|
beepOnFinish,
|
|
27
|
+
metadata,
|
|
27
28
|
});
|
|
28
29
|
};
|
|
29
30
|
exports.addStillRenderJob = addStillRenderJob;
|
|
30
|
-
const addSequenceRenderJob = ({ compositionId, outName, imageFormat, startFrame, endFrame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, concurrency, offthreadVideoCacheSizeInBytes, jpegQuality, disallowParallelEncoding, multiProcessOnLinux, beepOnFinish, repro, }) => {
|
|
31
|
+
const addSequenceRenderJob = ({ compositionId, outName, imageFormat, startFrame, endFrame, scale, logLevel, chromiumOptions, delayRenderTimeout, envVariables, inputProps, concurrency, offthreadVideoCacheSizeInBytes, jpegQuality, disallowParallelEncoding, multiProcessOnLinux, beepOnFinish, repro, metadata, }) => {
|
|
31
32
|
return (0, call_api_1.callApi)('/api/render', {
|
|
32
33
|
compositionId,
|
|
33
34
|
type: 'sequence',
|
|
@@ -52,10 +53,11 @@ const addSequenceRenderJob = ({ compositionId, outName, imageFormat, startFrame,
|
|
|
52
53
|
multiProcessOnLinux,
|
|
53
54
|
beepOnFinish,
|
|
54
55
|
repro,
|
|
56
|
+
metadata,
|
|
55
57
|
});
|
|
56
58
|
};
|
|
57
59
|
exports.addSequenceRenderJob = addSequenceRenderJob;
|
|
58
|
-
const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, scale, logLevel, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, offthreadVideoCacheSizeInBytes, colorSpace, multiProcessOnLinux, encodingMaxRate, encodingBufferSize, beepOnFinish, repro, forSeamlessAacConcatenation, separateAudioTo, }) => {
|
|
60
|
+
const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, scale, logLevel, codec, concurrency, crf, startFrame, endFrame, muted, enforceAudioTrack, proResProfile, x264Preset, pixelFormat, audioBitrate, videoBitrate, everyNthFrame, numberOfGifLoops, delayRenderTimeout, audioCodec, disallowParallelEncoding, chromiumOptions, envVariables, inputProps, offthreadVideoCacheSizeInBytes, colorSpace, multiProcessOnLinux, encodingMaxRate, encodingBufferSize, beepOnFinish, repro, forSeamlessAacConcatenation, separateAudioTo, metadata, }) => {
|
|
59
61
|
return (0, call_api_1.callApi)('/api/render', {
|
|
60
62
|
compositionId,
|
|
61
63
|
type: 'video',
|
|
@@ -97,6 +99,7 @@ const addVideoRenderJob = ({ compositionId, outName, imageFormat, jpegQuality, s
|
|
|
97
99
|
repro,
|
|
98
100
|
forSeamlessAacConcatenation,
|
|
99
101
|
separateAudioTo,
|
|
102
|
+
metadata,
|
|
100
103
|
});
|
|
101
104
|
};
|
|
102
105
|
exports.addVideoRenderJob = addVideoRenderJob;
|
|
@@ -73,6 +73,7 @@ const SidebarRenderButton = ({ composition, visible }) => {
|
|
|
73
73
|
initialRepro: defaults.repro,
|
|
74
74
|
initialForSeamlessAacConcatenation: defaults.forSeamlessAacConcatenation,
|
|
75
75
|
renderTypeOfLastRender: null,
|
|
76
|
+
defaulMetadata: defaults.metadata,
|
|
76
77
|
});
|
|
77
78
|
if (isMobileLayout) {
|
|
78
79
|
setSidebarCollapsedState({ left: 'collapsed', right: 'collapsed' });
|
package/dist/esm/internals.mjs
CHANGED
|
@@ -2567,7 +2567,8 @@ var SidebarRenderButton = ({ composition, visible }) => {
|
|
|
2567
2567
|
initialBeep: defaults.beepOnFinish,
|
|
2568
2568
|
initialRepro: defaults.repro,
|
|
2569
2569
|
initialForSeamlessAacConcatenation: defaults.forSeamlessAacConcatenation,
|
|
2570
|
-
renderTypeOfLastRender: null
|
|
2570
|
+
renderTypeOfLastRender: null,
|
|
2571
|
+
defaulMetadata: defaults.metadata
|
|
2571
2572
|
});
|
|
2572
2573
|
if (isMobileLayout) {
|
|
2573
2574
|
setSidebarCollapsedState({ left: "collapsed", right: "collapsed" });
|
|
@@ -3204,7 +3205,8 @@ var addStillRenderJob = ({
|
|
|
3204
3205
|
inputProps,
|
|
3205
3206
|
offthreadVideoCacheSizeInBytes,
|
|
3206
3207
|
multiProcessOnLinux,
|
|
3207
|
-
beepOnFinish
|
|
3208
|
+
beepOnFinish,
|
|
3209
|
+
metadata
|
|
3208
3210
|
}) => {
|
|
3209
3211
|
return callApi("/api/render", {
|
|
3210
3212
|
compositionId,
|
|
@@ -3225,7 +3227,8 @@ var addStillRenderJob = ({
|
|
|
3225
3227
|
}).serializedString,
|
|
3226
3228
|
offthreadVideoCacheSizeInBytes,
|
|
3227
3229
|
multiProcessOnLinux,
|
|
3228
|
-
beepOnFinish
|
|
3230
|
+
beepOnFinish,
|
|
3231
|
+
metadata
|
|
3229
3232
|
});
|
|
3230
3233
|
};
|
|
3231
3234
|
var addSequenceRenderJob = ({
|
|
@@ -3246,7 +3249,8 @@ var addSequenceRenderJob = ({
|
|
|
3246
3249
|
disallowParallelEncoding,
|
|
3247
3250
|
multiProcessOnLinux,
|
|
3248
3251
|
beepOnFinish,
|
|
3249
|
-
repro
|
|
3252
|
+
repro,
|
|
3253
|
+
metadata
|
|
3250
3254
|
}) => {
|
|
3251
3255
|
return callApi("/api/render", {
|
|
3252
3256
|
compositionId,
|
|
@@ -3271,7 +3275,8 @@ var addSequenceRenderJob = ({
|
|
|
3271
3275
|
disallowParallelEncoding,
|
|
3272
3276
|
multiProcessOnLinux,
|
|
3273
3277
|
beepOnFinish,
|
|
3274
|
-
repro
|
|
3278
|
+
repro,
|
|
3279
|
+
metadata
|
|
3275
3280
|
});
|
|
3276
3281
|
};
|
|
3277
3282
|
var addVideoRenderJob = ({
|
|
@@ -3309,7 +3314,8 @@ var addVideoRenderJob = ({
|
|
|
3309
3314
|
beepOnFinish,
|
|
3310
3315
|
repro,
|
|
3311
3316
|
forSeamlessAacConcatenation,
|
|
3312
|
-
separateAudioTo
|
|
3317
|
+
separateAudioTo,
|
|
3318
|
+
metadata
|
|
3313
3319
|
}) => {
|
|
3314
3320
|
return callApi("/api/render", {
|
|
3315
3321
|
compositionId,
|
|
@@ -3351,7 +3357,8 @@ var addVideoRenderJob = ({
|
|
|
3351
3357
|
beepOnFinish,
|
|
3352
3358
|
repro,
|
|
3353
3359
|
forSeamlessAacConcatenation,
|
|
3354
|
-
separateAudioTo
|
|
3360
|
+
separateAudioTo,
|
|
3361
|
+
metadata
|
|
3355
3362
|
});
|
|
3356
3363
|
};
|
|
3357
3364
|
var unsubscribeFromFileExistenceWatcher = ({
|
|
@@ -14893,6 +14900,7 @@ var makeRetryPayload = (job) => {
|
|
|
14893
14900
|
initialBeep: job.beepOnFinish,
|
|
14894
14901
|
initialRepro: job.repro,
|
|
14895
14902
|
initialForSeamlessAacConcatenation: defaults.forSeamlessAacConcatenation,
|
|
14903
|
+
defaulMetadata: job.metadata,
|
|
14896
14904
|
renderTypeOfLastRender: "still"
|
|
14897
14905
|
};
|
|
14898
14906
|
}
|
|
@@ -14938,6 +14946,7 @@ var makeRetryPayload = (job) => {
|
|
|
14938
14946
|
initialBeep: job.beepOnFinish,
|
|
14939
14947
|
initialRepro: job.repro,
|
|
14940
14948
|
initialForSeamlessAacConcatenation: defaults.forSeamlessAacConcatenation,
|
|
14949
|
+
defaulMetadata: job.metadata,
|
|
14941
14950
|
renderTypeOfLastRender: "sequence"
|
|
14942
14951
|
};
|
|
14943
14952
|
}
|
|
@@ -14983,6 +14992,7 @@ var makeRetryPayload = (job) => {
|
|
|
14983
14992
|
initialBeep: job.beepOnFinish,
|
|
14984
14993
|
initialRepro: job.repro,
|
|
14985
14994
|
initialForSeamlessAacConcatenation: job.forSeamlessAacConcatenation,
|
|
14995
|
+
defaulMetadata: job.metadata,
|
|
14986
14996
|
renderTypeOfLastRender: "video"
|
|
14987
14997
|
};
|
|
14988
14998
|
}
|
|
@@ -16341,7 +16351,8 @@ var RenderButton = () => {
|
|
|
16341
16351
|
initialBeep: defaults.beepOnFinish,
|
|
16342
16352
|
initialRepro: defaults.repro,
|
|
16343
16353
|
initialForSeamlessAacConcatenation: defaults.forSeamlessAacConcatenation,
|
|
16344
|
-
renderTypeOfLastRender: null
|
|
16354
|
+
renderTypeOfLastRender: null,
|
|
16355
|
+
defaulMetadata: defaults.metadata
|
|
16345
16356
|
});
|
|
16346
16357
|
}, [video, setSelectedModal, frame2, props, inFrame, outFrame]);
|
|
16347
16358
|
if (!video) {
|
|
@@ -24914,7 +24925,8 @@ var RenderModal = ({
|
|
|
24914
24925
|
initialBeep,
|
|
24915
24926
|
initialRepro,
|
|
24916
24927
|
initialForSeamlessAacConcatenation,
|
|
24917
|
-
renderTypeOfLastRender
|
|
24928
|
+
renderTypeOfLastRender,
|
|
24929
|
+
defaultMetadata
|
|
24918
24930
|
}) => {
|
|
24919
24931
|
const { setSelectedModal } = useContext75(ModalsContext);
|
|
24920
24932
|
const context = useContext75(ResolvedCompositionContext);
|
|
@@ -25097,6 +25109,7 @@ var RenderModal = ({
|
|
|
25097
25109
|
return null;
|
|
25098
25110
|
}, [codec, x264PresetSetting, renderMode]);
|
|
25099
25111
|
const [inputProps, setInputProps] = useState70(() => defaultProps);
|
|
25112
|
+
const [metadata] = useState70(() => defaultMetadata);
|
|
25100
25113
|
const endFrame = useMemo116(() => {
|
|
25101
25114
|
if (endFrameOrNull === null) {
|
|
25102
25115
|
return resolvedComposition.durationInFrames - 1;
|
|
@@ -25195,7 +25208,8 @@ var RenderModal = ({
|
|
|
25195
25208
|
inputProps,
|
|
25196
25209
|
offthreadVideoCacheSizeInBytes,
|
|
25197
25210
|
multiProcessOnLinux,
|
|
25198
|
-
beepOnFinish
|
|
25211
|
+
beepOnFinish,
|
|
25212
|
+
metadata
|
|
25199
25213
|
}).then(() => {
|
|
25200
25214
|
dispatchIfMounted({ type: "succeed" });
|
|
25201
25215
|
setSelectedModal(null);
|
|
@@ -25219,7 +25233,8 @@ var RenderModal = ({
|
|
|
25219
25233
|
offthreadVideoCacheSizeInBytes,
|
|
25220
25234
|
multiProcessOnLinux,
|
|
25221
25235
|
beepOnFinish,
|
|
25222
|
-
setSelectedModal
|
|
25236
|
+
setSelectedModal,
|
|
25237
|
+
metadata
|
|
25223
25238
|
]);
|
|
25224
25239
|
const [everyNthFrameSetting, setEveryNthFrameSetting] = useState70(() => initialEveryNthFrame);
|
|
25225
25240
|
const everyNthFrame = useMemo116(() => {
|
|
@@ -25278,7 +25293,8 @@ var RenderModal = ({
|
|
|
25278
25293
|
beepOnFinish,
|
|
25279
25294
|
repro,
|
|
25280
25295
|
forSeamlessAacConcatenation,
|
|
25281
|
-
separateAudioTo
|
|
25296
|
+
separateAudioTo,
|
|
25297
|
+
metadata
|
|
25282
25298
|
}).then(() => {
|
|
25283
25299
|
dispatchIfMounted({ type: "succeed" });
|
|
25284
25300
|
setSelectedModal(null);
|
|
@@ -25325,7 +25341,8 @@ var RenderModal = ({
|
|
|
25325
25341
|
repro,
|
|
25326
25342
|
forSeamlessAacConcatenation,
|
|
25327
25343
|
separateAudioTo,
|
|
25328
|
-
setSelectedModal
|
|
25344
|
+
setSelectedModal,
|
|
25345
|
+
metadata
|
|
25329
25346
|
]);
|
|
25330
25347
|
const onClickSequence = useCallback116(() => {
|
|
25331
25348
|
setSidebarCollapsedState({ left: null, right: "expanded" });
|
|
@@ -25350,7 +25367,8 @@ var RenderModal = ({
|
|
|
25350
25367
|
disallowParallelEncoding,
|
|
25351
25368
|
multiProcessOnLinux,
|
|
25352
25369
|
beepOnFinish,
|
|
25353
|
-
repro
|
|
25370
|
+
repro,
|
|
25371
|
+
metadata
|
|
25354
25372
|
}).then(() => {
|
|
25355
25373
|
dispatchIfMounted({ type: "succeed" });
|
|
25356
25374
|
setSelectedModal(null);
|
|
@@ -25378,7 +25396,8 @@ var RenderModal = ({
|
|
|
25378
25396
|
multiProcessOnLinux,
|
|
25379
25397
|
beepOnFinish,
|
|
25380
25398
|
repro,
|
|
25381
|
-
setSelectedModal
|
|
25399
|
+
setSelectedModal,
|
|
25400
|
+
metadata
|
|
25382
25401
|
]);
|
|
25383
25402
|
useEffect70(() => {
|
|
25384
25403
|
return () => {
|
|
@@ -26500,7 +26519,8 @@ var Modals = ({ readOnlyStudio }) => {
|
|
|
26500
26519
|
outFrameMark: modalContextType.outFrameMark,
|
|
26501
26520
|
defaultConfigurationAudioCodec: modalContextType.defaultConfigurationAudioCodec,
|
|
26502
26521
|
defaultConfigurationVideoCodec: modalContextType.defaultConfigurationVideoCodec,
|
|
26503
|
-
renderTypeOfLastRender: modalContextType.renderTypeOfLastRender
|
|
26522
|
+
renderTypeOfLastRender: modalContextType.renderTypeOfLastRender,
|
|
26523
|
+
defaultMetadata: modalContextType.defaulMetadata
|
|
26504
26524
|
}),
|
|
26505
26525
|
modalContextType && canRender && modalContextType.type === "render-progress" && /* @__PURE__ */ jsx246(RenderStatusModal, {
|
|
26506
26526
|
jobId: modalContextType.jobId
|
package/dist/helpers/colors.d.ts
CHANGED
|
@@ -24,4 +24,4 @@ export declare const TIMELINE_TRACK_SEPARATOR = "rgba(0, 0, 0, 0.3)";
|
|
|
24
24
|
export declare const getBackgroundFromHoverState: ({ selected, hovered, }: {
|
|
25
25
|
selected: boolean;
|
|
26
26
|
hovered: boolean;
|
|
27
|
-
}) => "hsla(0, 0%, 100%, 0.
|
|
27
|
+
}) => "transparent" | "hsla(0, 0%, 100%, 0.25)" | "hsla(0, 0%, 100%, 0.15)" | "rgba(255, 255, 255, 0.06)";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { X264Preset } from '@remotion/renderer';
|
|
2
|
-
export declare const labelx264Preset: (profile: X264Preset) => "
|
|
2
|
+
export declare const labelx264Preset: (profile: X264Preset) => "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
@@ -50,6 +50,7 @@ const makeRetryPayload = (job) => {
|
|
|
50
50
|
initialBeep: job.beepOnFinish,
|
|
51
51
|
initialRepro: job.repro,
|
|
52
52
|
initialForSeamlessAacConcatenation: defaults.forSeamlessAacConcatenation,
|
|
53
|
+
defaulMetadata: job.metadata,
|
|
53
54
|
renderTypeOfLastRender: 'still',
|
|
54
55
|
};
|
|
55
56
|
}
|
|
@@ -95,6 +96,7 @@ const makeRetryPayload = (job) => {
|
|
|
95
96
|
initialBeep: job.beepOnFinish,
|
|
96
97
|
initialRepro: job.repro,
|
|
97
98
|
initialForSeamlessAacConcatenation: defaults.forSeamlessAacConcatenation,
|
|
99
|
+
defaulMetadata: job.metadata,
|
|
98
100
|
renderTypeOfLastRender: 'sequence',
|
|
99
101
|
};
|
|
100
102
|
}
|
|
@@ -140,6 +142,7 @@ const makeRetryPayload = (job) => {
|
|
|
140
142
|
initialBeep: job.beepOnFinish,
|
|
141
143
|
initialRepro: job.repro,
|
|
142
144
|
initialForSeamlessAacConcatenation: job.forSeamlessAacConcatenation,
|
|
145
|
+
defaulMetadata: job.metadata,
|
|
143
146
|
renderTypeOfLastRender: 'video',
|
|
144
147
|
};
|
|
145
148
|
}
|
package/dist/state/modals.d.ts
CHANGED
|
@@ -47,6 +47,7 @@ export type RenderModalState = {
|
|
|
47
47
|
defaultConfigurationVideoCodec: Codec;
|
|
48
48
|
defaultConfigurationAudioCodec: AudioCodec | null;
|
|
49
49
|
renderTypeOfLastRender: RenderType | null;
|
|
50
|
+
defaulMetadata: Record<string, string> | null;
|
|
50
51
|
};
|
|
51
52
|
export type ModalState = {
|
|
52
53
|
type: 'duplicate-comp';
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/studio",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.216",
|
|
7
7
|
"description": "APIs for interacting with the Remotion Studio",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"sideEffects": false,
|
|
@@ -18,18 +18,18 @@
|
|
|
18
18
|
"memfs": "3.4.3",
|
|
19
19
|
"source-map": "0.7.3",
|
|
20
20
|
"open": "^8.4.2",
|
|
21
|
-
"remotion": "4.0.
|
|
22
|
-
"@remotion/player": "4.0.
|
|
23
|
-
"@remotion/
|
|
24
|
-
"@remotion/
|
|
25
|
-
"@remotion/
|
|
21
|
+
"remotion": "4.0.216",
|
|
22
|
+
"@remotion/player": "4.0.216",
|
|
23
|
+
"@remotion/media-utils": "4.0.216",
|
|
24
|
+
"@remotion/renderer": "4.0.216",
|
|
25
|
+
"@remotion/studio-shared": "4.0.216"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"react": "18.3.1",
|
|
29
29
|
"react-dom": "18.3.1",
|
|
30
30
|
"@types/semver": "^7.3.4",
|
|
31
31
|
"zod": "3.22.3",
|
|
32
|
-
"@remotion/zod-types": "4.0.
|
|
32
|
+
"@remotion/zod-types": "4.0.216"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|