Файлы картинок и видео кладем в подпапку media
Запуск env FLASK_APP=app.py flask run
Запросы:
Файлы картинок и видео кладем в подпапку media
Запуск env FLASK_APP=app.py flask run
Запросы:
from io import BytesIO | |
import cv2 | |
from PIL import Image | |
from flask import Flask, send_file | |
app = Flask(__name__) | |
@app.route('/') | |
def get_thumbnail(): | |
name = request.args.get('name') | |
size = int(request.args.get('size', 200)) | |
image = Image.open(f'./media/{name}') | |
image.thumbnail((size, size), Image.LANCZOS) | |
buffer = BytesIO() | |
image.save(buffer, 'JPEG', quality=70) | |
buffer.seek(0) | |
return send_file(buffer, as_attachment=False, mimetype='image/jpg') | |
@app.route('/video') | |
def get_video_thumbnail(): | |
name = request.args.get('name') | |
size = int(request.args.get('size', 200)) | |
vidcap = cv2.VideoCapture(f'./media/{name}') | |
vidcap.set(cv2.CAP_PROP_POS_MSEC, 0) | |
success, images = vidcap.read() | |
images = cv2.cvtColor(images, cv2.COLOR_BGR2RGB) | |
image = Image.fromarray(images) | |
image.thumbnail((size, size), Image.LANCZOS) | |
buffer = BytesIO() | |
image.save(buffer, 'JPEG', quality=70) | |
buffer.seek(0) | |
return send_file(buffer, as_attachment=False, mimetype='image/jpg') |
opencv-python==4.1.1.26 | |
Pillow==6.2.1 | |
Flask==1.1.1 |