-
Notifications
You must be signed in to change notification settings - Fork 128
Open
Description
Hello I met the problem when end the recording indicate this:
/app/node_modules/puppeteer-stream/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:138
this._reject(callback, new Errors_js_1.TargetCloseError('Target closed'));
^
TargetCloseError: Protocol error (Runtime.callFunctionOn): Target closed
at CallbackRegistry.clear (/app/node_modules/puppeteer-stream/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:138:36)
at CDPSessionImpl._onClosed (/app/node_modules/puppeteer-stream/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:451:25)
at #onClose (/app/node_modules/puppeteer-stream/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js:284:21)
at WebSocket.<anonymous> (/app/node_modules/puppeteer-stream/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NodeWebSocketTransport.js:57:30)
at callListener (/app/node_modules/puppeteer-stream/node_modules/ws/lib/event-target.js:290:14)
at WebSocket.onClose (/app/node_modules/puppeteer-stream/node_modules/ws/lib/event-target.js:220:9)
at WebSocket.emit (node:events:513:28)
at WebSocket.emitClose (/app/node_modules/puppeteer-stream/node_modules/ws/lib/websocket.js:258:10)
at Socket.socketOnClose (/app/node_modules/puppeteer-stream/node_modules/ws/lib/websocket.js:1264:15)
at Socket.emit (node:events:513:28)
Node.js v18.12.0
I 've found the similar problem here, but seem it not work:
#155
My previous version: "puppeteer-stream": "^3.0.19",
I have down version to : 3.0.10 but problem still occur
This is my current code:
const xvfb = new Xvfb({
silent: true,
xvfb_args: ["-screen", "0", "1920x1080x30", "-ac"],
});
xvfb.start((err) => {
if (err) console.error(err);
});
const browser = await launch({
headless: true,
executablePath:
process.env.PUPPETEER_EXECUTABLE_PATH || "/usr/bin/chromium-browser",
// or on linux: "google-chrome-stable"
// or on mac: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
defaultViewport: {
width: 1920,
height: 1080,
},
args: [
// "--use-fake-ui-for-media-stream",
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-dev-shm-usage",
"--disable-gpu",
// "--single-process",
"--no-zygote",
"--start-fullscreen",
"--display=" + xvfb._display,
"--window-size=1920,1080",
],
});
const file = fs.createWriteStream(outputVideoPath);
await page.goto(targetURL, { waitUntil: "load", timeout: 0 });
const stream = await getStream(page, { audio: true, video: true });
stream.pipe(file);
.....
await stream.destroy();
file.close();
xvfb.stop();
console.log("THERE")
await browser.close();
(await wss).close();
Anyone meet the problem like me? Thanks.
Metadata
Metadata
Assignees
Labels
No labels