- Add VideoCapture with CameraX for MP4 recording via POST /record - Add GET /captures to list all media with sidecar status - Add GET /sidecar/<filename> for JSON sidecar downloads - Add GET /video/last and /video/<filename> endpoints - New Rust TUI dashboard for WiFi auto-sync to ~/timi/capture - Fix duplicate tvQr id in activity_main.xml - Update api_spec.yaml, AGENTS.md, scicam_api_test.sh
1.7 KiB
1.7 KiB
SciCam Logger Changelog
[1.1.0] — 2025-04-25
Added
- Video recording support —
POST /recordtoggles MP4 recording with CameraXVideoCapture<Recorder> GET /captures— Lists all images and videos on device with sidecar status via MediaStore queryGET /sidecar/<filename>— Downloads JSON sidecar for any capture (images or videos)GET /video/<filename>andGET /video/last— Download specific or most recent MP4GET /photo/<filename>endpoint parity improved with consistent filename handling- Dashboard auto-sync — New Rust TUI (
dashboard/) monitors multiple SciCam devices over WiFi and one-way mirrors.jpg,.mp4, and.jsonsidecars to~/timi/capture - Dashboard controls:
r/Rrefresh,s/Ssync,wwatch SSE events,aadd device,ddelete
Fixed
- Removed duplicate
tvQrid inactivity_main.xml(lint fatal)
Architecture
MainActivity.ktnow bindsVideoCapturealongsideImageCapturein CameraX lifecycleSciCamApiServer.ktextendedApiListenerwithgetVideo(),getSidecar(),getCaptures(),record()MetadataLogger.ktreused for video sidecars (EXIF fields null for video)app/build.gradleaddsandroidx.camera:camera-videodependency and release signing config
[1.0.0] — 2025-04-25
Features
- Photo capture with CameraX MediaStore storage (
Pictures/SciCam) - JSON sidecar generation with EXIF +
camera_settings(Documents/SciCam) - NanoHTTPD REST API on port 8080
- QR auto-capture via BoofCV in-preview detection
- SSE
/eventsstream for live capture notifications - Go CLI client (
clients/go-scicam) + vanilla JS web client (clients/web-scicam)