From 92ccb6ca578767c76f6a75218e169331d365b01a Mon Sep 17 00:00:00 2001 From: root Date: Thu, 19 Sep 2013 23:53:34 +0200 Subject: [PATCH 1/3] fix job failed messages. handbrake changed the output --- app.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app.js b/app.js index d53b3d9..6d11ef1 100644 --- a/app.js +++ b/app.js @@ -171,7 +171,7 @@ YUI().use("json","substitute",function(Y){ if (p.charAt(0) !== '/') { cb('Relative path: ' + p); return; } var ps = path.normalize(p).split('/'); - path.exists(p, function (exists) { + fs.exists(p, function (exists) { if (exists) cb(null); else mkdirP(ps.slice(0,-1).join('/'), mode, function (err) { if (err && err.errno !== process.EEXIST){ @@ -208,7 +208,7 @@ YUI().use("json","substitute",function(Y){ job = config.jobs[config.currentJobID], h,m,s; - if(updateMsg.match("Rip done!")){ + if(updateMsg.match("Encode done!")){ job.complete = true; } From c04b8418362a516ac376273e149173e3e2b49f4b Mon Sep 17 00:00:00 2001 From: root Date: Fri, 20 Sep 2013 00:13:19 +0200 Subject: [PATCH 2/3] move config items to seperate config file --- app.js | 22 +++++----------------- config.js | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+), 17 deletions(-) create mode 100644 config.js diff --git a/app.js b/app.js index 6d11ef1..1ac6b12 100644 --- a/app.js +++ b/app.js @@ -11,6 +11,7 @@ var app = module.exports = express.createServer(), process.chdir(appPath); // Configuration +var HandbrakeServerConfig = require('./config'); app.configure(function(){ app.set('views', __dirname + '/views'); @@ -34,22 +35,9 @@ app.configure('production', function(){ // Routes YUI().use("json","substitute",function(Y){ - - var rootFolder = "/storage/Video", - outputFolder = "/storage/Video", - profiles = { - "high-profile":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1,1 -E copy:ac3,faac -B 160,160 -6 auto,dpl2 -R Auto,Auto -D 0.0,0.0 -f mp4 --detelecine --decomb --loose-anamorphic -m -x b-adapt=2:rc-lookahead=50", - "android-tablet":"-i {inputFile} -o {outputFile}.m4v -e x264 -q 20.0 -r 30 --pfr -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 1280 --loose-anamorphic -m", - "universal":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -X 720 --loose-anamorphic -m -x cabac=0:ref=2:me=umh:bframes=0:weightp=0:8x8dct=0:trellis=0:subme=6", - "ipod":"-i {inputFile} -o {outputFile}.mp4 -e x264 -b 700 -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -I -X 320 -m -x level=30:bframes=0:weightp=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:subme=6:8x8dct=0:trellis=0", - "iphone+ipod-touch":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1 -E faac -B 128 -6 dpl2 -R Auto -D 0.0 -f mp4 -X 480 -m -x cabac=0:ref=2:me=umh:bframes=0:weightp=0:subme=6:8x8dct=0:trellis=0", - "iphone-4":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -r 29.97 --pfr -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 960 --loose-anamorphic -m", - "ipad":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -r 29.97 --pfr -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 1024 --loose-anamorphic -m", - "apple-tv":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 960 --loose-anamorphic -m -x cabac=0:ref=2:me=umh:b-pyramid=none:b-adapt=2:weightb=0:trellis=0:weightp=0:vbv-maxrate=9500:vbv-bufsize=9500", - "apple-tv-2":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 1280 --loose-anamorphic -m", - "normal":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 --strict-anamorphic -m -x ref=2:bframes=2:subme=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0", - "classic":"-i {inputFile} -o {outputFile}.mp4 -b 1000 -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4" - }, + var rootFolder = HandbrakeServerConfig.main.rootFolder, + outputFolder = HandbrakeServerConfig.main.outputFolder, + profiles = HandbrakeServerConfig.profiles, handbrake, config = { jobs:{}, @@ -78,7 +66,7 @@ YUI().use("json","substitute",function(Y){ checkJobs(); if (!module.parent) { - app.listen(8181); + app.listen(HandbrakeServerConfig.main.listenPort); console.log("Express server listening on port %d", app.address().port); } }); diff --git a/config.js b/config.js new file mode 100644 index 0000000..3ab4861 --- /dev/null +++ b/config.js @@ -0,0 +1,23 @@ +var config = {} + +config.main = {}; + +config.main.rootFolder = "/storage/Video"; +config.main.outputFolder = "/storage/Video"; +config.main.listenPort = 8181; + +config.profiles = { + "high-profile":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1,1 -E copy:ac3,faac -B 160,160 -6 auto,dpl2 -R Auto,Auto -D 0.0,0.0 -f mp4 --detelecine --decomb --loose-anamorphic -m -x b-adapt=2:rc-lookahead=50", + "android-tablet":"-i {inputFile} -o {outputFile}.m4v -e x264 -q 20.0 -r 30 --pfr -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 1280 --loose-anamorphic -m", + "universal":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -X 720 --loose-anamorphic -m -x cabac=0:ref=2:me=umh:bframes=0:weightp=0:8x8dct=0:trellis=0:subme=6", + "ipod":"-i {inputFile} -o {outputFile}.mp4 -e x264 -b 700 -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -I -X 320 -m -x level=30:bframes=0:weightp=0:cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:no-fast-pskip=1:subme=6:8x8dct=0:trellis=0", + "iphone+ipod-touch":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1 -E faac -B 128 -6 dpl2 -R Auto -D 0.0 -f mp4 -X 480 -m -x cabac=0:ref=2:me=umh:bframes=0:weightp=0:subme=6:8x8dct=0:trellis=0", + "iphone-4":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -r 29.97 --pfr -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 960 --loose-anamorphic -m", + "ipad":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -r 29.97 --pfr -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 1024 --loose-anamorphic -m", + "apple-tv":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 960 --loose-anamorphic -m -x cabac=0:ref=2:me=umh:b-pyramid=none:b-adapt=2:weightb=0:trellis=0:weightp=0:vbv-maxrate=9500:vbv-bufsize=9500", + "apple-tv-2":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -4 -X 1280 --loose-anamorphic -m", + "normal":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 --strict-anamorphic -m -x ref=2:bframes=2:subme=6:mixed-refs=0:weightb=0:8x8dct=0:trellis=0", + "classic":"-i {inputFile} -o {outputFile}.mp4 -b 1000 -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4" + }; + +module.exports = config; From e0571ffd7726bf60f09a32efdd20c055ae9ca89f Mon Sep 17 00:00:00 2001 From: root Date: Fri, 20 Sep 2013 00:28:38 +0200 Subject: [PATCH 3/3] renamed config to fix a bug with yui3 --- config.js => HandbrakeServerConfig.js | 15 ++++++++------- app.js | 7 +++---- 2 files changed, 11 insertions(+), 11 deletions(-) rename config.js => HandbrakeServerConfig.js (86%) diff --git a/config.js b/HandbrakeServerConfig.js similarity index 86% rename from config.js rename to HandbrakeServerConfig.js index 3ab4861..b3f197a 100644 --- a/config.js +++ b/HandbrakeServerConfig.js @@ -1,12 +1,13 @@ -var config = {} +var HandbrakeServerConfig = {} -config.main = {}; +HandbrakeServerConfig.main = {}; -config.main.rootFolder = "/storage/Video"; -config.main.outputFolder = "/storage/Video"; -config.main.listenPort = 8181; +HandbrakeServerConfig.main.rootFolder = "/home/samba/video"; +HandbrakeServerConfig.main.outputFolder = "/home/samba/video/output"; +HandbrakeServerConfig.main.listenPort = 8181; +HandbrakeServerConfig.main.handbrakeExit = "Encode done!"; -config.profiles = { +HandbrakeServerConfig.profiles = { "high-profile":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1,1 -E copy:ac3,faac -B 160,160 -6 auto,dpl2 -R Auto,Auto -D 0.0,0.0 -f mp4 --detelecine --decomb --loose-anamorphic -m -x b-adapt=2:rc-lookahead=50", "android-tablet":"-i {inputFile} -o {outputFile}.m4v -e x264 -q 20.0 -r 30 --pfr -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4 -4 -X 1280 --loose-anamorphic -m", "universal":"-i {inputFile} -o {outputFile}.mp4 -e x264 -q 20.0 -a 1,1 -E faac,copy:ac3 -B 160,160 -6 dpl2,auto -R Auto,Auto -D 0.0,0.0 -f mp4 -X 720 --loose-anamorphic -m -x cabac=0:ref=2:me=umh:bframes=0:weightp=0:8x8dct=0:trellis=0:subme=6", @@ -20,4 +21,4 @@ config.profiles = { "classic":"-i {inputFile} -o {outputFile}.mp4 -b 1000 -a 1 -E faac -B 160 -6 dpl2 -R Auto -D 0.0 -f mp4" }; -module.exports = config; +module.exports = HandbrakeServerConfig; diff --git a/app.js b/app.js index 1ac6b12..77d43ff 100644 --- a/app.js +++ b/app.js @@ -11,8 +11,6 @@ var app = module.exports = express.createServer(), process.chdir(appPath); // Configuration -var HandbrakeServerConfig = require('./config'); - app.configure(function(){ app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); @@ -35,7 +33,8 @@ app.configure('production', function(){ // Routes YUI().use("json","substitute",function(Y){ - var rootFolder = HandbrakeServerConfig.main.rootFolder, + var HandbrakeServerConfig = require('./HandbrakeServerConfig'); + var rootFolder = HandbrakeServerConfig.main.rootFolder, outputFolder = HandbrakeServerConfig.main.outputFolder, profiles = HandbrakeServerConfig.profiles, handbrake, @@ -196,7 +195,7 @@ YUI().use("json","substitute",function(Y){ job = config.jobs[config.currentJobID], h,m,s; - if(updateMsg.match("Encode done!")){ + if(updateMsg.match(HandbrakeServerConfig.main.handbrakeExit)){ job.complete = true; }