jetson
|
a5566f3b99
|
feat: switch live preview from WebSocket to MJPEG streaming
- Pipeline writes JPEG to /tmp/feedmill_preview_{job_id}.jpg (atomic)
- Flask serves MJPEG stream at /api/preview/{job_id}
- Frontend uses native <img src> MJPEG — zero JS needed
- Removed flask-socketio, eventlet, socket.io CDN dependencies
- 33% less bandwidth per frame, native browser decode
- Same proven approach as original karung-counting project
|
2026-09-22 10:09:22 +07:00 |
|
jetson
|
f9e411f407
|
feat: 15+ FPS live preview via WebSocket push
- flask-socketio + threading mode (no eventlet monkey-patching)
- preview_queue in pipeline: downscale to 640p, JPEG encode, bounded queue
- encoder thread per job reads queue → SocketIO broadcast to room
- Frontend: SocketIO client replaces HTTP polling, handles preview_frame event
- Configurable: preview_every_n, preview_max_dim, preview_jpeg_quality
- 62/62 tests pass
|
2026-09-21 11:07:42 +07:00 |
|
jetson
|
93daa68668
|
fix: add explicit GPU memory cleanup between models to prevent OOM
|
2026-09-21 10:19:29 +07:00 |
|
jetson
|
f779f05190
|
feat: add video reuse — re-analyze previous uploads without re-uploading
|
2026-09-21 09:35:29 +07:00 |
|
jetson
|
dbd79ed442
|
feat: update Flask routes to use grouped models
|
2026-09-18 11:46:22 +07:00 |
|
jetson
|
7b19b5b41a
|
fix(ui): add dynamic aria-valuenow, refine focus-visible styles
|
2026-09-18 08:06:40 +07:00 |
|
jetson
|
1c54bb1a11
|
feat(ui): status page — progress bar, live preview, result cards, polling
|
2026-09-17 16:05:22 +07:00 |
|
jetson
|
dca6f6b335
|
feat(api): video preview endpoints — thumbnail, sample frames, live frame
|
2026-09-17 16:00:02 +07:00 |
|
jetson
|
2b54cc3353
|
fix: final review wave — CLI kwargs, class filter, job locks, upload order, tests
|
2026-09-16 15:14:44 +07:00 |
|
jetson
|
40e2dbe453
|
fix: secure upload/download paths, default filter, status enum compare, upload validation
|
2026-09-16 15:06:40 +07:00 |
|
jetson
|
eb77e5be8a
|
feat: Flask web UI on port 9000 with upload, job status, API endpoints
|
2026-09-16 15:04:49 +07:00 |
|