Preview webcam pendant capture DSLR (pas de freeze entre les poses)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,6 +5,8 @@ import logging
|
||||
from pathlib import Path
|
||||
from contextlib import asynccontextmanager
|
||||
|
||||
import cv2
|
||||
|
||||
from fastapi import FastAPI, WebSocket, WebSocketDisconnect, UploadFile, File
|
||||
from fastapi.responses import FileResponse, JSONResponse
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
@@ -506,6 +508,14 @@ async def traiter_message_ws(msg: dict, ws: WebSocket):
|
||||
if type_msg == "ping":
|
||||
await ws.send_json({"type": "pong"})
|
||||
elif type_msg == "preview":
|
||||
# Pendant une capture DSLR, utiliser directement la webcam fallback
|
||||
donnees = None
|
||||
if capture_en_cours and camera._preview_webcam_fallback:
|
||||
ret, frame = camera._preview_webcam_fallback.read()
|
||||
if ret:
|
||||
_, buf = cv2.imencode(".jpg", frame, [cv2.IMWRITE_JPEG_QUALITY, 70])
|
||||
donnees = buf.tobytes()
|
||||
else:
|
||||
donnees = camera.preview()
|
||||
if donnees:
|
||||
b64 = base64.b64encode(donnees).decode("ascii")
|
||||
|
||||
Reference in New Issue
Block a user