UNPKG

opencv

Version:
60 lines (48 loc) 1.2 kB
var cv = require('../lib/opencv'); var path = require('path'); var vid = new cv.VideoCapture(path.join(__dirname, 'files', 'motion.mov')); vid.read(function(err, mat) { if (err) throw err; var filename = './tmp/output-'+new Date().getTime()+'.avi'; var writer = new cv.VideoWriter(filename, 'DIVX', vid.getFPS(), mat.size(), true); writer.writeSync(mat); var x = 0; var iter = function () { vid.read(function (err, m2) { x++; writer.writeSync(m2); if (x < 100) { iter(); } else { vid.release(); writer.release(); } }) }; iter(); }); // restart video read var vid2 = new cv.VideoCapture(path.join(__dirname, 'files', 'motion.mov')); var filename2 = './tmp/output-async-'+new Date().getTime()+'.avi'; var writer2 = null; var x = 0; // do the same write async var iter = function () { vid2.read(function (err, m2) { if (writer2 === null) writer2 = new cv.VideoWriter(filename2, 'DIVX', vid2.getFPS(), m2.size(), true); x++; writer2.write(m2, function(err){ if (x < 100) { iter(); } else { vid2.release(); writer2.release(); } }); m2.release(); delete m2; }); }; // kick it off iter();