Closed aatmanvaidya closed 4 months ago
import os
import cv2
from contextlib import contextmanager
@contextmanager
def video_capture(fname):
video = cv2.VideoCapture(fname)
try:
yield video
finally:
video.release()
os.remove(fname)
def run(file):
fname = file["path"]
fsize = os.path.getsize(fname) / 1e6
print("original size: ", fsize)
if fsize > 10:
raise Exception("Video too large")
with video_capture(fname) as video:
vid_analyzer = VideoAnalyzer(video)
vid_analyzer.set_fsize(fsize)
doable, error_msg = vid_analyzer.check_constraints()
if not doable:
raise Exception("Unsupported Video. Cannot index video.")
return gendata(vid_analyzer)