我的目标是从电子应用程序中捕获屏幕,但我想通过使用 ffmpeg 的 h264_vaapi 编码器来实现。通过使用 ffmpeg-fluent,我可以选择设置编解码器,但是当我尝试使用 vaapi 编码器时,它不会抓取任何东西。通过使用默认的 libx264 编码器,它可以工作,但 CPU 功率低,所以我必须依赖内置的英特尔 iGPU。使用 h264_vaapi 从 bash 脚本捕获屏幕效果很好。操作系统:Ubuntu 20.04,硬件:带有英特尔高清显卡的 Pentium N5000。
这是我的代码(编码器被注释掉):
const recordScreen = require('record-screen')
const recording = recordScreen('test.mp4', {
inputFormat: 'x11grab',
resolution: '1920x1080',
fps: 25,
//videoCodec: 'h264_vaapi'
})
recording.promise
.then(result => {
// Screen recording is done
process.stdout.write(result.stdout)
process.stderr.write(result.stderr)
})
.catch(error => {
// Screen recording has failed
console.error(error)
})