diff --git a/app/api/deepfake_detection.py b/app/api/deepfake_detection.py index 7b79ef9e4fbf429055bc973446b10515f4c3675e..65c3b86ad4bb52c0c96b0157f7be5bcda98bf166 100644 --- a/app/api/deepfake_detection.py +++ b/app/api/deepfake_detection.py @@ -91,12 +91,19 @@ def run_detection(video_entity, face_detector, deepfake_detection_model): shape = mask_frames[0].shape mask_video_path = str(file_utils.VIDEO_FOLDER / f'{video_entity.video_name[:-4]}_mask.mp4') - # fourcc = cv2.VideoWriter_fourcc(*'H264') - fourcc = 0x00000021 - video_tracked = cv2.VideoWriter(mask_video_path, fourcc, FPS, (shape[1], shape[0])) - for frame in mask_frames: - video_tracked.write(cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)) - video_tracked.release() + fourcc = cv2.VideoWriter_fourcc(*'avc1') + # fourcc = *'avc1' + try: + video_tracked = cv2.VideoWriter(mask_video_path, fourcc, FPS, (shape[1], shape[0])) + for frame in mask_frames: + video_tracked.write(cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)) + video_tracked.release() + except Exception as e: + LOG.info(e) + session.execute( + update(DeepfakeVideo).where(DeepfakeVideo.id == video_entity.id).values(status=0, progress=0) + ) + session.commit() @bp.route('/deepfake/detection/', methods=['GET'])