summaryrefslogtreecommitdiff
path: root/server.js
diff options
context:
space:
mode:
authorChristian Franke <nobody@nowhere.ws>2014-01-21 02:55:00 +0100
committerChristian Franke <nobody@nowhere.ws>2014-01-21 02:55:00 +0100
commit2f6e8a407e3b0e17d3f50f0d28ec08cea26778d9 (patch)
treee8bb936efdc64f840647ac71825b95a95b3e8ca8 /server.js
Initial commit
Diffstat (limited to 'server.js')
-rw-r--r--server.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/server.js b/server.js
new file mode 100644
index 0000000..c887b1f
--- /dev/null
+++ b/server.js
@@ -0,0 +1,39 @@
+var express = require('express');
+var fs = require('fs');
+var MjpegProxy = require('mjpeg-proxy').MjpegProxy;
+
+var app = express();
+
+var cameras = [
+ {
+ url: 'http://admin:123456@192.168.0.117/videostream.cgi?rate=1'
+ },
+ {
+ url: 'http://admin:123456@192.168.0.178/videostream.cgi?rate=1'
+ }
+];
+
+var still_frames = [
+ fs.readFileSync(__dirname + '/noise.jpg'),
+ fs.readFileSync(__dirname + '/noise2.jpg'),
+];
+
+for (var camera_idx in cameras) {
+ var camera = cameras[camera_idx];
+ camera.proxy = new MjpegProxy(camera.url, still_frames)
+ app.get('/cam/' + camera_idx + '/stream.mjpeg', camera.proxy.proxyRequest);
+ app.use('/cam/' + camera_idx + '/browse',
+ express.static(__dirname + '/cam_public'));
+}
+
+app.get('/blackout', function(req, res) {
+ for (var camera_idx in cameras) {
+ var camera = cameras[camera_idx];
+
+ camera.proxy.on_air = !camera.proxy.on_air;
+ }
+ res.send('OK');
+});
+
+
+app.listen(8080);