Skip to content

v1.6.1 - Smart Snapshot Proxy & Reduced Printer CPU

Choose a tag to compare

@github-actions github-actions released this 24 Feb 19:47
· 1 commit to main since this release

What's New

Smart Snapshot Proxy

  • /snapshot endpoint now acts as a caching proxy when the video stream is inactive
  • When the video stream is running, snapshots are served from cached keyframes (existing behavior)
  • When the video stream is disconnected or stale, ACProxyCam fetches directly from the printer's /snapshot endpoint with a 1-second cache — external clients (Mainsail, Fluidd, slicers) no longer need to hit the printer directly
  • HTTP keep-alive ensures efficient connection reuse to the printer (no reconnection overhead)
  • Maximum 1 request/sec to the printer regardless of how many clients request snapshots
  • Stale cached snapshots are served as fallback if the printer is temporarily unreachable

Reduced Printer CPU Overhead

  • MJPEG source connections now create TCP backpressure matching browser behavior
  • Previously, ACProxyCam's instant frame reads caused the printer's encoder to work ~60% harder than with a browser client (8-9% vs 5% CPU)
  • Small receive buffer (4KB) combined with 20ms pre-body frame pacing creates natural backpressure, allowing the encoder to skip redundant JPEG encodes
  • Printer encoder CPU now matches browser-level usage (~6%)

Installation

# Download for your architecture
wget https://github.com/mann1x/acproxycam/releases/download/v1.6.1/acproxycam-linux-arm64-v1.6.1.zip
unzip acproxycam-linux-arm64-v1.6.1.zip
chmod +x acproxycam

# Run with sudo for installation
sudo ./acproxycam

Docker

docker pull ghcr.io/mann1x/acproxycam:1.6.1
# or
docker pull mannixita/acproxycam:1.6.1

Checksums (SHA256)

4e287d84f1338db7d5535bef5d6b0114f0153e430fc3d5c7e3f86032971b62a5  acproxycam-linux-x64-v1.6.1.zip
7409a2d8bf0d247f7436c0004b00858dda7b661c5c68dd36975f4536a713523e  acproxycam-linux-arm64-v1.6.1.zip