My goal is to capture the screen from an electron app but I'd like to do that by using ffmpeg's h264_vaapi encoder. By using ffmpeg-fluent I have the option to set the codec but when I try to use the vaapi encoder it won't grab anything. By using the default libx264 encoder it works but CPU is low-powered so I must rely on the built in intel iGPU. Capturing the screen from a bash script using h264_vaapi works perfectly. OS: Ubuntu 20.04, HW: Pentium N5000 with intel HD graphics.
This is my code (the encoder is commented out):
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)
})