def METHOD_NAME(self, video_path, output_path):
    output_image_paths = []
    video_id = os.path.split(video_path)[-1]
    # Read video
    import cv2
    orig_capture = cv2.VideoCapture(video_path)
    # Select only self.num_frames_per_video uniform frames
    n_frames = int(orig_capture.get(cv2.CAP_PROP_FRAME_COUNT))
    frames_idx = np.linspace(
        0, n_frames, self.num_frames_per_video, endpoint=False, dtype=np.int
    )
    # Loop through all frames
    for frame_num in range(n_frames):
        ret = orig_capture.grab()
        if not ret:
            continue
        # Retrieve only required frames
        if frame_num in frames_idx:
            ret, frame_orig = orig_capture.retrieve()
            if ret:
                # Save the whole video frame to the image
                # img_path = os.path.join(output_path, f"{video_id}_frame_{frame_num}.png")
                # cv2.imwrite(frame_orig, img_path)
                # output_image_paths.append(os.path.split(img_path)[-1])
                # Skip the next part if want to save the whole frame only
                frame_orig = cv2.cvtColor(frame_orig, cv2.COLOR_BGR2RGB)
                # Detect all faces
                faces, _ = self.face_detection_model.detect(frame_orig)
                if faces is None:
                    return []
                # For each detected face
                for face_id, box in enumerate(faces):
                    # Get face coordinates
                    c0_start, c0_end, c1_start, c1_end = self.get_face_coordinates(
                        frame_orig, box
                    )
                    # Crop face
                    face_full = frame_orig[c0_start:c0_end, c1_start:c1_end]
                    # Save face to the file
                    img_path = os.path.join(
                        output_path,
                        f"{video_id}_frame_{frame_num}_face_{face_id}.png",
                    )
                    # Return BGR before saving
                    face_full = cv2.cvtColor(face_full, cv2.COLOR_RGB2BGR)
                    cv2.imwrite(img_path, face_full)
                    output_image_paths.append(os.path.split(img_path)[-1])
    return output_image_paths