2.0 KiB
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, scroll zoom, and fisheye dewarp 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)
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:
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
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
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.