import time
import cv2
import os
import winsound

# Teste la Logitech avec DirectShow
cap = cv2.VideoCapture(1, cv2.CAP_DSHOW)

# Résolution simple d'abord
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)

if not cap.isOpened():
    print("Caméra non ouverte")
    exit()

output_dir = "captures 4"
os.makedirs(output_dir, exist_ok=True)

print("Caméra ouverte, appuie sur échape pour quitter.")

last_capture_time = time.time()
capture_interval = 5  # secondes
frame_count = 0

while True:
    ret, frame = cap.read()

    if not ret or frame is None:
        print("Impossible de lire l'image")
        break

    now = time.time()
    if now - last_capture_time >= capture_interval:
        timestamp = time.strftime("%Y%m%d_%H%M%S")
        filename = os.path.join(output_dir, f"capture_{timestamp}_{frame_count:03d}.jpg")
        cv2.imwrite(filename, frame)
        winsound.Beep(800, 120)
        print(f"Photo enregistrée : {filename}")
        frame_count += 1
        last_capture_time = now

    cv2.imshow("Camera", frame)

    if cv2.waitKey(30) == 27:
        break

cap.release()
cv2.destroyAllWindows()