Cache thumbnails

This commit is contained in:
2023-03-01 21:03:54 +01:00
parent e41ea74d6d
commit fd52dee435
4 changed files with 9 additions and 1 deletions

View File

@@ -9,6 +9,7 @@ import subprocess
from fastapi import APIRouter, Depends, FastAPI, File, UploadFile, status
from fastapi.responses import FileResponse
from fastapi_jwt_auth import AuthJWT
from joblib import Memory
from pydantic import BaseModel
from sqlalchemy.ext.asyncio import AsyncSession
from starlette.responses import StreamingResponse
@@ -21,7 +22,11 @@ from src.models.sign import Sign
from src.models.signvideo import SignVideo, SignVideoOut
from src.utils.cryptography import verify_password
# Create a Memory object that caches data to the specified directory
cache_dir = settings.CACHE_PATH
memory = Memory(location=cache_dir, verbose=0)
@memory.cache
def extract_thumbnail(video_path):
proc = subprocess.run(["ffmpeg", "-i", video_path, "-ss", "00:00:02.000", "-vframes", "1", "-f", "image2pipe", "-"], stdout=subprocess.PIPE)
byte_data = proc.stdout

View File

@@ -19,6 +19,7 @@ DB_SQLITE_PATH: str = os.getenv("DB_SQLITE_PATH", "./sqlite.db")
"""Storage"""
DATA_PATH: str = os.getenv("DATA_PATH", "data")
CACHE_PATH: str = os.getenv("CACHE_PATH", "cache")
"""Authentication"""