Ascii video output from your webcam in your terminal.
Find a file
2026-06-01 23:21:32 +05:30
assets Add edgedetection with color output gif and update readme 2026-05-30 21:19:15 +05:30
C Add unit tests verifying plugin dimension overflow and NULL buffer invariants 2026-06-01 23:21:32 +05:30
Cpp Update README and organise file structure 2026-05-15 01:27:35 +05:30
tests Add unit tests verifying plugin dimension overflow and NULL buffer invariants 2026-06-01 23:21:32 +05:30
.gitignore Add features: Brightness control, inverse colors, Dithering effect, and ANSII colors support. 2026-05-19 17:28:19 +05:30
LICENCE Add PolyForm non-commerial LICENSE 2026-06-01 17:08:59 +05:30
README.md update readme.md 2026-06-01 21:16:29 +05:30

AsciiCam Version v1.0.0

Ascii video output from webcam in terminal.

Demo

Edge Detection and invert (brightness) threshold change

Build and Run

git clone https://github.com/Harshit-Dhanwalkar/AsciiCam.git
cd AsciiCam/C/
make

cd build/
./webcam_ascii --help

Run with all or selected plugins (currently 3)

./build/webcam_ascii -p build/invert.so -p build/threshold.so -p build/edge_detect.so

TODO

  • Adjust width and height of capturing frame.

  • A producer/consumer thread splitting.

  • Custom ASCII charset via config file

  • Brightness/contrast adjustment.

  • Reverse video - Invert brightness \rightarrow charset mapping

  • Color output - Extract U/V channels, map to ANSI/RGB codes

  • Add feature to record and save it in popular video formats like .mp4, .mov and .gif.

  • Dithering effect.

  • Sobel edge detection (kernel convolution). Algorithm reference: https://homepages.inf.ed.ac.uk/rbf/HIPR2/sobel.htm

  • SIMD for YUYV to grayscale coversion.

  • Hot-reloading plugin system

  • Analyzing frames for what changed (inter-frame compression)

  • Temporal Compression

  • Lookup Table (LUT) Cache Optimization

  • Migrate from C to Cpp after, I consider, I have done enough optimisation in C.


Project is under PolyForm Noncommercial License BY-NC LICENCE

For commercial use, please contact me at harshitpd1729@gmail.com to purchase a commercial license."