microservices/root/video-shuffle.js

22 lines
689 B
JavaScript

var getVideoLength = require("video-length");
var fs = require("fs");
var currentVideo;
module.exports = function (req, res) {
if (currentVideo) {
res.redirect(`videos/${currentVideo}`);
} else {
console.debug("v new");
var videos = fs.readdirSync(__dirname+"/videos/");
currentVideo = videos[Math.floor(Math.random() * videos.length)];
res.redirect(`videos/${currentVideo}`);
getVideoLength(__dirname+"/videos/"+currentVideo, {bin: "/usr/bin/mediainfo"}).then(length => {
console.debug("v len", length);
setTimeout(() => {
currentVideo = undefined;
console.debug("v reset");
}, (length - 5) * 1000);
}).catch(error => console.error(error.message));
}
}