forked from weworkweplay/raspeye-web
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathqueueHandler.js
28 lines (25 loc) · 862 Bytes
/
queueHandler.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var fs = require('fs'),
child = require('child_process'),
spawn,
generateNextTimelapse;
generateNextTimelapse = function () {
fs.readdir('./queue/', function (err, files) {
if (!err && files.length > 0) {
var file = files[0],
timelapseName = file.slice(0, -4) + '.mp4',
src = __dirname + '/queue/' + file,
tmp = __dirname + '/timelapses/tmp/' + timelapseName,
dest = __dirname + '/timelapses/' + timelapseName;
child.exec('ffmpeg -r 30 -f concat -i ' + src + ' -c:v libx264 -r 30 -pix_fmt yuv420p ' + tmp + '; echo 0;', function (err, stdin, stdout) {
if (!err) {
fs.unlink(src);
fs.renameSync(tmp, dest);
generateNextTimelapse();
}
});
} else {
setTimeout(generateNextTimelapse, 1000);
}
});
};
generateNextTimelapse();