Files
BiliNote/backend/app/utils/video_helper.py
Jefferyhcool 0e0b8da317 first commit
2025-04-13 17:44:54 +08:00

27 lines
670 B
Python

import subprocess
import os
import uuid
def generate_screenshot(video_path: str, output_dir: str, timestamp: int, index: int) -> str:
"""
使用 ffmpeg 生成截图,返回生成图片路径
"""
os.makedirs(output_dir, exist_ok=True)
ids=str(uuid.uuid4())
output_path = os.path.join(output_dir, f"screenshot_{str(index)+ids}.jpg")
command = [
"ffmpeg",
"-ss", str(timestamp),
"-i", video_path,
"-frames:v", "1",
"-q:v", "2", # 图像质量
output_path,
"-y" # 覆盖
]
subprocess.run(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
return output_path