import cv2
import os

VIDEO_PATH = "recorded.webm"   # 입력 영상 파일
OUTPUT_DIR = "test1"          # 프레임 저장 폴더
IMAGE_FORMAT = "png"           # 'png', 'jpg' 등

os.makedirs(OUTPUT_DIR, exist_ok=True)

cap = cv2.VideoCapture(VIDEO_PATH)
if not cap.isOpened():
    print("비디오 파일을 열 수 없습니다:", VIDEO_PATH)
    exit(1)

fps = cap.get(cv2.CAP_PROP_FPS)
frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
print(f"[INFO] FPS: {fps}, 총 프레임 수: {frame_count}")

frame_idx = 0
saved_idx = 0

while True:
    ret, frame = cap.read()
    if not ret:
        break

    save_path = os.path.join(OUTPUT_DIR, f"frame_{saved_idx:06d}.{IMAGE_FORMAT}")
    cv2.imwrite(save_path, frame)
    print(f"[SAVE] {frame_idx:06d} -> {save_path}")

    frame_idx += 1
    saved_idx += 1

cap.release()
print(f"[DONE] 저장된 프레임 수: {saved_idx}")
print("폴더:", os.path.abspath(OUTPUT_DIR))
