node.js - 节点木偶流不录制音频
问题描述
我正在尝试使用 puppeteer 流录制视频和音频,但它只将视频写入输出文件:
async function videoRecorder() {
require("puppeteer-stream");
const puppeteer = require("puppeteer");
const fs = require("fs");
const filename = `./recordings/test.mp4`;
const file = fs.createWriteStream(filename);
const browser = await puppeteer.launch({
executablePath:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
headless: true,
defaultViewport: null,
devtools: false,
args: [
"--window-size=1920,1080",
"--window-position=1921,0",
"--autoplay-policy=no-user-gesture-required",
],
ignoreDefaultArgs: ["--mute-audio"],
});
const page = await browser.newPage();
await page.goto(pathToPageWithVideo, {
waitUntil: "load",
});
const stream = await page.getStream({
audio: true,
video: true,
});
stream.pipe(file);
setTimeout(async () => {
await stream.destroy();
file.close();
console.log("finished");
}, 10000);
}
我尝试了许多其他录制视频和音频的方法,但这是我更接近的一种,因为我的主要目的是只获取音频,我愿意接受更多建议。
谢谢
解决方案
通过另存为 .webm 而不是 .mp4 解决。