@remotion/renderer 4.0.290 → 4.0.292
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/BrowserRunner.js +13 -9
- package/dist/browser/LaunchOptions.d.ts +1 -0
- package/dist/browser/Launcher.d.ts +1 -1
- package/dist/browser/Launcher.js +1 -2
- package/dist/browser/should-log-message.js +9 -0
- package/dist/esm/client.mjs +2 -2
- package/dist/esm/index.mjs +47 -25
- package/dist/get-compositions.js +3 -3
- package/dist/get-cpu-count.js +7 -1
- package/dist/open-browser.js +4 -1
- package/dist/options/offthreadvideo-threads.js +1 -1
- package/dist/render-frames.js +2 -2
- package/dist/render-media.js +2 -2
- package/dist/render-still.js +2 -2
- package/dist/select-composition.js +3 -3
- package/package.json +12 -12
|
@@ -70,7 +70,7 @@ const makeBrowserRunner = async ({ executablePath, processArguments, userDataDir
|
|
|
70
70
|
const dumpio = (0, log_level_1.isEqualOrBelowLogLevel)(logLevel, 'verbose');
|
|
71
71
|
const stdio = dumpio
|
|
72
72
|
? ['ignore', 'pipe', 'pipe']
|
|
73
|
-
: ['pipe', '
|
|
73
|
+
: ['pipe', 'pipe', 'pipe'];
|
|
74
74
|
const proc = childProcess.spawn(executablePath, processArguments, {
|
|
75
75
|
// On non-windows platforms, `detached: true` makes child process a
|
|
76
76
|
// leader of a new process group, making it possible to kill child
|
|
@@ -235,13 +235,17 @@ const makeBrowserRunner = async ({ executablePath, processArguments, userDataDir
|
|
|
235
235
|
exports.makeBrowserRunner = makeBrowserRunner;
|
|
236
236
|
function waitForWSEndpoint({ browserProcess, timeout, logLevel, indent, }) {
|
|
237
237
|
const browserStderr = browserProcess.stderr;
|
|
238
|
+
const browserStdout = browserProcess.stdout;
|
|
238
239
|
(0, assert_1.assert)(browserStderr, '`browserProcess` does not have stderr.');
|
|
239
|
-
|
|
240
|
+
(0, assert_1.assert)(browserStdout, '`browserProcess` does not have stdout.');
|
|
241
|
+
let stdioString = '';
|
|
240
242
|
return new Promise((resolve, reject) => {
|
|
241
|
-
browserStderr.addListener('data',
|
|
243
|
+
browserStderr.addListener('data', onStdIoData);
|
|
244
|
+
browserStdout.addListener('data', onStdIoData);
|
|
242
245
|
browserStderr.addListener('close', onClose);
|
|
243
246
|
const listeners = [
|
|
244
|
-
() => browserStderr.removeListener('data',
|
|
247
|
+
() => browserStderr.removeListener('data', onStdIoData),
|
|
248
|
+
() => browserStdout.removeListener('data', onStdIoData),
|
|
245
249
|
() => browserStderr.removeListener('close', onClose),
|
|
246
250
|
(0, util_1.addEventListener)(browserProcess, 'exit', (code, signal) => {
|
|
247
251
|
logger_1.Log.verbose({ indent, logLevel }, 'Browser process exited with code', code, 'signal', signal);
|
|
@@ -257,7 +261,7 @@ function waitForWSEndpoint({ browserProcess, timeout, logLevel, indent, }) {
|
|
|
257
261
|
reject(new Error([
|
|
258
262
|
'Failed to launch the browser process!',
|
|
259
263
|
error ? error.stack : null,
|
|
260
|
-
|
|
264
|
+
stdioString,
|
|
261
265
|
'Troubleshooting: https://remotion.dev/docs/troubleshooting/browser-launch',
|
|
262
266
|
]
|
|
263
267
|
.filter(truthy_1.truthy)
|
|
@@ -265,11 +269,11 @@ function waitForWSEndpoint({ browserProcess, timeout, logLevel, indent, }) {
|
|
|
265
269
|
}
|
|
266
270
|
function onTimeout() {
|
|
267
271
|
cleanup();
|
|
268
|
-
reject(new Errors_1.TimeoutError(`Timed out after ${timeout} ms while trying to connect to the browser! Chrome logged the following: ${
|
|
272
|
+
reject(new Errors_1.TimeoutError(`Timed out after ${timeout} ms while trying to connect to the browser! Chrome logged the following: ${stdioString}`));
|
|
269
273
|
}
|
|
270
|
-
function
|
|
271
|
-
|
|
272
|
-
const match =
|
|
274
|
+
function onStdIoData(data) {
|
|
275
|
+
stdioString += data.toString('utf8');
|
|
276
|
+
const match = stdioString.match(/DevTools listening on (ws:\/\/.*)/);
|
|
273
277
|
if (!match) {
|
|
274
278
|
return;
|
|
275
279
|
}
|
|
@@ -15,4 +15,4 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { HeadlessBrowser } from './Browser';
|
|
17
17
|
import type { LaunchOptions } from './LaunchOptions';
|
|
18
|
-
export declare const launchChrome: ({ args, executablePath, defaultViewport, indent, logLevel, userDataDir, }: LaunchOptions) => Promise<HeadlessBrowser>;
|
|
18
|
+
export declare const launchChrome: ({ args, executablePath, defaultViewport, indent, logLevel, userDataDir, timeout, }: LaunchOptions) => Promise<HeadlessBrowser>;
|
package/dist/browser/Launcher.js
CHANGED
|
@@ -17,8 +17,7 @@
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.launchChrome = void 0;
|
|
19
19
|
const Browser_1 = require("./Browser");
|
|
20
|
-
const launchChrome = async ({ args, executablePath, defaultViewport, indent, logLevel, userDataDir, }) => {
|
|
21
|
-
const timeout = 60000;
|
|
20
|
+
const launchChrome = async ({ args, executablePath, defaultViewport, indent, logLevel, userDataDir, timeout, }) => {
|
|
22
21
|
const browser = await Browser_1.HeadlessBrowser.create({
|
|
23
22
|
defaultViewport,
|
|
24
23
|
args,
|
|
@@ -33,6 +33,15 @@ const shouldLogBrowserMessage = (message) => {
|
|
|
33
33
|
if (message.includes('Received HEADERS for invalid stream')) {
|
|
34
34
|
return false;
|
|
35
35
|
}
|
|
36
|
+
if (message.includes('CVDisplayLinkCreateWithCGDisplay failed')) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
if (message.includes('Falling back to ALSA for audio output')) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
if (message.includes('VizNullHypothesis is disabled')) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
36
45
|
return true;
|
|
37
46
|
};
|
|
38
47
|
exports.shouldLogBrowserMessage = shouldLogBrowserMessage;
|
package/dist/esm/client.mjs
CHANGED
|
@@ -1929,10 +1929,10 @@ var offthreadVideoThreadsOption = {
|
|
|
1929
1929
|
})
|
|
1930
1930
|
}),
|
|
1931
1931
|
" ",
|
|
1932
|
-
"can start to extract frames.
|
|
1932
|
+
"can start to extract frames. The default is",
|
|
1933
1933
|
" ",
|
|
1934
1934
|
DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS,
|
|
1935
|
-
". Increase carefully, as too
|
|
1935
|
+
". Increase carefully, as too many threads may cause instability."
|
|
1936
1936
|
]
|
|
1937
1937
|
}),
|
|
1938
1938
|
ssrName: "offthreadVideoThreads",
|
package/dist/esm/index.mjs
CHANGED
|
@@ -3175,6 +3175,15 @@ var shouldLogBrowserMessage = (message) => {
|
|
|
3175
3175
|
if (message.includes("Received HEADERS for invalid stream")) {
|
|
3176
3176
|
return false;
|
|
3177
3177
|
}
|
|
3178
|
+
if (message.includes("CVDisplayLinkCreateWithCGDisplay failed")) {
|
|
3179
|
+
return false;
|
|
3180
|
+
}
|
|
3181
|
+
if (message.includes("Falling back to ALSA for audio output")) {
|
|
3182
|
+
return false;
|
|
3183
|
+
}
|
|
3184
|
+
if (message.includes("VizNullHypothesis is disabled")) {
|
|
3185
|
+
return false;
|
|
3186
|
+
}
|
|
3178
3187
|
return true;
|
|
3179
3188
|
};
|
|
3180
3189
|
var parseBrowserLogMessage = (input) => {
|
|
@@ -3234,7 +3243,7 @@ var makeBrowserRunner = async ({
|
|
|
3234
3243
|
timeout
|
|
3235
3244
|
}) => {
|
|
3236
3245
|
const dumpio = isEqualOrBelowLogLevel(logLevel, "verbose");
|
|
3237
|
-
const stdio = dumpio ? ["ignore", "pipe", "pipe"] : ["pipe", "
|
|
3246
|
+
const stdio = dumpio ? ["ignore", "pipe", "pipe"] : ["pipe", "pipe", "pipe"];
|
|
3238
3247
|
const proc = childProcess.spawn(executablePath, processArguments, {
|
|
3239
3248
|
detached: process.platform !== "win32",
|
|
3240
3249
|
env: process.env,
|
|
@@ -3368,13 +3377,17 @@ function waitForWSEndpoint({
|
|
|
3368
3377
|
indent
|
|
3369
3378
|
}) {
|
|
3370
3379
|
const browserStderr = browserProcess.stderr;
|
|
3380
|
+
const browserStdout = browserProcess.stdout;
|
|
3371
3381
|
assert(browserStderr, "`browserProcess` does not have stderr.");
|
|
3372
|
-
|
|
3382
|
+
assert(browserStdout, "`browserProcess` does not have stdout.");
|
|
3383
|
+
let stdioString = "";
|
|
3373
3384
|
return new Promise((resolve, reject) => {
|
|
3374
|
-
browserStderr.addListener("data",
|
|
3385
|
+
browserStderr.addListener("data", onStdIoData);
|
|
3386
|
+
browserStdout.addListener("data", onStdIoData);
|
|
3375
3387
|
browserStderr.addListener("close", onClose);
|
|
3376
3388
|
const listeners = [
|
|
3377
|
-
() => browserStderr.removeListener("data",
|
|
3389
|
+
() => browserStderr.removeListener("data", onStdIoData),
|
|
3390
|
+
() => browserStdout.removeListener("data", onStdIoData),
|
|
3378
3391
|
() => browserStderr.removeListener("close", onClose),
|
|
3379
3392
|
addEventListener(browserProcess, "exit", (code, signal) => {
|
|
3380
3393
|
Log.verbose({ indent, logLevel }, "Browser process exited with code", code, "signal", signal);
|
|
@@ -3390,18 +3403,18 @@ function waitForWSEndpoint({
|
|
|
3390
3403
|
reject(new Error([
|
|
3391
3404
|
"Failed to launch the browser process!",
|
|
3392
3405
|
error ? error.stack : null,
|
|
3393
|
-
|
|
3406
|
+
stdioString,
|
|
3394
3407
|
"Troubleshooting: https://remotion.dev/docs/troubleshooting/browser-launch"
|
|
3395
3408
|
].filter(truthy).join(`
|
|
3396
3409
|
`)));
|
|
3397
3410
|
}
|
|
3398
3411
|
function onTimeout() {
|
|
3399
3412
|
cleanup();
|
|
3400
|
-
reject(new TimeoutError(`Timed out after ${timeout} ms while trying to connect to the browser! Chrome logged the following: ${
|
|
3413
|
+
reject(new TimeoutError(`Timed out after ${timeout} ms while trying to connect to the browser! Chrome logged the following: ${stdioString}`));
|
|
3401
3414
|
}
|
|
3402
|
-
function
|
|
3403
|
-
|
|
3404
|
-
const match =
|
|
3415
|
+
function onStdIoData(data) {
|
|
3416
|
+
stdioString += data.toString("utf8");
|
|
3417
|
+
const match = stdioString.match(/DevTools listening on (ws:\/\/.*)/);
|
|
3405
3418
|
if (!match) {
|
|
3406
3419
|
return;
|
|
3407
3420
|
}
|
|
@@ -4634,9 +4647,9 @@ var launchChrome = async ({
|
|
|
4634
4647
|
defaultViewport,
|
|
4635
4648
|
indent,
|
|
4636
4649
|
logLevel,
|
|
4637
|
-
userDataDir
|
|
4650
|
+
userDataDir,
|
|
4651
|
+
timeout
|
|
4638
4652
|
}) => {
|
|
4639
|
-
const timeout = 60000;
|
|
4640
4653
|
const browser = await HeadlessBrowser.create({
|
|
4641
4654
|
defaultViewport,
|
|
4642
4655
|
args,
|
|
@@ -4991,9 +5004,15 @@ var getAvailableMemory = (logLevel) => {
|
|
|
4991
5004
|
// src/get-cpu-count.ts
|
|
4992
5005
|
import { execSync as execSync2 } from "node:child_process";
|
|
4993
5006
|
import { cpus } from "node:os";
|
|
5007
|
+
var nprocCount;
|
|
4994
5008
|
var getConcurrencyFromNProc = () => {
|
|
5009
|
+
if (nprocCount !== undefined) {
|
|
5010
|
+
return nprocCount;
|
|
5011
|
+
}
|
|
4995
5012
|
try {
|
|
4996
|
-
|
|
5013
|
+
const count = parseInt(execSync2("nproc", { stdio: "pipe" }).toString().trim(), 10);
|
|
5014
|
+
nprocCount = count;
|
|
5015
|
+
return count;
|
|
4997
5016
|
} catch {
|
|
4998
5017
|
return null;
|
|
4999
5018
|
}
|
|
@@ -5090,6 +5109,7 @@ var internalOpenBrowser = async ({
|
|
|
5090
5109
|
if (browser === "firefox") {
|
|
5091
5110
|
throw new TypeError("Firefox supported is not yet turned on. Stay tuned for the future.");
|
|
5092
5111
|
}
|
|
5112
|
+
Log.verbose({ indent, logLevel }, "Ensuring browser executable");
|
|
5093
5113
|
await internalEnsureBrowser({
|
|
5094
5114
|
browserExecutable,
|
|
5095
5115
|
logLevel,
|
|
@@ -5097,6 +5117,7 @@ var internalOpenBrowser = async ({
|
|
|
5097
5117
|
onBrowserDownload,
|
|
5098
5118
|
chromeMode
|
|
5099
5119
|
});
|
|
5120
|
+
Log.verbose({ indent, logLevel }, "Ensured browser is available.");
|
|
5100
5121
|
const executablePath = getLocalBrowserExecutable({
|
|
5101
5122
|
preferredBrowserExecutable: browserExecutable,
|
|
5102
5123
|
logLevel,
|
|
@@ -5107,7 +5128,7 @@ var internalOpenBrowser = async ({
|
|
|
5107
5128
|
const enableMultiProcessOnLinux = chromiumOptions.enableMultiProcessOnLinux ?? true;
|
|
5108
5129
|
Log.verbose({ indent, logLevel, tag: "openBrowser()" }, `Opening browser: gl = ${chromiumOptions.gl}, executable = ${executablePath}, enableMultiProcessOnLinux = ${enableMultiProcessOnLinux}`);
|
|
5109
5130
|
if (chromiumOptions.userAgent) {
|
|
5110
|
-
Log.verbose({ indent, logLevel
|
|
5131
|
+
Log.verbose({ indent, logLevel, tag: "openBrowser()" }, `Using custom user agent: ${chromiumOptions.userAgent}`);
|
|
5111
5132
|
}
|
|
5112
5133
|
const userDataDir = await fs9.promises.mkdtemp(path9.join(os3.tmpdir(), "puppeteer_dev_chrome_profile-"));
|
|
5113
5134
|
const browserInstance = await launchChrome({
|
|
@@ -5115,6 +5136,7 @@ var internalOpenBrowser = async ({
|
|
|
5115
5136
|
logLevel,
|
|
5116
5137
|
indent,
|
|
5117
5138
|
userDataDir,
|
|
5139
|
+
timeout: 25000,
|
|
5118
5140
|
args: [
|
|
5119
5141
|
"about:blank",
|
|
5120
5142
|
"--allow-pre-commit-input",
|
|
@@ -16411,8 +16433,8 @@ var innerGetCompositions = async ({
|
|
|
16411
16433
|
height,
|
|
16412
16434
|
fps,
|
|
16413
16435
|
durationInFrames,
|
|
16414
|
-
props: NoReactInternals8.
|
|
16415
|
-
defaultProps: NoReactInternals8.
|
|
16436
|
+
props: NoReactInternals8.deserializeJSONWithSpecialTypes(r.serializedResolvedPropsWithCustomSchema),
|
|
16437
|
+
defaultProps: NoReactInternals8.deserializeJSONWithSpecialTypes(r.serializedDefaultPropsWithCustomSchema),
|
|
16416
16438
|
defaultCodec,
|
|
16417
16439
|
defaultOutName
|
|
16418
16440
|
};
|
|
@@ -16529,7 +16551,7 @@ var getCompositions = (serveUrlOrWebpackUrl, config) => {
|
|
|
16529
16551
|
browserExecutable: browserExecutable ?? null,
|
|
16530
16552
|
chromiumOptions: chromiumOptions ?? {},
|
|
16531
16553
|
envVariables: envVariables ?? {},
|
|
16532
|
-
serializedInputPropsWithCustomSchema: NoReactInternals8.
|
|
16554
|
+
serializedInputPropsWithCustomSchema: NoReactInternals8.serializeJSONWithSpecialTypes({
|
|
16533
16555
|
data: inputProps ?? {},
|
|
16534
16556
|
indent: undefined,
|
|
16535
16557
|
staticBase: null
|
|
@@ -18810,12 +18832,12 @@ var renderFrames = (options) => {
|
|
|
18810
18832
|
indent,
|
|
18811
18833
|
jpegQuality: jpegQuality ?? DEFAULT_JPEG_QUALITY,
|
|
18812
18834
|
onDownload: onDownload ?? null,
|
|
18813
|
-
serializedInputPropsWithCustomSchema: NoReactInternals12.
|
|
18835
|
+
serializedInputPropsWithCustomSchema: NoReactInternals12.serializeJSONWithSpecialTypes({
|
|
18814
18836
|
indent: undefined,
|
|
18815
18837
|
staticBase: null,
|
|
18816
18838
|
data: inputProps ?? {}
|
|
18817
18839
|
}).serializedString,
|
|
18818
|
-
serializedResolvedPropsWithCustomSchema: NoReactInternals12.
|
|
18840
|
+
serializedResolvedPropsWithCustomSchema: NoReactInternals12.serializeJSONWithSpecialTypes({
|
|
18819
18841
|
indent: undefined,
|
|
18820
18842
|
staticBase: null,
|
|
18821
18843
|
data: composition.props
|
|
@@ -21425,7 +21447,7 @@ var renderMedia = ({
|
|
|
21425
21447
|
ffmpegOverride: ffmpegOverride ?? undefined,
|
|
21426
21448
|
frameRange: frameRange ?? null,
|
|
21427
21449
|
imageFormat: imageFormat ?? DEFAULT_VIDEO_IMAGE_FORMAT,
|
|
21428
|
-
serializedInputPropsWithCustomSchema: NoReactInternals14.
|
|
21450
|
+
serializedInputPropsWithCustomSchema: NoReactInternals14.serializeJSONWithSpecialTypes({
|
|
21429
21451
|
indent: undefined,
|
|
21430
21452
|
staticBase: null,
|
|
21431
21453
|
data: inputProps ?? {}
|
|
@@ -21460,7 +21482,7 @@ var renderMedia = ({
|
|
|
21460
21482
|
return;
|
|
21461
21483
|
},
|
|
21462
21484
|
server: undefined,
|
|
21463
|
-
serializedResolvedPropsWithCustomSchema: NoReactInternals14.
|
|
21485
|
+
serializedResolvedPropsWithCustomSchema: NoReactInternals14.serializeJSONWithSpecialTypes({
|
|
21464
21486
|
indent: undefined,
|
|
21465
21487
|
staticBase: null,
|
|
21466
21488
|
data: composition.props ?? {}
|
|
@@ -21769,7 +21791,7 @@ var renderStill = (options) => {
|
|
|
21769
21791
|
frame: frame ?? 0,
|
|
21770
21792
|
imageFormat: imageFormat ?? DEFAULT_STILL_IMAGE_FORMAT,
|
|
21771
21793
|
indent,
|
|
21772
|
-
serializedInputPropsWithCustomSchema: NoReactInternals15.
|
|
21794
|
+
serializedInputPropsWithCustomSchema: NoReactInternals15.serializeJSONWithSpecialTypes({
|
|
21773
21795
|
staticBase: null,
|
|
21774
21796
|
indent: undefined,
|
|
21775
21797
|
data: inputProps ?? {}
|
|
@@ -21786,7 +21808,7 @@ var renderStill = (options) => {
|
|
|
21786
21808
|
serveUrl,
|
|
21787
21809
|
timeoutInMilliseconds: timeoutInMilliseconds ?? DEFAULT_TIMEOUT,
|
|
21788
21810
|
logLevel,
|
|
21789
|
-
serializedResolvedPropsWithCustomSchema: NoReactInternals15.
|
|
21811
|
+
serializedResolvedPropsWithCustomSchema: NoReactInternals15.serializeJSONWithSpecialTypes({
|
|
21790
21812
|
indent: undefined,
|
|
21791
21813
|
staticBase: null,
|
|
21792
21814
|
data: composition.props ?? {}
|
|
@@ -21881,8 +21903,8 @@ var innerSelectComposition = async ({
|
|
|
21881
21903
|
height,
|
|
21882
21904
|
fps,
|
|
21883
21905
|
durationInFrames,
|
|
21884
|
-
props: NoReactInternals16.
|
|
21885
|
-
defaultProps: NoReactInternals16.
|
|
21906
|
+
props: NoReactInternals16.deserializeJSONWithSpecialTypes(res.serializedResolvedPropsWithCustomSchema),
|
|
21907
|
+
defaultProps: NoReactInternals16.deserializeJSONWithSpecialTypes(res.serializedDefaultPropsWithCustomSchema),
|
|
21886
21908
|
defaultCodec,
|
|
21887
21909
|
defaultOutName
|
|
21888
21910
|
},
|
|
@@ -22013,7 +22035,7 @@ var selectComposition = async (options) => {
|
|
|
22013
22035
|
browserExecutable: browserExecutable ?? null,
|
|
22014
22036
|
chromiumOptions: chromiumOptions ?? {},
|
|
22015
22037
|
envVariables: envVariables ?? {},
|
|
22016
|
-
serializedInputPropsWithCustomSchema: NoReactInternals16.
|
|
22038
|
+
serializedInputPropsWithCustomSchema: NoReactInternals16.serializeJSONWithSpecialTypes({
|
|
22017
22039
|
indent: undefined,
|
|
22018
22040
|
staticBase: null,
|
|
22019
22041
|
data: inputProps ?? {}
|
package/dist/get-compositions.js
CHANGED
|
@@ -67,8 +67,8 @@ const innerGetCompositions = async ({ envVariables, serializedInputPropsWithCust
|
|
|
67
67
|
height,
|
|
68
68
|
fps,
|
|
69
69
|
durationInFrames,
|
|
70
|
-
props: no_react_1.NoReactInternals.
|
|
71
|
-
defaultProps: no_react_1.NoReactInternals.
|
|
70
|
+
props: no_react_1.NoReactInternals.deserializeJSONWithSpecialTypes(r.serializedResolvedPropsWithCustomSchema),
|
|
71
|
+
defaultProps: no_react_1.NoReactInternals.deserializeJSONWithSpecialTypes(r.serializedDefaultPropsWithCustomSchema),
|
|
72
72
|
defaultCodec,
|
|
73
73
|
defaultOutName,
|
|
74
74
|
};
|
|
@@ -158,7 +158,7 @@ const getCompositions = (serveUrlOrWebpackUrl, config) => {
|
|
|
158
158
|
browserExecutable: browserExecutable !== null && browserExecutable !== void 0 ? browserExecutable : null,
|
|
159
159
|
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
160
160
|
envVariables: envVariables !== null && envVariables !== void 0 ? envVariables : {},
|
|
161
|
-
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.
|
|
161
|
+
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
|
|
162
162
|
data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
|
|
163
163
|
indent: undefined,
|
|
164
164
|
staticBase: null,
|
package/dist/get-cpu-count.js
CHANGED
|
@@ -6,10 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getCpuCount = exports.getConcurrencyFromNProc = void 0;
|
|
7
7
|
const node_child_process_1 = require("node:child_process");
|
|
8
8
|
const node_os_1 = require("node:os");
|
|
9
|
+
let nprocCount;
|
|
9
10
|
// We also get it from nproc and use the minimum of the two.
|
|
10
11
|
const getConcurrencyFromNProc = () => {
|
|
12
|
+
if (nprocCount !== undefined) {
|
|
13
|
+
return nprocCount;
|
|
14
|
+
}
|
|
11
15
|
try {
|
|
12
|
-
|
|
16
|
+
const count = parseInt((0, node_child_process_1.execSync)('nproc', { stdio: 'pipe' }).toString().trim(), 10);
|
|
17
|
+
nprocCount = count;
|
|
18
|
+
return count;
|
|
13
19
|
}
|
|
14
20
|
catch (_a) {
|
|
15
21
|
return null;
|
package/dist/open-browser.js
CHANGED
|
@@ -55,6 +55,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
55
55
|
if (browser === 'firefox') {
|
|
56
56
|
throw new TypeError('Firefox supported is not yet turned on. Stay tuned for the future.');
|
|
57
57
|
}
|
|
58
|
+
logger_1.Log.verbose({ indent, logLevel }, 'Ensuring browser executable');
|
|
58
59
|
await (0, ensure_browser_1.internalEnsureBrowser)({
|
|
59
60
|
browserExecutable,
|
|
60
61
|
logLevel,
|
|
@@ -62,6 +63,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
62
63
|
onBrowserDownload,
|
|
63
64
|
chromeMode,
|
|
64
65
|
});
|
|
66
|
+
logger_1.Log.verbose({ indent, logLevel }, 'Ensured browser is available.');
|
|
65
67
|
const executablePath = (0, get_local_browser_executable_1.getLocalBrowserExecutable)({
|
|
66
68
|
preferredBrowserExecutable: browserExecutable,
|
|
67
69
|
logLevel,
|
|
@@ -72,7 +74,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
72
74
|
const enableMultiProcessOnLinux = (_b = chromiumOptions.enableMultiProcessOnLinux) !== null && _b !== void 0 ? _b : true;
|
|
73
75
|
logger_1.Log.verbose({ indent, logLevel, tag: 'openBrowser()' }, `Opening browser: gl = ${chromiumOptions.gl}, executable = ${executablePath}, enableMultiProcessOnLinux = ${enableMultiProcessOnLinux}`);
|
|
74
76
|
if (chromiumOptions.userAgent) {
|
|
75
|
-
logger_1.Log.verbose({ indent, logLevel
|
|
77
|
+
logger_1.Log.verbose({ indent, logLevel, tag: 'openBrowser()' }, `Using custom user agent: ${chromiumOptions.userAgent}`);
|
|
76
78
|
}
|
|
77
79
|
const userDataDir = await node_fs_1.default.promises.mkdtemp(node_path_1.default.join(node_os_1.default.tmpdir(), 'puppeteer_dev_chrome_profile-'));
|
|
78
80
|
const browserInstance = await (0, Launcher_1.launchChrome)({
|
|
@@ -80,6 +82,7 @@ const internalOpenBrowser = async ({ browser, browserExecutable, chromiumOptions
|
|
|
80
82
|
logLevel,
|
|
81
83
|
indent,
|
|
82
84
|
userDataDir,
|
|
85
|
+
timeout: 25000,
|
|
83
86
|
args: [
|
|
84
87
|
'about:blank',
|
|
85
88
|
'--allow-pre-commit-input',
|
|
@@ -11,7 +11,7 @@ const cliFlag = 'offthreadvideo-video-threads';
|
|
|
11
11
|
exports.offthreadVideoThreadsOption = {
|
|
12
12
|
name: 'OffthreadVideo threads',
|
|
13
13
|
cliFlag,
|
|
14
|
-
description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["The number of threads that", (0, jsx_runtime_1.jsx)("a", { href: "https://remotion.dev/docs/offthreadvideo", children: (0, jsx_runtime_1.jsx)("code", { children: "<OffthreadVideo>" }) }), ' ', "can start to extract frames.
|
|
14
|
+
description: () => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["The number of threads that", (0, jsx_runtime_1.jsx)("a", { href: "https://remotion.dev/docs/offthreadvideo", children: (0, jsx_runtime_1.jsx)("code", { children: "<OffthreadVideo>" }) }), ' ', "can start to extract frames. The default is", ' ', exports.DEFAULT_RENDER_FRAMES_OFFTHREAD_VIDEO_THREADS, ". Increase carefully, as too many threads may cause instability."] })),
|
|
15
15
|
ssrName: 'offthreadVideoThreads',
|
|
16
16
|
docLink: 'https://www.remotion.dev/docs/offthreadvideo',
|
|
17
17
|
type: 0,
|
package/dist/render-frames.js
CHANGED
|
@@ -358,12 +358,12 @@ const renderFrames = (options) => {
|
|
|
358
358
|
indent,
|
|
359
359
|
jpegQuality: jpegQuality !== null && jpegQuality !== void 0 ? jpegQuality : jpeg_quality_1.DEFAULT_JPEG_QUALITY,
|
|
360
360
|
onDownload: onDownload !== null && onDownload !== void 0 ? onDownload : null,
|
|
361
|
-
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.
|
|
361
|
+
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
|
|
362
362
|
indent: undefined,
|
|
363
363
|
staticBase: null,
|
|
364
364
|
data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
|
|
365
365
|
}).serializedString,
|
|
366
|
-
serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.
|
|
366
|
+
serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
|
|
367
367
|
indent: undefined,
|
|
368
368
|
staticBase: null,
|
|
369
369
|
data: composition.props,
|
package/dist/render-media.js
CHANGED
|
@@ -539,7 +539,7 @@ const renderMedia = ({ proResProfile, x264Preset, crf, composition, inputProps,
|
|
|
539
539
|
ffmpegOverride: ffmpegOverride !== null && ffmpegOverride !== void 0 ? ffmpegOverride : undefined,
|
|
540
540
|
frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
|
|
541
541
|
imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : image_format_1.DEFAULT_VIDEO_IMAGE_FORMAT,
|
|
542
|
-
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.
|
|
542
|
+
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
|
|
543
543
|
indent: undefined,
|
|
544
544
|
staticBase: null,
|
|
545
545
|
data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
|
|
@@ -566,7 +566,7 @@ const renderMedia = ({ proResProfile, x264Preset, crf, composition, inputProps,
|
|
|
566
566
|
indent,
|
|
567
567
|
onCtrlCExit: () => undefined,
|
|
568
568
|
server: undefined,
|
|
569
|
-
serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.
|
|
569
|
+
serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
|
|
570
570
|
indent: undefined,
|
|
571
571
|
staticBase: null,
|
|
572
572
|
data: (_b = composition.props) !== null && _b !== void 0 ? _b : {},
|
package/dist/render-still.js
CHANGED
|
@@ -300,7 +300,7 @@ const renderStill = (options) => {
|
|
|
300
300
|
frame: frame !== null && frame !== void 0 ? frame : 0,
|
|
301
301
|
imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : image_format_1.DEFAULT_STILL_IMAGE_FORMAT,
|
|
302
302
|
indent,
|
|
303
|
-
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.
|
|
303
|
+
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
|
|
304
304
|
staticBase: null,
|
|
305
305
|
indent: undefined,
|
|
306
306
|
data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
|
|
@@ -317,7 +317,7 @@ const renderStill = (options) => {
|
|
|
317
317
|
serveUrl,
|
|
318
318
|
timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : TimeoutSettings_1.DEFAULT_TIMEOUT,
|
|
319
319
|
logLevel,
|
|
320
|
-
serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.
|
|
320
|
+
serializedResolvedPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
|
|
321
321
|
indent: undefined,
|
|
322
322
|
staticBase: null,
|
|
323
323
|
data: (_b = composition.props) !== null && _b !== void 0 ? _b : {},
|
|
@@ -78,8 +78,8 @@ const innerSelectComposition = async ({ page, serializedInputPropsWithCustomSche
|
|
|
78
78
|
height,
|
|
79
79
|
fps,
|
|
80
80
|
durationInFrames,
|
|
81
|
-
props: no_react_1.NoReactInternals.
|
|
82
|
-
defaultProps: no_react_1.NoReactInternals.
|
|
81
|
+
props: no_react_1.NoReactInternals.deserializeJSONWithSpecialTypes(res.serializedResolvedPropsWithCustomSchema),
|
|
82
|
+
defaultProps: no_react_1.NoReactInternals.deserializeJSONWithSpecialTypes(res.serializedDefaultPropsWithCustomSchema),
|
|
83
83
|
defaultCodec,
|
|
84
84
|
defaultOutName,
|
|
85
85
|
},
|
|
@@ -181,7 +181,7 @@ const selectComposition = async (options) => {
|
|
|
181
181
|
browserExecutable: browserExecutable !== null && browserExecutable !== void 0 ? browserExecutable : null,
|
|
182
182
|
chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
|
|
183
183
|
envVariables: envVariables !== null && envVariables !== void 0 ? envVariables : {},
|
|
184
|
-
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.
|
|
184
|
+
serializedInputPropsWithCustomSchema: no_react_1.NoReactInternals.serializeJSONWithSpecialTypes({
|
|
185
185
|
indent: undefined,
|
|
186
186
|
staticBase: null,
|
|
187
187
|
data: inputProps !== null && inputProps !== void 0 ? inputProps : {},
|
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.292",
|
|
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
|
-
"@remotion/streaming": "4.0.
|
|
21
|
+
"remotion": "4.0.292",
|
|
22
|
+
"@remotion/streaming": "4.0.292"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
25
|
"react": ">=16.8.0",
|
|
@@ -33,17 +33,17 @@
|
|
|
33
33
|
"react-dom": "19.0.0",
|
|
34
34
|
"@types/ws": "8.5.10",
|
|
35
35
|
"eslint": "9.19.0",
|
|
36
|
-
"@remotion/example-videos": "4.0.
|
|
37
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
36
|
+
"@remotion/example-videos": "4.0.292",
|
|
37
|
+
"@remotion/eslint-config-internal": "4.0.292"
|
|
38
38
|
},
|
|
39
39
|
"optionalDependencies": {
|
|
40
|
-
"@remotion/compositor-darwin-
|
|
41
|
-
"@remotion/compositor-darwin-
|
|
42
|
-
"@remotion/compositor-linux-arm64-
|
|
43
|
-
"@remotion/compositor-linux-x64-
|
|
44
|
-
"@remotion/compositor-linux-arm64-
|
|
45
|
-
"@remotion/compositor-
|
|
46
|
-
"@remotion/compositor-
|
|
40
|
+
"@remotion/compositor-darwin-arm64": "4.0.292",
|
|
41
|
+
"@remotion/compositor-darwin-x64": "4.0.292",
|
|
42
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.292",
|
|
43
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.292",
|
|
44
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.292",
|
|
45
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.292",
|
|
46
|
+
"@remotion/compositor-linux-x64-musl": "4.0.292"
|
|
47
47
|
},
|
|
48
48
|
"keywords": [
|
|
49
49
|
"remotion",
|