@remotion/renderer 4.0.144 → 4.0.146
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/client.d.ts +12 -12
- package/dist/index.d.ts +2 -2
- package/dist/options/index.d.ts +3 -3
- package/dist/options/options-map.d.ts +9 -9
- package/dist/options/x264-preset.d.ts +2 -2
- package/dist/render-frames.js +8 -8
- package/dist/render-media.js +2 -3
- package/dist/set-props-and-env.js +1 -1
- package/package.json +9 -9
package/dist/client.d.ts
CHANGED
|
@@ -602,17 +602,17 @@ export declare const BrowserSafeApis: {
|
|
|
602
602
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
603
603
|
ssrName: "x264Preset";
|
|
604
604
|
docLink: string;
|
|
605
|
-
type: "
|
|
605
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
606
606
|
getValue: ({ commandLine }: {
|
|
607
607
|
commandLine: Record<string, unknown>;
|
|
608
608
|
}) => {
|
|
609
|
-
value: "
|
|
609
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
610
610
|
source: string;
|
|
611
611
|
} | {
|
|
612
612
|
value: null;
|
|
613
613
|
source: string;
|
|
614
614
|
};
|
|
615
|
-
setConfig: (profile: "
|
|
615
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
616
616
|
};
|
|
617
617
|
logLevelOption: {
|
|
618
618
|
cliFlag: "log";
|
|
@@ -862,17 +862,17 @@ export declare const BrowserSafeApis: {
|
|
|
862
862
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
863
863
|
ssrName: "x264Preset";
|
|
864
864
|
docLink: string;
|
|
865
|
-
type: "
|
|
865
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
866
866
|
getValue: ({ commandLine }: {
|
|
867
867
|
commandLine: Record<string, unknown>;
|
|
868
868
|
}) => {
|
|
869
|
-
value: "
|
|
869
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
870
870
|
source: string;
|
|
871
871
|
} | {
|
|
872
872
|
value: null;
|
|
873
873
|
source: string;
|
|
874
874
|
};
|
|
875
|
-
setConfig: (profile: "
|
|
875
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
876
876
|
};
|
|
877
877
|
readonly audioBitrate: {
|
|
878
878
|
name: string;
|
|
@@ -1584,17 +1584,17 @@ export declare const BrowserSafeApis: {
|
|
|
1584
1584
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1585
1585
|
ssrName: "x264Preset";
|
|
1586
1586
|
docLink: string;
|
|
1587
|
-
type: "
|
|
1587
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
1588
1588
|
getValue: ({ commandLine }: {
|
|
1589
1589
|
commandLine: Record<string, unknown>;
|
|
1590
1590
|
}) => {
|
|
1591
|
-
value: "
|
|
1591
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
1592
1592
|
source: string;
|
|
1593
1593
|
} | {
|
|
1594
1594
|
value: null;
|
|
1595
1595
|
source: string;
|
|
1596
1596
|
};
|
|
1597
|
-
setConfig: (profile: "
|
|
1597
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
1598
1598
|
};
|
|
1599
1599
|
readonly encodingMaxRate: {
|
|
1600
1600
|
name: string;
|
|
@@ -1950,17 +1950,17 @@ export declare const BrowserSafeApis: {
|
|
|
1950
1950
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1951
1951
|
ssrName: "x264Preset";
|
|
1952
1952
|
docLink: string;
|
|
1953
|
-
type: "
|
|
1953
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
1954
1954
|
getValue: ({ commandLine }: {
|
|
1955
1955
|
commandLine: Record<string, unknown>;
|
|
1956
1956
|
}) => {
|
|
1957
|
-
value: "
|
|
1957
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
1958
1958
|
source: string;
|
|
1959
1959
|
} | {
|
|
1960
1960
|
value: null;
|
|
1961
1961
|
source: string;
|
|
1962
1962
|
};
|
|
1963
|
-
setConfig: (profile: "
|
|
1963
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
1964
1964
|
};
|
|
1965
1965
|
readonly encodingMaxRate: {
|
|
1966
1966
|
name: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -336,7 +336,7 @@ export declare const RenderInternals: {
|
|
|
336
336
|
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif")[]>;
|
|
337
337
|
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">;
|
|
338
338
|
getExecutablePath: ({ indent, logLevel, type, binariesDirectory, }: {
|
|
339
|
-
type: "
|
|
339
|
+
type: "ffmpeg" | "ffprobe" | "compositor";
|
|
340
340
|
indent: boolean;
|
|
341
341
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
342
342
|
binariesDirectory: string | null;
|
|
@@ -783,7 +783,7 @@ export declare const RenderInternals: {
|
|
|
783
783
|
assetsInfo: import("./assets/download-map").RenderAssetInfo | null;
|
|
784
784
|
enforceAudioTrack: boolean;
|
|
785
785
|
muted: boolean;
|
|
786
|
-
}) => "
|
|
786
|
+
}) => "yes" | "maybe" | "no";
|
|
787
787
|
codecSupportsMedia: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif") => {
|
|
788
788
|
video: boolean;
|
|
789
789
|
audio: boolean;
|
package/dist/options/index.d.ts
CHANGED
|
@@ -382,17 +382,17 @@ export declare const allOptions: {
|
|
|
382
382
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
383
383
|
ssrName: "x264Preset";
|
|
384
384
|
docLink: string;
|
|
385
|
-
type: "
|
|
385
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
386
386
|
getValue: ({ commandLine }: {
|
|
387
387
|
commandLine: Record<string, unknown>;
|
|
388
388
|
}) => {
|
|
389
|
-
value: "
|
|
389
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
390
390
|
source: string;
|
|
391
391
|
} | {
|
|
392
392
|
value: null;
|
|
393
393
|
source: string;
|
|
394
394
|
};
|
|
395
|
-
setConfig: (profile: "
|
|
395
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
396
396
|
};
|
|
397
397
|
logLevelOption: {
|
|
398
398
|
cliFlag: "log";
|
|
@@ -72,17 +72,17 @@ export declare const optionsMap: {
|
|
|
72
72
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
73
73
|
ssrName: "x264Preset";
|
|
74
74
|
docLink: string;
|
|
75
|
-
type: "
|
|
75
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
76
76
|
getValue: ({ commandLine }: {
|
|
77
77
|
commandLine: Record<string, unknown>;
|
|
78
78
|
}) => {
|
|
79
|
-
value: "
|
|
79
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
80
80
|
source: string;
|
|
81
81
|
} | {
|
|
82
82
|
value: null;
|
|
83
83
|
source: string;
|
|
84
84
|
};
|
|
85
|
-
setConfig: (profile: "
|
|
85
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
86
86
|
};
|
|
87
87
|
readonly audioBitrate: {
|
|
88
88
|
name: string;
|
|
@@ -794,17 +794,17 @@ export declare const optionsMap: {
|
|
|
794
794
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
795
795
|
ssrName: "x264Preset";
|
|
796
796
|
docLink: string;
|
|
797
|
-
type: "
|
|
797
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
798
798
|
getValue: ({ commandLine }: {
|
|
799
799
|
commandLine: Record<string, unknown>;
|
|
800
800
|
}) => {
|
|
801
|
-
value: "
|
|
801
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
802
802
|
source: string;
|
|
803
803
|
} | {
|
|
804
804
|
value: null;
|
|
805
805
|
source: string;
|
|
806
806
|
};
|
|
807
|
-
setConfig: (profile: "
|
|
807
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
808
808
|
};
|
|
809
809
|
readonly encodingMaxRate: {
|
|
810
810
|
name: string;
|
|
@@ -1160,17 +1160,17 @@ export declare const optionsMap: {
|
|
|
1160
1160
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
1161
1161
|
ssrName: "x264Preset";
|
|
1162
1162
|
docLink: string;
|
|
1163
|
-
type: "
|
|
1163
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
1164
1164
|
getValue: ({ commandLine }: {
|
|
1165
1165
|
commandLine: Record<string, unknown>;
|
|
1166
1166
|
}) => {
|
|
1167
|
-
value: "
|
|
1167
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
1168
1168
|
source: string;
|
|
1169
1169
|
} | {
|
|
1170
1170
|
value: null;
|
|
1171
1171
|
source: string;
|
|
1172
1172
|
};
|
|
1173
|
-
setConfig: (profile: "
|
|
1173
|
+
setConfig: (profile: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null) => void;
|
|
1174
1174
|
};
|
|
1175
1175
|
readonly encodingMaxRate: {
|
|
1176
1176
|
name: string;
|
|
@@ -11,11 +11,11 @@ export declare const x264Option: {
|
|
|
11
11
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
ssrName: "x264Preset";
|
|
13
13
|
docLink: string;
|
|
14
|
-
type: "
|
|
14
|
+
type: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo" | null;
|
|
15
15
|
getValue: ({ commandLine }: {
|
|
16
16
|
commandLine: Record<string, unknown>;
|
|
17
17
|
}) => {
|
|
18
|
-
value: "
|
|
18
|
+
value: "ultrafast" | "superfast" | "veryfast" | "faster" | "fast" | "medium" | "slow" | "slower" | "veryslow" | "placebo";
|
|
19
19
|
source: string;
|
|
20
20
|
} | {
|
|
21
21
|
value: null;
|
package/dist/render-frames.js
CHANGED
|
@@ -40,7 +40,7 @@ const validate_1 = require("./validate");
|
|
|
40
40
|
const validate_scale_1 = require("./validate-scale");
|
|
41
41
|
const wrap_with_error_handling_1 = require("./wrap-with-error-handling");
|
|
42
42
|
const MAX_RETRIES_PER_FRAME = 1;
|
|
43
|
-
const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serializedInputPropsWithCustomSchema, serializedResolvedPropsWithCustomSchema, jpegQuality, imageFormat, frameRange, onError, envVariables, onBrowserLog, onFrameBuffer, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, actualConcurrency, everyNthFrame, proxyPort, cancelSignal, downloadMap, muted, makeBrowser, browserReplacer, compositor, sourceMapGetter, logLevel, indent, parallelEncodingEnabled, compositionStart, forSeamlessAacConcatenation, }) => {
|
|
43
|
+
const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serializedInputPropsWithCustomSchema, serializedResolvedPropsWithCustomSchema, jpegQuality, imageFormat, frameRange, onError, envVariables, onBrowserLog, onFrameBuffer, onDownload, pagesArray, serveUrl, composition, timeoutInMilliseconds, scale, actualConcurrency: concurrency, everyNthFrame, proxyPort, cancelSignal, downloadMap, muted, makeBrowser, browserReplacer, compositor, sourceMapGetter, logLevel, indent, parallelEncodingEnabled, compositionStart, forSeamlessAacConcatenation, }) => {
|
|
44
44
|
if (outputDir) {
|
|
45
45
|
if (!node_fs_1.default.existsSync(outputDir)) {
|
|
46
46
|
node_fs_1.default.mkdirSync(outputDir, {
|
|
@@ -58,7 +58,7 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
|
|
|
58
58
|
});
|
|
59
59
|
const framesToRender = (0, get_duration_from_frame_range_1.getFramesToRender)(realFrameRange, everyNthFrame);
|
|
60
60
|
const lastFrame = framesToRender[framesToRender.length - 1];
|
|
61
|
-
const makePage = async (context) => {
|
|
61
|
+
const makePage = async (context, initialFrame) => {
|
|
62
62
|
const page = await browserReplacer
|
|
63
63
|
.getBrowser()
|
|
64
64
|
.newPage(context, logLevel, indent);
|
|
@@ -78,7 +78,6 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
|
|
|
78
78
|
if (onBrowserLog) {
|
|
79
79
|
page.on('console', logCallback);
|
|
80
80
|
}
|
|
81
|
-
const initialFrame = realFrameRange[0];
|
|
82
81
|
await (0, set_props_and_env_1.setPropsAndEnv)({
|
|
83
82
|
serializedInputPropsWithCustomSchema,
|
|
84
83
|
envVariables,
|
|
@@ -123,10 +122,11 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
|
|
|
123
122
|
page.off('console', logCallback);
|
|
124
123
|
return page;
|
|
125
124
|
};
|
|
125
|
+
const concurrencyOrFramesToRender = Math.min(framesToRender.length, concurrency);
|
|
126
126
|
const getPool = async (context) => {
|
|
127
|
-
const pages = new Array(
|
|
127
|
+
const pages = new Array(concurrencyOrFramesToRender)
|
|
128
128
|
.fill(true)
|
|
129
|
-
.map(() => makePage(context));
|
|
129
|
+
.map((_, i) => makePage(context, realFrameRange[i]));
|
|
130
130
|
const puppeteerPages = await Promise.all(pages);
|
|
131
131
|
const pool = new pool_1.Pool(puppeteerPages);
|
|
132
132
|
return pool;
|
|
@@ -299,7 +299,7 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
|
|
|
299
299
|
if (shouldRetryError) {
|
|
300
300
|
const pool = await poolPromise;
|
|
301
301
|
// Replace the closed page
|
|
302
|
-
const newPage = await makePage(sourceMapGetter);
|
|
302
|
+
const newPage = await makePage(sourceMapGetter, frame);
|
|
303
303
|
pool.release(newPage);
|
|
304
304
|
logger_1.Log.warn({ indent, logLevel }, `delayRender() timed out while rendering frame ${frame}: ${err.message}`);
|
|
305
305
|
const actualRetriesLeft = (0, is_delay_render_error_with_retry_1.getRetriesLeftFromError)(err);
|
|
@@ -314,9 +314,9 @@ const innerRenderFrames = async ({ onFrameUpdate, outputDir, onStart, serialized
|
|
|
314
314
|
logger_1.Log.warn({ indent, logLevel }, `The browser crashed while rendering frame ${frame}, retrying ${retriesLeft} more times. Learn more about this error under https://www.remotion.dev/docs/target-closed`);
|
|
315
315
|
// Replace the entire browser
|
|
316
316
|
await browserReplacer.replaceBrowser(makeBrowser, async () => {
|
|
317
|
-
const pages = new Array(
|
|
317
|
+
const pages = new Array(concurrencyOrFramesToRender)
|
|
318
318
|
.fill(true)
|
|
319
|
-
.map(() => makePage(sourceMapGetter));
|
|
319
|
+
.map(() => makePage(sourceMapGetter, frame));
|
|
320
320
|
const puppeteerPages = await Promise.all(pages);
|
|
321
321
|
const pool = await poolPromise;
|
|
322
322
|
for (const newPage of puppeteerPages) {
|
package/dist/render-media.js
CHANGED
|
@@ -101,7 +101,6 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
101
101
|
let encodedFrames = 0;
|
|
102
102
|
let muxedFrames = 0;
|
|
103
103
|
let renderedFrames = 0;
|
|
104
|
-
let totalFramesToRender = 0;
|
|
105
104
|
let renderedDoneIn = null;
|
|
106
105
|
let encodedDoneIn = null;
|
|
107
106
|
let cancelled = false;
|
|
@@ -170,6 +169,7 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
170
169
|
wantsImageSequence: false,
|
|
171
170
|
});
|
|
172
171
|
const realFrameRange = (0, get_frame_to_render_1.getRealFrameRange)(composition.durationInFrames, frameRange);
|
|
172
|
+
const totalFramesToRender = (0, get_duration_from_frame_range_1.getFramesToRender)(realFrameRange, everyNthFrame).length;
|
|
173
173
|
logger_1.Log.verbose({ indent, logLevel, tag: 'renderMedia()' }, `Rendering frames ${realFrameRange.join('-')}`);
|
|
174
174
|
const callUpdate = () => {
|
|
175
175
|
const encoded = Math.round(0.8 * encodedFrames + 0.2 * muxedFrames);
|
|
@@ -293,7 +293,6 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
293
293
|
outputDir: parallelEncoding ? null : workingDir,
|
|
294
294
|
onStart: (data) => {
|
|
295
295
|
renderedFrames = 0;
|
|
296
|
-
totalFramesToRender = data.frameCount;
|
|
297
296
|
callUpdate();
|
|
298
297
|
onStart === null || onStart === void 0 ? void 0 : onStart(data);
|
|
299
298
|
},
|
|
@@ -408,7 +407,7 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
408
407
|
]);
|
|
409
408
|
})
|
|
410
409
|
.then(([buffer, stitchStart]) => {
|
|
411
|
-
encodedFrames =
|
|
410
|
+
encodedFrames = totalFramesToRender;
|
|
412
411
|
encodedDoneIn = Date.now() - stitchStart;
|
|
413
412
|
callUpdate();
|
|
414
413
|
logger_1.Log.verbose({ indent, logLevel }, 'Stitching done in', encodedDoneIn + 'ms');
|
|
@@ -30,7 +30,7 @@ const innerSetPropsAndEnv = async ({ serializedInputPropsWithCustomSchema, envVa
|
|
|
30
30
|
}, initialFrame);
|
|
31
31
|
await page.evaluateOnNewDocument(() => {
|
|
32
32
|
window.remotion_attempt = 1;
|
|
33
|
-
}
|
|
33
|
+
});
|
|
34
34
|
await page.evaluateOnNewDocument((port) => {
|
|
35
35
|
window.remotion_proxyPort = port;
|
|
36
36
|
}, proxyPort);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/renderer",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.146",
|
|
4
4
|
"description": "Renderer for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"extract-zip": "2.0.1",
|
|
19
19
|
"source-map": "^0.8.0-beta.0",
|
|
20
20
|
"ws": "8.7.0",
|
|
21
|
-
"remotion": "4.0.
|
|
21
|
+
"remotion": "4.0.146"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
24
|
"react": ">=16.8.0",
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"@types/ws": "8.5.10"
|
|
44
44
|
},
|
|
45
45
|
"optionalDependencies": {
|
|
46
|
-
"@remotion/compositor-darwin-arm64": "4.0.
|
|
47
|
-
"@remotion/compositor-
|
|
48
|
-
"@remotion/compositor-linux-
|
|
49
|
-
"@remotion/compositor-
|
|
50
|
-
"@remotion/compositor-linux-x64-
|
|
51
|
-
"@remotion/compositor-
|
|
52
|
-
"@remotion/compositor-
|
|
46
|
+
"@remotion/compositor-darwin-arm64": "4.0.146",
|
|
47
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.146",
|
|
48
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.146",
|
|
49
|
+
"@remotion/compositor-darwin-x64": "4.0.146",
|
|
50
|
+
"@remotion/compositor-linux-x64-musl": "4.0.146",
|
|
51
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.146",
|
|
52
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.146"
|
|
53
53
|
},
|
|
54
54
|
"keywords": [
|
|
55
55
|
"remotion",
|