Document Camera - USB Webcam Teaching Application
Overview
USB webcam-based document camera Windows desktop application for educators. A teaching tool with real-time video processing and hardware control capabilities.
Work Scope
- Electron.js desktop app (Vue.js 3 frontend)
- C++ native module development (hardware driver integration)
- Real-time video processing pipeline (FFmpeg, OpenCV, GLSL)
- USB webcam hardware control system
- OCR system integration
- Windows installer and auto-update


Key Features
USB Webcam Video Capture System
DirectShow API-based USB webcam video stream capture. C++ native module acquires frames via DirectShow → passes to JavaScript Buffer via node-addon-api → real-time rendering on HTML5 Canvas/WebGL. FFmpeg video recording and still image capture.


Real-time Image Processing (GLSL Shader)
GPU-accelerated real-time filter pipeline using GLSL shaders. Brightness/contrast/saturation adjustment, white balance correction, OpenCV image enhancement.



C++ Hardware Driver Integration (Electron IPC)
Developed hardware control module in C++ using DirectShow API (IAMCameraControl, IAMVideoProcAmp). Packaged as native module via node-addon-api, connected to JavaScript via Electron IPC bridge. Control zoom, focus, exposure, lighting from Vue.js UI.


OCR Document Recognition
Automatic document text recognition and editing. Copy recognition results to clipboard for use in teaching materials.


Electron Desktop App (Vue.js 3)
Integrated Vue.js 3 frontend with C++ native modules via Electron. Windows installer package and auto-update system.



Achievements
- Electron + C++ native module integration via IPC bridge
- Real-time GLSL shader image processing pipeline
- Intuitive UI/UX optimized for classroom use
- Video recording (FFmpeg), still capture, multi-resolution support
- Windows installer with auto-update system