Files
peji e7dee4f5db Remove fisheye dewarp feature
Remove the per-camera fisheye dewarp tool: the WebGL dewarp module
(shaders, init/render/toggle, per-channel dewarpState), the Dewarp
button, its CSS, the dewarp branches interleaved into the shared
wheel/dblclick/mousedown/mousemove/mouseup handlers, and the WebGL
context cleanup in newSession(). Normal digital zoom/pan, drag-reorder,
magnifier, and expand are unaffected. Also drop the dewarp mention from
the README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 08:39:12 -04:00

53 lines
2.0 KiB
Markdown

# Alta Video Player (WebAVP)
WebAVP is a local player for Alta/Ava Security camera exports. It focuses on core review workflows: importing video exports, synchronizing multiple cameras on one timeline, zooming into footage, and validating export integrity.
The app can run in two modes:
## Core Features
- Drag/drop individual video and metadata files, folders, or ZIP archives
- Import unencrypted ZIPs through vendored JSZip
- Import AES-encrypted ZIP exports with an in-app password prompt
- Synchronize multiple camera segments on a shared timeline
- Scrub, zoom, pan, change playback speed, and frame-step footage
- Reorder, hide/show, expand, and manually lay out camera tiles
- Use region zoom and scroll zoom tools
- Verify signed exports offline and optionally confirm certificates with Alta's cloud verification endpoint
- Preserve sessions across refreshes with IndexedDB
## Standalone desktop app (Electron)
```bash
npm install
npm start
```
The Electron shell loads the existing UI through the custom `webavp://app/` protocol, so local assets are served from the packaged app instead of brittle `file://` paths. Certificate verification is bridged through Electron IPC (`window.webavpNative.verifyCertificateOnline`) and performed in the main process.
Packaging scripts are included:
```bash
npm run dist
```
`electron-builder` is configured for Linux AppImage/deb, macOS dmg, and Windows nsis. Cross-platform packaging still needs to be run on the target OS/build host.
## Web/Python mode
```bash
python3 app.py
# http://0.0.0.0:5152
```
The Python stdlib server serves `/`, `/static/*`, and `/api/verify-cert`. There are no Python package dependencies.
## Checks
```bash
npm run check
xvfb-run -a npm run smoke
```
`check` runs Electron main/preload syntax checks and `py_compile` for the Python server. `smoke` starts Electron, waits for `webavp://app/index.html` to finish loading, then exits automatically. On a desktop session, `npm run smoke` is enough; on headless Linux, use `xvfb-run -a npm run smoke`.