From 2f6e8a407e3b0e17d3f50f0d28ec08cea26778d9 Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Tue, 21 Jan 2014 02:55:00 +0100 Subject: [PATCH] Initial commit --- cam_public/index.html | 2 ++ noise.jpg | Bin 0 -> 23666 bytes noise2.jpg | Bin 0 -> 23653 bytes server.js | 39 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 41 insertions(+) create mode 100644 cam_public/index.html create mode 100644 noise.jpg create mode 100644 noise2.jpg create mode 100644 server.js diff --git a/cam_public/index.html b/cam_public/index.html new file mode 100644 index 0000000..8bdde6e --- /dev/null +++ b/cam_public/index.html @@ -0,0 +1,2 @@ +

Hello, World!

+ diff --git a/noise.jpg b/noise.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d657b3a43d0fc4b0ef1ae7eb33c1f2d5e0d088a0 GIT binary patch literal 23666 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 DlH*hw literal 0 HcmV?d00001 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);