@remotion/renderer 4.0.216 → 4.0.217
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/Cargo.lock +2 -2
- package/Cargo.toml +1 -1
- package/dist/client.d.ts +2 -2
- package/dist/index.d.ts +3 -3
- package/dist/options/gl.d.ts +1 -1
- package/dist/options/index.d.ts +2 -2
- package/dist/options/metadata.d.ts +1 -1
- package/dist/options/metadata.js +1 -1
- package/dist/options/webhook-custom-data.d.ts +1 -1
- package/ensure-browser.mjs +11 -11
- package/package.json +10 -10
- package/dist/browser/is-target-closed-err.d.ts +0 -1
- package/dist/browser/is-target-closed-err.js +0 -9
- package/dist/is-delay-render-error-with.retry.d.ts +0 -2
- package/dist/is-delay-render-error-with.retry.js +0 -37
package/Cargo.lock
CHANGED
|
@@ -278,7 +278,7 @@ dependencies = [
|
|
|
278
278
|
[[package]]
|
|
279
279
|
name = "ffmpeg-next"
|
|
280
280
|
version = "7.1.0"
|
|
281
|
-
source = "git+https://github.com/remotion-dev/rust-ffmpeg?rev=
|
|
281
|
+
source = "git+https://github.com/remotion-dev/rust-ffmpeg?rev=b3878a087fc5be3985974cec9627072bc94b8f52#b3878a087fc5be3985974cec9627072bc94b8f52"
|
|
282
282
|
dependencies = [
|
|
283
283
|
"bitflags 2.6.0",
|
|
284
284
|
"ffmpeg-sys-next",
|
|
@@ -288,7 +288,7 @@ dependencies = [
|
|
|
288
288
|
[[package]]
|
|
289
289
|
name = "ffmpeg-sys-next"
|
|
290
290
|
version = "7.1.0"
|
|
291
|
-
source = "git+https://github.com/remotion-dev/rust-ffmpeg-sys?rev=
|
|
291
|
+
source = "git+https://github.com/remotion-dev/rust-ffmpeg-sys?rev=72427665dde18f5af6770800b4719ec6e73d06f6#72427665dde18f5af6770800b4719ec6e73d06f6"
|
|
292
292
|
dependencies = [
|
|
293
293
|
"bindgen",
|
|
294
294
|
"cc",
|
package/Cargo.toml
CHANGED
|
@@ -19,7 +19,7 @@ image = "0.24.7"
|
|
|
19
19
|
arboard = "3.2.0"
|
|
20
20
|
sysinfo = "0.30.7"
|
|
21
21
|
mp4 = {git = "https://github.com/jonnyburger/mp4-rust", rev = "92ba375738cc2f05a4d754e1f968cf2e97d06641"}
|
|
22
|
-
ffmpeg-next = {git = "https://github.com/remotion-dev/rust-ffmpeg", rev ="
|
|
22
|
+
ffmpeg-next = {git = "https://github.com/remotion-dev/rust-ffmpeg", rev ="b3878a087fc5be3985974cec9627072bc94b8f52"}
|
|
23
23
|
|
|
24
24
|
[[bin]]
|
|
25
25
|
name = "remotion"
|
package/dist/client.d.ts
CHANGED
|
@@ -393,7 +393,7 @@ export declare const BrowserSafeApis: {
|
|
|
393
393
|
webhookCustomDataOption: {
|
|
394
394
|
name: string;
|
|
395
395
|
cliFlag: "webhook-custom-data";
|
|
396
|
-
description: (type: "
|
|
396
|
+
description: (type: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
|
|
397
397
|
ssrName: "customData";
|
|
398
398
|
docLink: string;
|
|
399
399
|
type: Record<string, unknown> | null;
|
|
@@ -806,7 +806,7 @@ export declare const BrowserSafeApis: {
|
|
|
806
806
|
metadataOption: {
|
|
807
807
|
name: string;
|
|
808
808
|
cliFlag: "metadata";
|
|
809
|
-
description: (mode: "
|
|
809
|
+
description: (mode: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
|
|
810
810
|
docLink: string;
|
|
811
811
|
type: import("./options/metadata").Metadata;
|
|
812
812
|
getValue: ({ commandLine }: {
|
package/dist/index.d.ts
CHANGED
|
@@ -139,7 +139,7 @@ export declare const RenderInternals: {
|
|
|
139
139
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
140
140
|
DEFAULT_BROWSER: "chrome";
|
|
141
141
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
142
|
-
DEFAULT_OPENGL_RENDERER: "
|
|
142
|
+
DEFAULT_OPENGL_RENDERER: "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
143
143
|
validateOpenGlRenderer: (option: unknown) => import("./options/gl").OpenGlRenderer | null;
|
|
144
144
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
145
145
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
@@ -353,8 +353,8 @@ export declare const RenderInternals: {
|
|
|
353
353
|
}) => execa.ExecaChildProcess<string>;
|
|
354
354
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
355
355
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
356
|
-
DEFAULT_STILL_IMAGE_FORMAT: "
|
|
357
|
-
DEFAULT_VIDEO_IMAGE_FORMAT: "
|
|
356
|
+
DEFAULT_STILL_IMAGE_FORMAT: "jpeg" | "png" | "webp" | "pdf";
|
|
357
|
+
DEFAULT_VIDEO_IMAGE_FORMAT: "jpeg" | "png" | "none";
|
|
358
358
|
DEFAULT_JPEG_QUALITY: number;
|
|
359
359
|
chalk: {
|
|
360
360
|
enabled: () => boolean;
|
package/dist/options/gl.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const validOpenGlRenderers: readonly ["swangle", "angle", "egl", "swiftshader", "vulkan", "angle-egl"];
|
|
2
2
|
export type OpenGlRenderer = (typeof validOpenGlRenderers)[number];
|
|
3
3
|
export declare const DEFAULT_OPENGL_RENDERER: OpenGlRenderer | null;
|
|
4
|
-
export declare const getChromiumOpenGlRenderer: () => "
|
|
4
|
+
export declare const getChromiumOpenGlRenderer: () => "angle" | "swangle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
5
5
|
export declare const setChromiumOpenGlRenderer: (renderer: OpenGlRenderer) => void;
|
|
6
6
|
export declare const glOption: {
|
|
7
7
|
cliFlag: "gl";
|
package/dist/options/index.d.ts
CHANGED
|
@@ -171,7 +171,7 @@ export declare const allOptions: {
|
|
|
171
171
|
webhookCustomDataOption: {
|
|
172
172
|
name: string;
|
|
173
173
|
cliFlag: "webhook-custom-data";
|
|
174
|
-
description: (type: "
|
|
174
|
+
description: (type: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
|
|
175
175
|
ssrName: "customData";
|
|
176
176
|
docLink: string;
|
|
177
177
|
type: Record<string, unknown> | null;
|
|
@@ -584,7 +584,7 @@ export declare const allOptions: {
|
|
|
584
584
|
metadataOption: {
|
|
585
585
|
name: string;
|
|
586
586
|
cliFlag: "metadata";
|
|
587
|
-
description: (mode: "
|
|
587
|
+
description: (mode: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
|
|
588
588
|
docLink: string;
|
|
589
589
|
type: import("./metadata").Metadata;
|
|
590
590
|
getValue: ({ commandLine }: {
|
|
@@ -2,7 +2,7 @@ export type Metadata = Record<string, string>;
|
|
|
2
2
|
export declare const metadataOption: {
|
|
3
3
|
name: string;
|
|
4
4
|
cliFlag: "metadata";
|
|
5
|
-
description: (mode: "
|
|
5
|
+
description: (mode: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
docLink: string;
|
|
7
7
|
type: Metadata;
|
|
8
8
|
getValue: ({ commandLine }: {
|
package/dist/options/metadata.js
CHANGED
|
@@ -18,7 +18,7 @@ exports.metadataOption = {
|
|
|
18
18
|
getValue: ({ commandLine }) => {
|
|
19
19
|
if (commandLine[cliFlag] !== undefined) {
|
|
20
20
|
const val = commandLine[cliFlag];
|
|
21
|
-
const array = typeof val === 'string' ? [] : val;
|
|
21
|
+
const array = typeof val === 'string' ? [val] : val;
|
|
22
22
|
const keyValues = array.map((a) => {
|
|
23
23
|
if (!a.includes('=')) {
|
|
24
24
|
throw new Error(`"metadata" must be in the format of key=value, but got ${a}`);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const webhookCustomDataOption: {
|
|
2
2
|
name: string;
|
|
3
3
|
cliFlag: "webhook-custom-data";
|
|
4
|
-
description: (type: "
|
|
4
|
+
description: (type: "cli" | "ssr") => import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
ssrName: "customData";
|
|
6
6
|
docLink: string;
|
|
7
7
|
type: Record<string, unknown> | null;
|
package/ensure-browser.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {createRequire} from "node:module";
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
2
|
var __create = Object.create;
|
|
3
3
|
var __getProtoOf = Object.getPrototypeOf;
|
|
4
4
|
var __defProp = Object.defineProperty;
|
|
@@ -2548,10 +2548,10 @@ var import_extract_zip = __toESM(require_extract_zip(), 1);
|
|
|
2548
2548
|
import * as fs3 from "node:fs";
|
|
2549
2549
|
import * as os from "node:os";
|
|
2550
2550
|
import * as path3 from "node:path";
|
|
2551
|
-
import {promisify} from "node:util";
|
|
2551
|
+
import { promisify } from "node:util";
|
|
2552
2552
|
|
|
2553
2553
|
// src/assets/download-file.ts
|
|
2554
|
-
import {createWriteStream} from "node:fs";
|
|
2554
|
+
import { createWriteStream } from "node:fs";
|
|
2555
2555
|
|
|
2556
2556
|
// src/ensure-output-directory.ts
|
|
2557
2557
|
import fs from "node:fs";
|
|
@@ -2954,7 +2954,7 @@ var downloadFile = async (options, retries = 2, attempt = 1) => {
|
|
|
2954
2954
|
};
|
|
2955
2955
|
|
|
2956
2956
|
// src/compositor/make-file-executable.ts
|
|
2957
|
-
import {accessSync, chmodSync, constants, statSync} from "node:fs";
|
|
2957
|
+
import { accessSync, chmodSync, constants, statSync } from "node:fs";
|
|
2958
2958
|
var hasPermissions = (p) => {
|
|
2959
2959
|
if (process.platform !== "linux" && process.platform !== "darwin") {
|
|
2960
2960
|
try {
|
|
@@ -3024,12 +3024,12 @@ var getDownloadsCacheDir = () => {
|
|
|
3024
3024
|
// src/browser/BrowserFetcher.ts
|
|
3025
3025
|
function getChromeDownloadUrl({
|
|
3026
3026
|
platform: platform2,
|
|
3027
|
-
version
|
|
3027
|
+
version
|
|
3028
3028
|
}) {
|
|
3029
3029
|
if (platform2 === "linux-arm64") {
|
|
3030
|
-
return `https://playwright.azureedge.net/builds/chromium/${
|
|
3030
|
+
return `https://playwright.azureedge.net/builds/chromium/${version ?? PLAYWRIGHT_VERSION}/chromium-linux-arm64.zip`;
|
|
3031
3031
|
}
|
|
3032
|
-
return `https://storage.googleapis.com/chrome-for-testing-public/${
|
|
3032
|
+
return `https://storage.googleapis.com/chrome-for-testing-public/${version ?? TESTED_VERSION}/${platform2}/chrome-headless-shell-${platform2}.zip`;
|
|
3033
3033
|
}
|
|
3034
3034
|
function existsAsync(filePath) {
|
|
3035
3035
|
return new Promise((resolve2) => {
|
|
@@ -3063,10 +3063,10 @@ var downloadBrowser = async ({
|
|
|
3063
3063
|
logLevel,
|
|
3064
3064
|
indent,
|
|
3065
3065
|
onProgress,
|
|
3066
|
-
version
|
|
3066
|
+
version
|
|
3067
3067
|
}) => {
|
|
3068
3068
|
const platform2 = getPlatform();
|
|
3069
|
-
const downloadURL = getChromeDownloadUrl({ platform: platform2, version
|
|
3069
|
+
const downloadURL = getChromeDownloadUrl({ platform: platform2, version });
|
|
3070
3070
|
const fileName = downloadURL.split("/").pop();
|
|
3071
3071
|
if (!fileName) {
|
|
3072
3072
|
throw new Error(`A malformed download URL was found: ${downloadURL}.`);
|
|
@@ -3196,8 +3196,8 @@ var internalEnsureBrowser = async ({
|
|
|
3196
3196
|
}) => {
|
|
3197
3197
|
const status = getBrowserStatus(browserExecutable);
|
|
3198
3198
|
if (status.type === "no-browser") {
|
|
3199
|
-
const { onProgress, version
|
|
3200
|
-
await downloadBrowser({ indent, logLevel, onProgress, version
|
|
3199
|
+
const { onProgress, version } = onBrowserDownload();
|
|
3200
|
+
await downloadBrowser({ indent, logLevel, onProgress, version });
|
|
3201
3201
|
}
|
|
3202
3202
|
const newStatus = getBrowserStatus(browserExecutable);
|
|
3203
3203
|
return newStatus;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/renderer"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/renderer",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.217",
|
|
7
7
|
"description": "Render Remotion videos using Node.js or Bun",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"extract-zip": "2.0.1",
|
|
19
19
|
"source-map": "^0.8.0-beta.0",
|
|
20
20
|
"ws": "8.17.1",
|
|
21
|
-
"remotion": "4.0.
|
|
22
|
-
"
|
|
21
|
+
"@remotion/streaming": "4.0.217",
|
|
22
|
+
"remotion": "4.0.217"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": ">=16.8.0",
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
"@types/ws": "8.5.10"
|
|
35
35
|
},
|
|
36
36
|
"optionalDependencies": {
|
|
37
|
-
"@remotion/compositor-
|
|
38
|
-
"@remotion/compositor-linux-
|
|
39
|
-
"@remotion/compositor-
|
|
40
|
-
"@remotion/compositor-
|
|
41
|
-
"@remotion/compositor-
|
|
42
|
-
"@remotion/compositor-
|
|
43
|
-
"@remotion/compositor-
|
|
37
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.217",
|
|
38
|
+
"@remotion/compositor-linux-x64-musl": "4.0.217",
|
|
39
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.217",
|
|
40
|
+
"@remotion/compositor-darwin-x64": "4.0.217",
|
|
41
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.217",
|
|
42
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.217",
|
|
43
|
+
"@remotion/compositor-darwin-arm64": "4.0.217"
|
|
44
44
|
},
|
|
45
45
|
"keywords": [
|
|
46
46
|
"remotion",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const isTargetClosedErr: (error: Error | undefined) => boolean | undefined;
|
|
@@ -1,9 +0,0 @@
|
|
|
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;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getRetriesLeftFromError = exports.isDelayRenderErrorWithRetry = void 0;
|
|
4
|
-
const no_react_1 = require("remotion/no-react");
|
|
5
|
-
const isDelayRenderErrorWithRetry = (error) => {
|
|
6
|
-
var _a;
|
|
7
|
-
if (!error) {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
const shouldRetryError = (_a = error.stack) === null || _a === void 0 ? void 0 : _a.includes(no_react_1.NoReactInternals.DELAY_RENDER_RETRY_TOKEN);
|
|
11
|
-
return shouldRetryError;
|
|
12
|
-
};
|
|
13
|
-
exports.isDelayRenderErrorWithRetry = isDelayRenderErrorWithRetry;
|
|
14
|
-
const getRetriesLeftFromError = (error) => {
|
|
15
|
-
if (!error) {
|
|
16
|
-
throw new Error('Expected stack');
|
|
17
|
-
}
|
|
18
|
-
const { stack } = error;
|
|
19
|
-
if (!stack) {
|
|
20
|
-
throw new Error('Expected stack: ' + JSON.stringify(error));
|
|
21
|
-
}
|
|
22
|
-
const beforeIndex = stack.indexOf(no_react_1.NoReactInternals.DELAY_RENDER_ATTEMPT_TOKEN);
|
|
23
|
-
if (beforeIndex === -1) {
|
|
24
|
-
throw new Error('Expected to find attempt token in stack');
|
|
25
|
-
}
|
|
26
|
-
const afterIndex = stack.indexOf(no_react_1.NoReactInternals.DELAY_RENDER_RETRY_TOKEN);
|
|
27
|
-
if (afterIndex === -1) {
|
|
28
|
-
throw new Error('Expected to find retry token in stack');
|
|
29
|
-
}
|
|
30
|
-
const inbetween = stack.substring(beforeIndex + no_react_1.NoReactInternals.DELAY_RENDER_ATTEMPT_TOKEN.length, afterIndex);
|
|
31
|
-
const parsed = Number(inbetween);
|
|
32
|
-
if (Number.isNaN(parsed)) {
|
|
33
|
-
throw new Error(`Expected to find a number in the stack ${stack}`);
|
|
34
|
-
}
|
|
35
|
-
return parsed;
|
|
36
|
-
};
|
|
37
|
-
exports.getRetriesLeftFromError = getRetriesLeftFromError;
|