@remotion/renderer 4.0.198 → 4.0.200
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/NetworkManager.js +8 -0
- package/dist/client.d.ts +3 -3
- package/dist/error-handling/handle-javascript-exception.js +0 -1
- package/dist/index.d.ts +9 -8
- package/dist/index.js +2 -0
- package/dist/options/gl.d.ts +3 -3
- package/dist/options/index.d.ts +3 -3
- package/dist/prepare-server.js +5 -3
- package/dist/print-useful-error-message.js +4 -0
- package/dist/render-media.js +8 -1
- package/dist/seek-to-frame.js +1 -1
- package/package.json +10 -10
|
@@ -226,6 +226,7 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
226
226
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, event);
|
|
227
227
|
}
|
|
228
228
|
}, _NetworkManager_emitLoadingFailed = function _NetworkManager_emitLoadingFailed(event) {
|
|
229
|
+
var _a;
|
|
229
230
|
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
|
|
230
231
|
// For certain requestIds we never receive requestWillBeSent event.
|
|
231
232
|
// @see https://crbug.com/750469
|
|
@@ -234,6 +235,13 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
234
235
|
}
|
|
235
236
|
if (!event.canceled) {
|
|
236
237
|
logger_1.Log.warn({ indent: __classPrivateFieldGet(this, _NetworkManager_indent, "f"), logLevel: __classPrivateFieldGet(this, _NetworkManager_logLevel, "f") }, `Browser failed to load ${request._url} (${event.type}): ${event.errorText}`);
|
|
238
|
+
if (event.errorText === 'net::ERR_FAILED' &&
|
|
239
|
+
event.type === 'Fetch' &&
|
|
240
|
+
((_a = request._url) === null || _a === void 0 ? void 0 : _a.includes('/proxy'))) {
|
|
241
|
+
logger_1.Log.warn({ indent: __classPrivateFieldGet(this, _NetworkManager_indent, "f"), logLevel: __classPrivateFieldGet(this, _NetworkManager_logLevel, "f") }, 'This could be caused by Chrome rejecting the request because the disk space is low.');
|
|
242
|
+
logger_1.Log.warn({ indent: __classPrivateFieldGet(this, _NetworkManager_indent, "f"), logLevel: __classPrivateFieldGet(this, _NetworkManager_logLevel, "f") }, 'This could be caused by Chrome rejecting the request because the disk space is low.');
|
|
243
|
+
logger_1.Log.warn({ indent: __classPrivateFieldGet(this, _NetworkManager_indent, "f"), logLevel: __classPrivateFieldGet(this, _NetworkManager_logLevel, "f") }, 'Consider increasing the disk size of your Lambda function.');
|
|
244
|
+
}
|
|
237
245
|
}
|
|
238
246
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
|
|
239
247
|
};
|
package/dist/client.d.ts
CHANGED
|
@@ -467,19 +467,19 @@ export declare const BrowserSafeApis: {
|
|
|
467
467
|
cliFlag: "gl";
|
|
468
468
|
docLink: string;
|
|
469
469
|
name: string;
|
|
470
|
-
type: "
|
|
470
|
+
type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
471
471
|
ssrName: string;
|
|
472
472
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
473
473
|
getValue: ({ commandLine }: {
|
|
474
474
|
commandLine: Record<string, unknown>;
|
|
475
475
|
}) => {
|
|
476
|
-
value: "
|
|
476
|
+
value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
477
477
|
source: string;
|
|
478
478
|
} | {
|
|
479
479
|
value: null;
|
|
480
480
|
source: string;
|
|
481
481
|
};
|
|
482
|
-
setConfig: (value: "
|
|
482
|
+
setConfig: (value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
483
483
|
};
|
|
484
484
|
enableLambdaInsights: {
|
|
485
485
|
name: string;
|
|
@@ -66,7 +66,6 @@ const handleJavascriptException = ({ page, onError, frame, }) => {
|
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
const errorType = (_b = exception.exceptionDetails.exception) === null || _b === void 0 ? void 0 : _b.className;
|
|
69
|
-
page.close();
|
|
70
69
|
const symbolicatedErr = new symbolicateable_error_1.SymbolicateableError({
|
|
71
70
|
message: removeDelayRenderStack(cleanErrorMessage),
|
|
72
71
|
stackFrame: exception.exceptionDetails.stackTrace.callFrames.map((f) => callFrameToStackFrame(f)),
|
package/dist/index.d.ts
CHANGED
|
@@ -141,8 +141,8 @@ export declare const RenderInternals: {
|
|
|
141
141
|
validPixelFormats: readonly ["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"];
|
|
142
142
|
DEFAULT_BROWSER: "chrome";
|
|
143
143
|
validateFrameRange: (frameRange: import("./frame-range").FrameRange | null) => void;
|
|
144
|
-
DEFAULT_OPENGL_RENDERER: "
|
|
145
|
-
validateOpenGlRenderer: (option: unknown) => "
|
|
144
|
+
DEFAULT_OPENGL_RENDERER: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
145
|
+
validateOpenGlRenderer: (option: unknown) => "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
146
146
|
validCodecs: readonly ["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "h264-ts", "gif"];
|
|
147
147
|
DEFAULT_PIXEL_FORMAT: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
|
|
148
148
|
validateJpegQuality: (q: unknown) => void;
|
|
@@ -338,7 +338,7 @@ export declare const RenderInternals: {
|
|
|
338
338
|
makeFileExtensionMap: () => Record<string, ("h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif")[]>;
|
|
339
339
|
defaultCodecsForFileExtension: Record<import("./file-extensions").FileExtension, "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "h264-ts" | "gif">;
|
|
340
340
|
getExecutablePath: ({ indent, logLevel, type, binariesDirectory, }: {
|
|
341
|
-
type: "
|
|
341
|
+
type: "compositor" | "ffmpeg" | "ffprobe";
|
|
342
342
|
indent: boolean;
|
|
343
343
|
logLevel: "verbose" | "info" | "warn" | "error";
|
|
344
344
|
binariesDirectory: string | null;
|
|
@@ -354,8 +354,8 @@ export declare const RenderInternals: {
|
|
|
354
354
|
}) => execa.ExecaChildProcess<string>;
|
|
355
355
|
validStillImageFormats: readonly ["png", "jpeg", "pdf", "webp"];
|
|
356
356
|
validVideoImageFormats: readonly ["png", "jpeg", "none"];
|
|
357
|
-
DEFAULT_STILL_IMAGE_FORMAT: "
|
|
358
|
-
DEFAULT_VIDEO_IMAGE_FORMAT: "
|
|
357
|
+
DEFAULT_STILL_IMAGE_FORMAT: "png" | "jpeg" | "pdf" | "webp";
|
|
358
|
+
DEFAULT_VIDEO_IMAGE_FORMAT: "png" | "jpeg" | "none";
|
|
359
359
|
DEFAULT_JPEG_QUALITY: number;
|
|
360
360
|
chalk: {
|
|
361
361
|
enabled: () => boolean;
|
|
@@ -453,7 +453,7 @@ export declare const RenderInternals: {
|
|
|
453
453
|
frame: number;
|
|
454
454
|
serializedInputPropsWithCustomSchema: string;
|
|
455
455
|
serializedResolvedPropsWithCustomSchema: string;
|
|
456
|
-
imageFormat: "
|
|
456
|
+
imageFormat: "png" | "jpeg" | "pdf" | "webp";
|
|
457
457
|
jpegQuality: number;
|
|
458
458
|
puppeteerInstance: HeadlessBrowser | null;
|
|
459
459
|
envVariables: Record<string, string>;
|
|
@@ -754,7 +754,7 @@ export declare const RenderInternals: {
|
|
|
754
754
|
onFrameUpdate: ((framesRendered: number, frameIndex: number, timeToRenderInMilliseconds: number) => void) | null;
|
|
755
755
|
outputDir: string | null;
|
|
756
756
|
envVariables: Record<string, string>;
|
|
757
|
-
imageFormat: "
|
|
757
|
+
imageFormat: "png" | "jpeg" | "none";
|
|
758
758
|
jpegQuality: number;
|
|
759
759
|
frameRange: import("./frame-range").FrameRange | null;
|
|
760
760
|
everyNthFrame: number;
|
|
@@ -767,7 +767,7 @@ export declare const RenderInternals: {
|
|
|
767
767
|
scale: number;
|
|
768
768
|
port: number | null;
|
|
769
769
|
cancelSignal: import("./make-cancel-signal").CancelSignal | undefined;
|
|
770
|
-
composition: Omit<import("remotion").VideoConfig, "
|
|
770
|
+
composition: Omit<import("remotion").VideoConfig, "props" | "defaultProps">;
|
|
771
771
|
indent: boolean;
|
|
772
772
|
server: import("./prepare-server").RemotionServer | undefined;
|
|
773
773
|
muted: boolean;
|
|
@@ -990,4 +990,5 @@ export declare const RenderInternals: {
|
|
|
990
990
|
matroskaH265Aac: string;
|
|
991
991
|
opusWebm: string;
|
|
992
992
|
};
|
|
993
|
+
printUsefulErrorMessage: (err: Error, logLevel: "verbose" | "info" | "warn" | "error", indent: boolean) => void;
|
|
993
994
|
};
|
package/dist/index.js
CHANGED
|
@@ -116,6 +116,7 @@ const make_file_executable_1 = require("./compositor/make-file-executable");
|
|
|
116
116
|
const ensure_browser_2 = require("./ensure-browser");
|
|
117
117
|
const example_videos_1 = require("./example-videos");
|
|
118
118
|
const audio_codec_1 = require("./options/audio-codec");
|
|
119
|
+
const print_useful_error_message_1 = require("./print-useful-error-message");
|
|
119
120
|
const render_has_audio_1 = require("./render-has-audio");
|
|
120
121
|
const to_megabytes_1 = require("./to-megabytes");
|
|
121
122
|
const validate_puppeteer_timeout_1 = require("./validate-puppeteer-timeout");
|
|
@@ -208,6 +209,7 @@ exports.RenderInternals = {
|
|
|
208
209
|
toMegabytes: to_megabytes_1.toMegabytes,
|
|
209
210
|
internalEnsureBrowser: ensure_browser_2.internalEnsureBrowser,
|
|
210
211
|
exampleVideos: example_videos_1.exampleVideos,
|
|
212
|
+
printUsefulErrorMessage: print_useful_error_message_1.printUsefulErrorMessage,
|
|
211
213
|
};
|
|
212
214
|
// Warn of potential performance issues with Apple Silicon (M1 chip under Rosetta)
|
|
213
215
|
(0, check_version_requirements_1.checkRuntimeVersion)('info', false);
|
package/dist/options/gl.d.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
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: () => "swangle" | "angle" | "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";
|
|
8
8
|
docLink: string;
|
|
9
9
|
name: string;
|
|
10
|
-
type: "
|
|
10
|
+
type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
11
11
|
ssrName: string;
|
|
12
12
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
getValue: ({ commandLine }: {
|
|
14
14
|
commandLine: Record<string, unknown>;
|
|
15
15
|
}) => {
|
|
16
|
-
value: "
|
|
16
|
+
value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
17
17
|
source: string;
|
|
18
18
|
} | {
|
|
19
19
|
value: null;
|
package/dist/options/index.d.ts
CHANGED
|
@@ -245,19 +245,19 @@ export declare const allOptions: {
|
|
|
245
245
|
cliFlag: "gl";
|
|
246
246
|
docLink: string;
|
|
247
247
|
name: string;
|
|
248
|
-
type: "
|
|
248
|
+
type: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null;
|
|
249
249
|
ssrName: string;
|
|
250
250
|
description: () => import("react/jsx-runtime").JSX.Element;
|
|
251
251
|
getValue: ({ commandLine }: {
|
|
252
252
|
commandLine: Record<string, unknown>;
|
|
253
253
|
}) => {
|
|
254
|
-
value: "
|
|
254
|
+
value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl";
|
|
255
255
|
source: string;
|
|
256
256
|
} | {
|
|
257
257
|
value: null;
|
|
258
258
|
source: string;
|
|
259
259
|
};
|
|
260
|
-
setConfig: (value: "
|
|
260
|
+
setConfig: (value: "swangle" | "angle" | "egl" | "swiftshader" | "vulkan" | "angle-egl" | null) => void;
|
|
261
261
|
};
|
|
262
262
|
enableLambdaInsights: {
|
|
263
263
|
name: string;
|
package/dist/prepare-server.js
CHANGED
|
@@ -12,6 +12,7 @@ const download_map_1 = require("./assets/download-map");
|
|
|
12
12
|
const get_bundle_url_from_serve_url_1 = require("./get-bundle-url-from-serve-url");
|
|
13
13
|
const is_serve_url_1 = require("./is-serve-url");
|
|
14
14
|
const logger_1 = require("./logger");
|
|
15
|
+
const normalize_serve_url_1 = require("./normalize-serve-url");
|
|
15
16
|
const serve_static_1 = require("./serve-static");
|
|
16
17
|
const symbolicate_stacktrace_1 = require("./symbolicate-stacktrace");
|
|
17
18
|
const wait_for_symbolication_error_to_be_done_1 = require("./wait-for-symbolication-error-to-be-done");
|
|
@@ -30,16 +31,17 @@ const prepareServer = async ({ webpackConfigOrServeUrl, port, remotionRoot, conc
|
|
|
30
31
|
binariesDirectory,
|
|
31
32
|
forceIPv4,
|
|
32
33
|
});
|
|
34
|
+
const normalized = (0, normalize_serve_url_1.normalizeServeUrl)(webpackConfigOrServeUrl);
|
|
33
35
|
let remoteSourceMap = null;
|
|
34
|
-
(0, symbolicate_stacktrace_1.getSourceMapFromRemoteUrl)((0, get_bundle_url_from_serve_url_1.getBundleMapUrlFromServeUrl)(
|
|
36
|
+
(0, symbolicate_stacktrace_1.getSourceMapFromRemoteUrl)((0, get_bundle_url_from_serve_url_1.getBundleMapUrlFromServeUrl)(normalized))
|
|
35
37
|
.then((s) => {
|
|
36
38
|
remoteSourceMap = s;
|
|
37
39
|
})
|
|
38
40
|
.catch((err) => {
|
|
39
|
-
logger_1.Log.verbose({ indent, logLevel }, 'Could not fetch sourcemap for ',
|
|
41
|
+
logger_1.Log.verbose({ indent, logLevel }, 'Could not fetch sourcemap for ', normalized, err);
|
|
40
42
|
});
|
|
41
43
|
return Promise.resolve({
|
|
42
|
-
serveUrl:
|
|
44
|
+
serveUrl: normalized,
|
|
43
45
|
closeServer: () => {
|
|
44
46
|
(0, download_map_1.cleanDownloadMap)(downloadMap);
|
|
45
47
|
remoteSourceMap === null || remoteSourceMap === void 0 ? void 0 : remoteSourceMap.destroy();
|
|
@@ -77,5 +77,9 @@ const printUsefulErrorMessage = (err, logLevel, indent) => {
|
|
|
77
77
|
logger_1.Log.info({ indent, logLevel }, '💡 This error might happen if using Cloud Run with credentials that have a newline at the end or are otherwise badly encoded.');
|
|
78
78
|
logger_1.Log.info({ indent, logLevel }, ' https://github.com/remotion-dev/remotion/issues/3864');
|
|
79
79
|
}
|
|
80
|
+
if (err.message.includes('Failed to fetch')) {
|
|
81
|
+
logger_1.Log.info({ indent, logLevel }, '💡 On Lambda, one reason this could happen is that Chrome is rejecting an asset to be loaded when it is running low on disk space.');
|
|
82
|
+
logger_1.Log.info({ indent, logLevel }, 'Try increasing the disk size of your Lambda function.');
|
|
83
|
+
}
|
|
80
84
|
};
|
|
81
85
|
exports.printUsefulErrorMessage = printUsefulErrorMessage;
|
package/dist/render-media.js
CHANGED
|
@@ -455,7 +455,14 @@ const internalRenderMediaRaw = ({ proResProfile, x264Preset, crf, composition, s
|
|
|
455
455
|
}, 2000);
|
|
456
456
|
stitcherFfmpeg.on('close', res);
|
|
457
457
|
});
|
|
458
|
-
|
|
458
|
+
// An exception can happen here:
|
|
459
|
+
// https://discord.com/channels/809501355504959528/817306238811111454/1273184655348072468
|
|
460
|
+
try {
|
|
461
|
+
stitcherFfmpeg.kill();
|
|
462
|
+
}
|
|
463
|
+
catch (e) {
|
|
464
|
+
// Ignore
|
|
465
|
+
}
|
|
459
466
|
return promise.then(() => {
|
|
460
467
|
reject(err);
|
|
461
468
|
});
|
package/dist/seek-to-frame.js
CHANGED
|
@@ -83,7 +83,7 @@ const waitForReady = ({ page, timeoutInMilliseconds, frame, indent, logLevel, })
|
|
|
83
83
|
timeoutInMilliseconds: 5000,
|
|
84
84
|
})
|
|
85
85
|
.then((res) => {
|
|
86
|
-
reject(new Error(`Timeout exceeded rendering the component${frame ? ' at frame ' + frame : ''}. ${res.value ? `Open delayRender() handles: ${res.value}` : ''}`));
|
|
86
|
+
reject(new Error(`Timeout (${timeoutInMilliseconds}ms) exceeded rendering the component${frame ? ' at frame ' + frame : ' initially'}. ${res.value ? `Open delayRender() handles: ${res.value}` : ''}`));
|
|
87
87
|
})
|
|
88
88
|
.catch((newErr) => {
|
|
89
89
|
logger_1.Log.warn({ indent, logLevel }, 'Tried to get delayRender() handles for timeout, but could not do so because of', newErr);
|
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.200",
|
|
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.200",
|
|
22
|
+
"remotion": "4.0.200"
|
|
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-linux-arm64-gnu": "4.0.
|
|
38
|
-
"@remotion/compositor-darwin-
|
|
39
|
-
"@remotion/compositor-
|
|
40
|
-
"@remotion/compositor-
|
|
41
|
-
"@remotion/compositor-linux-x64-musl": "4.0.
|
|
42
|
-
"@remotion/compositor-
|
|
43
|
-
"@remotion/compositor-
|
|
37
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.200",
|
|
38
|
+
"@remotion/compositor-darwin-arm64": "4.0.200",
|
|
39
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.200",
|
|
40
|
+
"@remotion/compositor-darwin-x64": "4.0.200",
|
|
41
|
+
"@remotion/compositor-linux-x64-musl": "4.0.200",
|
|
42
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.200",
|
|
43
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.200"
|
|
44
44
|
},
|
|
45
45
|
"keywords": [
|
|
46
46
|
"remotion",
|