File size: 566 Bytes
1924d43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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 ""