@remotion/renderer 4.0.290 → 4.0.291
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/index.mjs +28 -12
- package/dist/open-browser.js +4 -1
- 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/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,
|
|
@@ -5090,6 +5103,7 @@ var internalOpenBrowser = async ({
|
|
|
5090
5103
|
if (browser === "firefox") {
|
|
5091
5104
|
throw new TypeError("Firefox supported is not yet turned on. Stay tuned for the future.");
|
|
5092
5105
|
}
|
|
5106
|
+
Log.verbose({ indent, logLevel }, "Ensuring browser executable");
|
|
5093
5107
|
await internalEnsureBrowser({
|
|
5094
5108
|
browserExecutable,
|
|
5095
5109
|
logLevel,
|
|
@@ -5097,6 +5111,7 @@ var internalOpenBrowser = async ({
|
|
|
5097
5111
|
onBrowserDownload,
|
|
5098
5112
|
chromeMode
|
|
5099
5113
|
});
|
|
5114
|
+
Log.verbose({ indent, logLevel }, "Ensured browser is available.");
|
|
5100
5115
|
const executablePath = getLocalBrowserExecutable({
|
|
5101
5116
|
preferredBrowserExecutable: browserExecutable,
|
|
5102
5117
|
logLevel,
|
|
@@ -5107,7 +5122,7 @@ var internalOpenBrowser = async ({
|
|
|
5107
5122
|
const enableMultiProcessOnLinux = chromiumOptions.enableMultiProcessOnLinux ?? true;
|
|
5108
5123
|
Log.verbose({ indent, logLevel, tag: "openBrowser()" }, `Opening browser: gl = ${chromiumOptions.gl}, executable = ${executablePath}, enableMultiProcessOnLinux = ${enableMultiProcessOnLinux}`);
|
|
5109
5124
|
if (chromiumOptions.userAgent) {
|
|
5110
|
-
Log.verbose({ indent, logLevel
|
|
5125
|
+
Log.verbose({ indent, logLevel, tag: "openBrowser()" }, `Using custom user agent: ${chromiumOptions.userAgent}`);
|
|
5111
5126
|
}
|
|
5112
5127
|
const userDataDir = await fs9.promises.mkdtemp(path9.join(os3.tmpdir(), "puppeteer_dev_chrome_profile-"));
|
|
5113
5128
|
const browserInstance = await launchChrome({
|
|
@@ -5115,6 +5130,7 @@ var internalOpenBrowser = async ({
|
|
|
5115
5130
|
logLevel,
|
|
5116
5131
|
indent,
|
|
5117
5132
|
userDataDir,
|
|
5133
|
+
timeout: 25000,
|
|
5118
5134
|
args: [
|
|
5119
5135
|
"about:blank",
|
|
5120
5136
|
"--allow-pre-commit-input",
|
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',
|
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.291",
|
|
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.291",
|
|
22
|
+
"@remotion/streaming": "4.0.291"
|
|
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.291",
|
|
37
|
+
"@remotion/eslint-config-internal": "4.0.291"
|
|
38
38
|
},
|
|
39
39
|
"optionalDependencies": {
|
|
40
|
-
"@remotion/compositor-darwin-
|
|
41
|
-
"@remotion/compositor-darwin-
|
|
42
|
-
"@remotion/compositor-linux-arm64-
|
|
43
|
-
"@remotion/compositor-linux-
|
|
44
|
-
"@remotion/compositor-linux-
|
|
45
|
-
"@remotion/compositor-linux-x64-
|
|
46
|
-
"@remotion/compositor-win32-x64-msvc": "4.0.
|
|
40
|
+
"@remotion/compositor-darwin-arm64": "4.0.291",
|
|
41
|
+
"@remotion/compositor-darwin-x64": "4.0.291",
|
|
42
|
+
"@remotion/compositor-linux-arm64-musl": "4.0.291",
|
|
43
|
+
"@remotion/compositor-linux-arm64-gnu": "4.0.291",
|
|
44
|
+
"@remotion/compositor-linux-x64-gnu": "4.0.291",
|
|
45
|
+
"@remotion/compositor-linux-x64-musl": "4.0.291",
|
|
46
|
+
"@remotion/compositor-win32-x64-msvc": "4.0.291"
|
|
47
47
|
},
|
|
48
48
|
"keywords": [
|
|
49
49
|
"remotion",
|