0.3.0 • Published 7 years ago

captor v0.3.0

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

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) })