import io from PIL import Image as PImage from moviepy.editor import VideoFileClip def asset_upload(instance, filename): return f'videos/{instance.id}/{filename}' def generate_thumbnail(video): clip = VideoFileClip(video.path) thumbnail_name = video.name.split('.')[0] thumbnail_name = f'{thumbnail_name}.jpg' clip.save_frame(thumbnail_name, t=1.00) thumbnail_name = thumbnail_name.split('/')[-1] return thumbnail_name def get_thumbnail_content(thumbnail_path): img = PImage.open(thumbnail_path) roi_img = img.crop() img_byte_arr = io.BytesIO() roi_img.save(img_byte_arr, format='JPEG') content = img_byte_arr.getvalue() return content