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
This commit is contained in:
jetson committed 2026-09-21 11:07:42 +07:00
1 parent 42c80fd0fc
commit f9e411f407
7 files changed
+369 -37

No files matched your search

+1
View File
@@ -35,5 +35,6 @@
</div>
</footer>
{% block scripts %}{% endblock %}
<script src="https://cdn.socket.io/4.7.5/socket.io.min.js"></script>
</body>
</html>