captor

0.3.0 • Public • Published

Captor

ffmpeg screen capture utility for nodejs.

npm install --save captor

 
    const Captor = require('captor')
    const captor = new Captor()
 
    // get a list of available capture devices
 
    captor.listDevices().then(deviceList => {
        
        // match a device name
        var deviceIndex = -1
        Object.keys(deviceList).forEach(index => {
            if(deviceList[index] === 'Capture screen 0'){
                deviceIndex = index
            }
        })
 
        return new Promise((resolve, reject) => { 
            if(deviceIndex !== -1){
                resolve(deviceIndex)
            }else{
                reject(`${videoDeviceName} not found in deviceList: ${JSON.stringify(deviceList)}`)
            }
        })
 
    }).then(deviceIndex => {
 
        // run screen capture for 10s, capturing 6 frames per second
 
        var imagesPath = `./tmp/image_${Date.now()}_%04d.jpg`
        return captor.startCapture({
            videoDevice: deviceIndex,
            output: imagesPath,
            duration: 10,
            fps: 6
        })
 
    }).then(imagesPath => {
 
        // pass the frames onto the video encoder
 
        return captor.encodeVideo({
            input: imagesPath,
            output: `out_${Date.now()}.mp4`
        })
 
    }).then(videoPath => {
 
        console.log('RECORDING COMPLETE!!', videoPath)
 
    }).catch(e => { console.error('ERROR CODE:', e) })

Package Sidebar

Install

npm i captor

Weekly Downloads

2

Version

0.3.0

License

MIT

Last publish

Collaborators

  • positlabs