summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorFlorian <stayawake@lavabit.com>2014-01-24 12:35:41 +0100
committerFlorian <stayawake@lavabit.com>2014-01-24 12:35:41 +0100
commit918591b770565a34b20a787946a6f64553447894 (patch)
treec2fe764d28f1b1e277a5bafaa5a24755112dae17 /js
initial commit
Diffstat (limited to 'js')
-rw-r--r--js/.main.js.swpbin0 -> 12288 bytes
-rw-r--r--js/cctv-control.js93
-rw-r--r--js/main.js100
-rw-r--r--js/main.js.bak55
4 files changed, 248 insertions, 0 deletions
diff --git a/js/.main.js.swp b/js/.main.js.swp
new file mode 100644
index 0000000..b3ba802
--- /dev/null
+++ b/js/.main.js.swp
Binary files differ
diff --git a/js/cctv-control.js b/js/cctv-control.js
new file mode 100644
index 0000000..09e978f
--- /dev/null
+++ b/js/cctv-control.js
@@ -0,0 +1,93 @@
+// Small lib to
+//
+//
+//
+//
+
+
+var cam = 0;
+var camHost = "172.22.80.56:8080";
+var controlHost = "172.22.80.56:8080";
+
+//create event which is triggered when DOM is ready
+window.onDomReady = initReady;
+
+//change from testbild to default cam when DOM is ready
+window.onDomReady(changeCam);
+
+function initReady(fn) {
+ if(document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", fn, false);
+ }
+}
+
+//change currently displayed camera to the one in cam variable
+function changeCam() {
+ var display = document.getElementById('screen');
+ if (cam <= 7 && cam >= 0) {
+ display.innerHTML = '<img src="http://' + camHost + '/cam/' + cam + '/stream.mjpeg" />';
+ }
+ else {
+ display.innerHTML = '<img src="img/testbild.png" />';
+ }
+}
+
+//send control command to currently selected camera
+function controlCam(direction) {
+ if (direction == "left" || direction == "right" || direction == "up" || direction == "down") {
+ var request = new XMLHttpRequest();
+ request.open("get", "http://" + controlHost + "/cam/" + cam + "/control/" + direction + "left", false);
+ request.send();
+ return false;
+ }
+
+
+function keyDown(event) {
+
+ switch(event.keyCode) {
+ case 49: // 1
+ cam = 0;
+ changeCam();
+ break;
+ case 50: // 2
+ cam = 1;
+ changeCam();
+ break;
+ case 51: // 3
+ cam = 2;
+ changeCam();
+ break;
+ case 52: // 4
+ cam = 3;
+ changeCam();
+ break;
+ case 53: // 5
+ cam = 4;
+ changeCam();
+ break;
+ case 54: // 6
+ cam = 5;
+ changeCam();
+ break;
+ case 55: // 7
+ cam = 6;
+ changeCam();
+ break;
+ case 56: // 8
+ cam = 7;
+ changeCam();
+ break;
+ case 37: // arrow left
+ controlCam("left");
+ break;
+ case 38: // arrow up
+ controlCam("up");
+ break;
+ case 39: // arrow right
+ controlCam("right");
+ break;
+ case 40: // arrow down
+ controlCam("down");
+ break;
+ }
+}
diff --git a/js/main.js b/js/main.js
new file mode 100644
index 0000000..b85fa89
--- /dev/null
+++ b/js/main.js
@@ -0,0 +1,100 @@
+// CCTV Control
+//
+// Author: Florian Raemisch
+// Email: olf@subsignal.org
+//
+// cctv-control is a webinterface to control and view
+// mjpeg encoded videos by cctv cameras which are
+// proxied by mjpegplexer. camera control is possible
+// with arrow-keys, if mjpegplexer is configured
+// properly.
+//
+// This Software is licensed under the GPL Version 3, 29 June 2007
+
+
+var cam = 0;
+var camHost = "172.22.80.56:8080";
+var controlHost = "172.22.80.56:8080";
+
+//create event which is triggered when DOM is ready
+window.onDomReady = initReady;
+
+//change from testbild to default cam when DOM is ready
+window.onDomReady(changeCam);
+
+function initReady(fn) {
+ if(document.addEventListener) {
+ document.addEventListener("DOMContentLoaded", fn, false);
+ }
+}
+
+//change currently displayed camera to the one in cam variable
+function changeCam() {
+ var display = document.getElementById('screen');
+ if (cam <= 7 && cam >= 0) {
+ display.innerHTML = '<img src="http://' + camHost + '/cam/' + cam + '/stream.mjpeg" />';
+ }
+ else {
+ display.innerHTML = '<img src="img/testbild.png" />';
+ }
+}
+
+//send control command to currently selected camera
+function controlCam(direction) {
+ if (direction == "left" || direction == "right" || direction == "up" || direction == "down") {
+ var request = new XMLHttpRequest();
+ request.open("get", "http://" + controlHost + "/cam/" + cam + "/control/" + direction + "left", false);
+ request.send();
+ return false;
+ }
+
+
+function keyDown(event) {
+
+ switch(event.keyCode) {
+ case 49: // 1
+ cam = 0;
+ changeCam();
+ break;
+ case 50: // 2
+ cam = 1;
+ changeCam();
+ break;
+ case 51: // 3
+ cam = 2;
+ changeCam();
+ break;
+ case 52: // 4
+ cam = 3;
+ changeCam();
+ break;
+ case 53: // 5
+ cam = 4;
+ changeCam();
+ break;
+ case 54: // 6
+ cam = 5;
+ changeCam();
+ break;
+ case 55: // 7
+ cam = 6;
+ changeCam();
+ break;
+ case 56: // 8
+ cam = 7;
+ changeCam();
+ break;
+ case 37: // arrow left
+ controlCam("left");
+ break;
+ case 38: // arrow up
+ controlCam("up");
+ break;
+ case 39: // arrow right
+ controlCam("right");
+ break;
+ case 40: // arrow down
+ controlCam("down");
+ break;
+ }
+}
diff --git a/js/main.js.bak b/js/main.js.bak
new file mode 100644
index 0000000..7a12dce
--- /dev/null
+++ b/js/main.js.bak
@@ -0,0 +1,55 @@
+var cam;
+
+function keyDown(event) {
+ if (event.keyCode == 49) {
+ var display = document.getElementById('screen');
+ cam = 0;
+ display.innerHTML = '<img src="http://172.22.80.56:8080/cam/0/stream.mjpeg" />'
+ }
+
+ if (event.keyCode == 50) {
+ var display = document.getElementById('screen');
+ cam = 1;
+ display.innerHTML = '<img src="http://172.22.80.56:8080/cam/1/stream.mjpeg" />'
+ }
+
+ if (event.keyCode == 51) {
+ var display = document.getElementById('screen');
+ cam = 2;
+ display.innerHTML = '<img src="http://172.22.80.56:8080/cam/2/stream.mjpeg" />'
+ }
+
+ if (event.keyCode == 52) {
+ var display = document.getElementById('screen');
+ display.innerHTML = '<img src="testbild-4.png" />'
+ }
+
+ if (event.keyCode == 37) {
+ var request = new XMLHttpRequest();
+ request.open("get", "http://172.22.80.56:8080/cam/" + cam + "/control/left", false);
+ request.send();
+ return false;
+ }
+
+ if (event.keyCode == 38) {
+ var request = new XMLHttpRequest();
+ request.open("get", "http://172.22.80.56:8080/cam/" + cam +"/control/up", false);
+ request.send();
+ return false;
+
+ }
+ if (event.keyCode == 39) {
+ var request = new XMLHttpRequest();
+ request.open("get", "http://172.22.80.56:8080/cam/" + cam +"/control/right", false);
+ request.send();
+ return false;
+ }
+ if (event.keyCode == 40) {
+ var request = new XMLHttpRequest();
+ request.open("get", "http://172.22.80.56:8080/cam/" + cam +"/control/down", false);
+ request.send();
+ return false;
+
+ }
+
+}