starting to work on the webpage

main
Steffen Pohle 2 months ago
parent 07e4e01c94
commit 1c768aaa0d

@ -74,7 +74,7 @@ static void *thread_video(void *ignored_argument) {
}
Lock();
inputimage.CopyTo(&currentimage, config.web_width, config.web_height);
if (inputfloatfilter.AddScaledImage(&inputfloat, 0.5, 0.5) == 0)
if (inputfloatfilter.AddScaledImage(&inputfloat, 0.6, 0.4) == 0)
inputfloat.CopyTo(&inputfloatfilter);
inputfloatfilter.CopyTo(&currentimagefloat);
UnLock();
@ -184,6 +184,15 @@ static void sig_int(int sig) {
printf ("\n\nSignal Int\n\n");
running = 0;
}
};
int isfile(std::string fname) {
struct stat st;
if (stat (fname.c_str(), &st) == -1) return 0;
if ((st.st_mode & S_IFMT) == S_IFREG) return 1;
return 0;
};

@ -25,6 +25,7 @@ class WebCamServer : public WebServer {
void ErrorExit(std::string text, int errorcode);
int Lock();
int UnLock();
int isfile(std::string fname);
extern VideoFrame inputimage;
extern VideoFrame currentimage;

@ -5,8 +5,7 @@
#include "UDPTCPNetwork.h"
#include "inmemorytar.h"
std::string GenerateHtmlFile();
InMemoryFile GenerateJpgFile(VideoFrame *vf);
// InMemoryFile GenerateJpgFile(VideoFrame *vf);
InMemoryTar assets;
int WebCamServer::HandleRequest (WebRequestBuffer *requestbuffer, WebServerClient *webclient) {
@ -35,18 +34,15 @@ int WebCamServer::HandleRequest (WebRequestBuffer *requestbuffer, WebServerClien
(void*) jpgfile.mem,
jpgfile.memsize) != 1) return 0;
}
else if (isfile("www"+request)) {
if (webclient->SendResponseFile(requestbuffer, request, "") != 1) return 0;
}
else if (assets.FindFile("www"+request, &imf_do_not_free)) {
if (imf_do_not_free == NULL) return 0;
if (webclient->SendResponseFileFromMemory(requestbuffer, request, "",
(void*) imf_do_not_free->mem,
imf_do_not_free->memsize) != 1) return 0;
}
else if (request.find("/index.html") != std::string::npos) {
std::string htmlfile = GenerateHtmlFile();
if (webclient->SendResponseFileFromMemory(requestbuffer, request, "",
(void*) htmlfile.c_str(),
strlen(htmlfile.c_str())) != 1) return 0;
}
else {
return 0;
}
@ -55,11 +51,3 @@ int WebCamServer::HandleRequest (WebRequestBuffer *requestbuffer, WebServerClien
return 1;
};
std::string GenerateHtmlFile() {
std::string res;
res = "<html><head><title>MiniWebCam</title></head><body>ERROR";
res += "</body></html>";
return res;
};

@ -0,0 +1,4 @@
body {
background-color: #444;
color: #BBB;
}

@ -1,24 +1,38 @@
<html>
<head>
<title>MiniWebCam</title>
<script src="jquery-3.1.0.min.js"></script>
<link rel="stylesheet" href="default.css">
</head>
<body>
<img id="myimage1" src="snapshot.jpg"></img>
<div class="toggle">
<label>Filter Processing<input id="floatimage" type="checkbox"><span class="slider"></span></label>
</div>
<br>
<img id="myimage2" src="snapshot-float.jpg"></img>
<div class="webcamimage">
<img id="webcamimage" src="snapshot.jpg"></img>
</div>
<br>
<table id="controls"></table>
</body>
<script>
function reloadImage() {
const img1 = document.getElementById('myimage1');
let src1 = img1.src.split('?')[0];
const img1 = document.getElementById('webcamimage');
const filterimage1 = document.getElementById('floatimage');
let src1 = "snapshot.jpg";
if (filterimage1.checked) src1 = "snapshot-float.jpg";
src1 = src1 + '?' + new Date().getTime();
img1.src = src1;
const img2 = document.getElementById('myimage2');
let src2 = img2.src.split('?')[0];
src2 = src2 + '?' + new Date().getTime();
img2.src = src2;
}
setInterval(reloadImage, 250);

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save