@remotion/renderer 3.3.79 → 3.3.81
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/browser/is-target-closed-err.d.ts +1 -0
- package/dist/browser/is-target-closed-err.js +9 -0
- package/dist/call-ffmpeg.d.ts +17 -0
- package/dist/call-ffmpeg.js +34 -0
- package/dist/extract-frame-from-video.d.ts +0 -1
- package/dist/ffmpeg-filter-file.js +31 -11
- package/dist/get-frame-of-video-slow.d.ts +4 -2
- package/dist/get-local-browser-executable.js +1 -0
- package/dist/index.d.ts +3 -4
- package/dist/last-frame-from-video-cache.d.ts +0 -1
- package/dist/options/audio-bitrate.d.ts +2 -0
- package/dist/options/audio-bitrate.js +11 -0
- package/dist/options/crf.d.ts +2 -0
- package/dist/options/crf.js +11 -0
- package/dist/options/enforce-audio.d.ts +2 -0
- package/dist/options/enforce-audio.js +11 -0
- package/dist/options/jpeg-quality.d.ts +2 -0
- package/dist/options/jpeg-quality.js +11 -0
- package/dist/options/mute.d.ts +2 -0
- package/dist/options/mute.js +11 -0
- package/dist/options/option.d.ts +8 -0
- package/dist/options/option.js +2 -0
- package/dist/options/scale.d.ts +2 -0
- package/dist/options/scale.js +11 -0
- package/dist/options/video-bitrate.d.ts +2 -0
- package/dist/options/video-bitrate.js +11 -0
- package/dist/options/video-codec.d.ts +2 -0
- package/dist/options/video-codec.js +11 -0
- package/dist/provide-screenshot.d.ts +0 -1
- package/dist/puppeteer-screenshot.d.ts +0 -1
- package/dist/render-media.d.ts +0 -1
- package/dist/screenshot-dom-element.d.ts +0 -1
- package/dist/screenshot-task.d.ts +0 -1
- package/dist/take-frame-and-compose.d.ts +0 -1
- package/dist/try-to-extract-frame-of-video-fast.d.ts +0 -1
- package/package.json +9 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const isTargetClosedErr: (error: Error | undefined) => boolean | undefined;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isTargetClosedErr = void 0;
|
|
4
|
+
const isTargetClosedErr = (error) => {
|
|
5
|
+
var _a, _b;
|
|
6
|
+
return (((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.includes('Target closed')) ||
|
|
7
|
+
((_b = error === null || error === void 0 ? void 0 : error.message) === null || _b === void 0 ? void 0 : _b.includes('Session closed')));
|
|
8
|
+
};
|
|
9
|
+
exports.isTargetClosedErr = isTargetClosedErr;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import execa from 'execa';
|
|
2
|
+
export declare const callFfExtraOptions: () => {
|
|
3
|
+
env: {
|
|
4
|
+
DYLD_LIBRARY_PATH: string;
|
|
5
|
+
PATH?: undefined;
|
|
6
|
+
LD_LIBRARY_PATH?: undefined;
|
|
7
|
+
} | {
|
|
8
|
+
PATH: string;
|
|
9
|
+
DYLD_LIBRARY_PATH?: undefined;
|
|
10
|
+
LD_LIBRARY_PATH?: undefined;
|
|
11
|
+
} | {
|
|
12
|
+
LD_LIBRARY_PATH: string;
|
|
13
|
+
DYLD_LIBRARY_PATH?: undefined;
|
|
14
|
+
PATH?: undefined;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare const callFf: (bin: 'ffmpeg' | 'ffprobe', args: (string | null)[], options?: execa.Options<string>) => execa.ExecaChildProcess<string>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.callFf = exports.callFfExtraOptions = void 0;
|
|
7
|
+
const execa_1 = __importDefault(require("execa"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const get_executable_path_1 = require("./compositor/get-executable-path");
|
|
10
|
+
const truthy_1 = require("./truthy");
|
|
11
|
+
const callFfExtraOptions = () => {
|
|
12
|
+
const lib = path_1.default.join((0, get_executable_path_1.getExecutablePath)('ffmpeg-cwd'), 'remotion', 'lib');
|
|
13
|
+
return {
|
|
14
|
+
env: process.platform === 'darwin'
|
|
15
|
+
? {
|
|
16
|
+
DYLD_LIBRARY_PATH: lib,
|
|
17
|
+
}
|
|
18
|
+
: process.platform === 'win32'
|
|
19
|
+
? {
|
|
20
|
+
PATH: `${process.env.PATH};${lib}`,
|
|
21
|
+
}
|
|
22
|
+
: {
|
|
23
|
+
LD_LIBRARY_PATH: lib,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
exports.callFfExtraOptions = callFfExtraOptions;
|
|
28
|
+
const callFf = (bin, args, options) => {
|
|
29
|
+
return (0, execa_1.default)((0, get_executable_path_1.getExecutablePath)(bin), args.filter(truthy_1.truthy), {
|
|
30
|
+
...(0, exports.callFfExtraOptions)(),
|
|
31
|
+
...options,
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
exports.callFf = callFf;
|
|
@@ -1,28 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// While an FFMPEG filter can be passed directly, if it's too long
|
|
3
3
|
// we run into Windows command length limits.
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
+
}) : function(o, v) {
|
|
18
|
+
o["default"] = v;
|
|
19
|
+
});
|
|
20
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
21
|
+
if (mod && mod.__esModule) return mod;
|
|
22
|
+
var result = {};
|
|
23
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
24
|
+
__setModuleDefault(result, mod);
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
4
27
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
28
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
6
29
|
};
|
|
7
30
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
31
|
exports.makeFfmpegFilterFileStr = exports.makeFfmpegFilterFile = void 0;
|
|
9
|
-
const fs_1 =
|
|
32
|
+
const fs_1 = __importStar(require("fs"));
|
|
10
33
|
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const makeFfmpegFilterFile =
|
|
12
|
-
|
|
13
|
-
const filterFile = path_1.default.join(downloadMap.complexFilter, 'complex-filter-' + random + '.txt');
|
|
14
|
-
await fs_1.default.promises.writeFile(filterFile, complexFilter.filter);
|
|
15
|
-
return {
|
|
16
|
-
file: filterFile,
|
|
17
|
-
cleanup: () => {
|
|
18
|
-
fs_1.default.unlinkSync(filterFile);
|
|
19
|
-
},
|
|
20
|
-
};
|
|
34
|
+
const makeFfmpegFilterFile = (complexFilter, downloadMap) => {
|
|
35
|
+
return (0, exports.makeFfmpegFilterFileStr)(complexFilter.filter, downloadMap);
|
|
21
36
|
};
|
|
22
37
|
exports.makeFfmpegFilterFile = makeFfmpegFilterFile;
|
|
23
38
|
const makeFfmpegFilterFileStr = async (complexFilter, downloadMap) => {
|
|
24
39
|
const random = Math.random().toString().replace('.', '');
|
|
25
40
|
const filterFile = path_1.default.join(downloadMap.complexFilter, 'complex-filter-' + random + '.txt');
|
|
41
|
+
// Race condition: Sometimes the download map is deleted before the file is written.
|
|
42
|
+
// Can remove this once the original bug has been fixed
|
|
43
|
+
if (!(0, fs_1.existsSync)(downloadMap.complexFilter)) {
|
|
44
|
+
fs_1.default.mkdirSync(downloadMap.complexFilter, { recursive: true });
|
|
45
|
+
}
|
|
26
46
|
await fs_1.default.promises.writeFile(filterFile, complexFilter);
|
|
27
47
|
return {
|
|
28
48
|
file: filterFile,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import type { OffthreadVideoImageFormat } from 'remotion';
|
|
3
2
|
import type { SpecialVCodecForTransparency } from './assets/download-map';
|
|
4
3
|
import type { FfmpegExecutable } from './ffmpeg-executable';
|
|
@@ -8,7 +7,10 @@ export declare const getFrameOfVideoSlow: ({ src, duration, ffmpegExecutable, im
|
|
|
8
7
|
duration: number;
|
|
9
8
|
imageFormat: OffthreadVideoImageFormat;
|
|
10
9
|
specialVCodecForTransparency: SpecialVCodecForTransparency;
|
|
11
|
-
needsResize: [
|
|
10
|
+
needsResize: [
|
|
11
|
+
number,
|
|
12
|
+
number
|
|
13
|
+
] | null;
|
|
12
14
|
offset: number;
|
|
13
15
|
fps: number | null;
|
|
14
16
|
remotionRoot: string;
|
|
@@ -18,6 +18,7 @@ const getSearchPathsForProduct = (product) => {
|
|
|
18
18
|
: null,
|
|
19
19
|
process.platform === 'linux' ? '/usr/bin/google-chrome' : null,
|
|
20
20
|
process.platform === 'linux' ? '/usr/bin/chromium-browser' : null,
|
|
21
|
+
process.platform === 'linux' ? '/usr/bin/chromium' : null,
|
|
21
22
|
process.platform === 'linux'
|
|
22
23
|
? '/app/.apt/usr/bin/google-chrome-stable'
|
|
23
24
|
: null,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import execa from 'execa';
|
|
3
2
|
import { SymbolicateableError } from './error-handling/symbolicateable-error';
|
|
4
3
|
import { mimeContentType, mimeLookup } from './mime-types';
|
|
@@ -119,8 +118,8 @@ export declare const RenderInternals: {
|
|
|
119
118
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
120
119
|
DEFAULT_BROWSER: import("./browser").Browser;
|
|
121
120
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
122
|
-
DEFAULT_OPENGL_RENDERER: "
|
|
123
|
-
validateOpenGlRenderer: (option: "
|
|
121
|
+
DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | null;
|
|
122
|
+
validateOpenGlRenderer: (option: "swangle" | "angle" | "egl" | "swiftshader" | null) => "swangle" | "angle" | "egl" | "swiftshader" | null;
|
|
124
123
|
validImageFormats: readonly ["png", "jpeg", "none"];
|
|
125
124
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"];
|
|
126
125
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
@@ -129,7 +128,7 @@ export declare const RenderInternals: {
|
|
|
129
128
|
DEFAULT_CODEC: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
|
|
130
129
|
isAudioCodec: (codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif" | undefined) => boolean;
|
|
131
130
|
logLevels: readonly ["verbose", "info", "warn", "error"];
|
|
132
|
-
isEqualOrBelowLogLevel: (currentLevel: "
|
|
131
|
+
isEqualOrBelowLogLevel: (currentLevel: "verbose" | "error" | "info" | "warn", level: "verbose" | "error" | "info" | "warn") => boolean;
|
|
133
132
|
isValidLogLevel: (level: string) => boolean;
|
|
134
133
|
perf: typeof perf;
|
|
135
134
|
makeDownloadMap: () => import("./assets/download-map").DownloadMap;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.audioBitrateOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.audioBitrateOption = {
|
|
6
|
+
name: 'Audio Bitrate',
|
|
7
|
+
cliFlag: '--audio-bitrate',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFMPEGs", (0, jsx_runtime_1.jsx)("code", { children: "-b:a" }), " parameter should be used. FFMPEG may encode the video in a way that will not result in the exact audio bitrate specified. Example values: ", (0, jsx_runtime_1.jsx)("code", { children: "512K" }), " for 512 kbps, ", (0, jsx_runtime_1.jsx)("code", { children: "1M" }), " for 1 Mbps. Default: ", (0, jsx_runtime_1.jsx)("code", { children: "320k" })] })),
|
|
9
|
+
ssrName: 'audioBitrate',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/renderer/render-media#audiobitrate-',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.crfOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.crfOption = {
|
|
6
|
+
name: 'CRF',
|
|
7
|
+
cliFlag: '--crf',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "No matter which codec you end up using, there's always a tradeoff between file size and video quality. You can control it by setting the so called CRF (Constant Rate Factor). The lower the number, the better the quality, the higher the number, the smaller the file is \u2013 of course at the cost of quality." })),
|
|
9
|
+
ssrName: 'crf',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/encoding/#controlling-quality-using-the-crf-setting',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enforceAudioOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.enforceAudioOption = {
|
|
6
|
+
name: 'Enforce Audio Track',
|
|
7
|
+
cliFlag: '--enforce-audio-track',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Render a silent audio track if there would be none otherwise." })),
|
|
9
|
+
ssrName: 'enforceAudioTrack',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/config#setenforceaudiotrack-',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.jpegQualityOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.jpegQualityOption = {
|
|
6
|
+
name: 'JPEG Quality',
|
|
7
|
+
cliFlag: '--quality',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Sets the quality of the generated JPEG images. Must be an integer between 0 and 100. Default is to leave it up to the browser, current default is 80." })),
|
|
9
|
+
ssrName: 'quality',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/renderer/render-media#quality',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.muteOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.muteOption = {
|
|
6
|
+
name: 'Muted',
|
|
7
|
+
cliFlag: '--muted',
|
|
8
|
+
description: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "The Audio of the video will be omitted." }),
|
|
9
|
+
ssrName: 'muted',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/using-audio/#muted-property',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.scaleOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.scaleOption = {
|
|
6
|
+
name: 'Scale',
|
|
7
|
+
cliFlag: '--scale',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Scales the output by a factor. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of ", (0, jsx_runtime_1.jsx)("code", { children: "1.5" }), ". Vector elements like fonts and HTML markups will be rendered with extra details."] })),
|
|
9
|
+
ssrName: 'scale',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/scaling',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.videoBitrate = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.videoBitrate = {
|
|
6
|
+
name: 'Video Bitrate',
|
|
7
|
+
cliFlag: '--video-bitrate',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Specify the target bitrate for the generated video. The syntax for FFMPEGs", (0, jsx_runtime_1.jsx)("code", { children: "-b:v" }), " parameter should be used. FFMPEG may encode the video in a way that will not result in the exact video bitrate specified. Example values: ", (0, jsx_runtime_1.jsx)("code", { children: "512K" }), " for 512 kbps, ", (0, jsx_runtime_1.jsx)("code", { children: "1M" }), " for 1 Mbps."] })),
|
|
9
|
+
ssrName: 'videoBitrate',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/renderer/render-media#videobitrate-',
|
|
11
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.videoCodecOption = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
exports.videoCodecOption = {
|
|
6
|
+
name: 'Codec',
|
|
7
|
+
cliFlag: '--codec',
|
|
8
|
+
description: ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Remotion supports 5 video codecs: h264 (default), h265, vp8, vp9 and prores. While H264 will work well in most cases, sometimes it's worth going for a different codec. Follow the link below for an overview." })),
|
|
9
|
+
ssrName: 'codec',
|
|
10
|
+
docLink: 'https://www.remotion.dev/docs/encoding/#choosing-a-codec',
|
|
11
|
+
};
|
package/dist/render-media.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/renderer",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.81",
|
|
4
4
|
"description": "Renderer for Remotion",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"execa": "5.1.1",
|
|
18
18
|
"extract-zip": "2.0.1",
|
|
19
|
-
"remotion": "3.3.
|
|
19
|
+
"remotion": "3.3.81",
|
|
20
20
|
"source-map": "^0.8.0-beta.0",
|
|
21
21
|
"ws": "8.7.0"
|
|
22
22
|
},
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
"vitest": "0.24.3"
|
|
42
42
|
},
|
|
43
43
|
"optionalDependencies": {
|
|
44
|
-
"@remotion/compositor-darwin-arm64": "3.3.
|
|
45
|
-
"@remotion/compositor-darwin-x64": "3.3.
|
|
46
|
-
"@remotion/compositor-linux-arm64-gnu": "3.3.
|
|
47
|
-
"@remotion/compositor-linux-arm64-musl": "3.3.
|
|
48
|
-
"@remotion/compositor-linux-x64-gnu": "3.3.
|
|
49
|
-
"@remotion/compositor-linux-x64-musl": "3.3.
|
|
50
|
-
"@remotion/compositor-win32-x64-msvc": "3.3.
|
|
44
|
+
"@remotion/compositor-darwin-arm64": "3.3.81",
|
|
45
|
+
"@remotion/compositor-darwin-x64": "3.3.81",
|
|
46
|
+
"@remotion/compositor-linux-arm64-gnu": "3.3.81",
|
|
47
|
+
"@remotion/compositor-linux-arm64-musl": "3.3.81",
|
|
48
|
+
"@remotion/compositor-linux-x64-gnu": "3.3.81",
|
|
49
|
+
"@remotion/compositor-linux-x64-musl": "3.3.81",
|
|
50
|
+
"@remotion/compositor-win32-x64-msvc": "3.3.81"
|
|
51
51
|
},
|
|
52
52
|
"keywords": [
|
|
53
53
|
"remotion",
|