UNPKG

tenna

Version:

A node js application that lets you easily stream most videos from any PC/laptop in your home network, to other devices in the network with a browser.

66 lines (54 loc) 1.72 kB
"use strict"; var handbrake = require("handbrake-js"), dirExp = require("node-dir"), util = require('util'), path = require("path"), fs = require("fs"), Encoder = require(__dirname + '/../lib/encoder'), EventEmitter = require('events').EventEmitter, _ = require('lodash'); module.exports = function(app) { var // App level variables encoder = new Encoder(), PATHSEP = path.sep, events = new EventEmitter(); app.get("/encode/status/:filename", function(req, res, next) { if(!req.params.filename) { // Either video was finished encoding or never existed res.send(400); return; } var filename = req.params.filename; if(!encoder.encodeStates.hasOwnProperty(filename)) { res.send(404); } else { res.json(encoder.encodeStates[filename].progress) } }); app.get('/encode', function(req, res, next) { getProcessing(function(videoList) { res.render("encode",{"processing":videoList}); }); }); app.get('/get/processing', function(req, res, next) { getProcessing(function(videoList) { res.json(videoList) }); }); /* Get a list of the videos currently being encoded */ var getProcessing = function(cb) { var videoList = _.map(encoder.encodeStates, function (vid) { return { filename: path.basename(vid.input), name: vid.id }; }); return cb(videoList); }; return { getProcessing: getProcessing, events: events }; };