The server operates in the REST architecture mode. The server can accept POST requests and respond with JSON objects.
The server is designed to collect images from cameras (devices) and forwards messages between devices to control the periphery via an HTTP 2 connection.
A detailed implementation of an external device based on "ESP32-CAM" is given in the example webcamdevice (С).
Library for convenient client work with the wcWebCamServer server via the JSON protocol is wcwebcamclient_lib (С/С++).
The example of a desktop application for external device controlling and viewing images is webcamclientviewer (Lazarus).
An example of an Android application for controlling external devices, chatting and streaming is wcwebcameracontrol (Java).
- Build it using the necessary development environment and libraries or download precompiled release.
- Do not forget to generate a certificate and key file for your localhost (put them in ./openssl folder).
- Command-line to start server: "wcwebcamserver {PORTNUM}" (PORTNUM - is a number of the listening port - 8080 for example)
Free Pascal (v3.2.0) + Lazarus (v2.0.10)
- SQLite
- OpenSSL (v1.1.0 or higher)
- Zlib
- CommonUtils - you can download lpk and sources here
- WCHTTPServer - you can download lpk and sources here
- SQLite - database engine
- OpenSSL - Cryptography and SSL/TLS Toolkit
- Zlib - Compression Library
- CommonUtils - lightweight lists, collections, seqs and hashes, helping classes for sqlite3 extension, gz compression, data streams - Copyright (c) 2018-2021, Ilya Medvedkov
- WCHTTPServer - Copyright (c) 2020-2021, Ilya Medvedkov