nodejs spawn ffmpeg 录屏
时间: 2023-10-11 18:07:50 浏览: 55
你可以使用 Node.js 中的 `child_process` 模块中的 `spawn` 方法来执行 `ffmpeg` 命令进行录屏。下面是一个示例代码:
```javascript
const { spawn } = require('child_process');
// 定义需要执行的 ffmpeg 命令和参数
const ffmpegCmd = 'ffmpeg';
const args = [
'-f', 'gdigrab', // 使用 gdigrab 来录制屏幕
'-i', 'desktop', // 指定录制桌面
'-r', '30', // 设置帧率为 30fps
'-c:v', 'libx264', // 使用 libx264 编码器
'-preset', 'ultrafast', // 设置编码速度为极快
'output.mp4' // 输出文件名
];
// 使用 spawn 方法执行 ffmpeg 命令
const ffmpegProcess = spawn(ffmpegCmd, args);
// 监听控制台输出
ffmpegProcess.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
ffmpegProcess.stderr.on('data', (data) => {
console.error(`stderr: ${data}`);
});
// 监听命令执行完成事件
ffmpegProcess.on('close', (code) => {
console.log(`ffmpeg process exited with code ${code}`);
});
```
这段代码会使用 `gdigrab` 来录制桌面,帧率为 30fps,并将录制结果保存为 `output.mp4` 文件。你可以根据需要修改 `args` 数组中的参数来满足你的要求。
请确保已经安装了 `ffmpeg` 并且可以在命令行中执行它。