import cv2 import base64 import logging logger = logging.getLogger(__name__) def get_video_thumbnail_base64(video_path: str, time_sec: int = 1) -> str: try: cap = cv2.VideoCapture(video_path) cap.set(cv2.CAP_PROP_POS_MSEC, time_sec * 1000) success, frame = cap.read() cap.release() if not success: return "" _, buffer = cv2.imencode(".jpg", frame) return base64.b64encode(buffer).decode("utf-8") except Exception: logger.exception("Thumbnail extraction failed") return ""