import os import numpy as np from helpers import detect_faces_in_video from helpers import dense_sampling_from_extracted_frames from helpers import remove_audio def remove_audio_from_video(input_file): return remove_audio(input_file) def extract_face_from_video(video_path, output_dir): os.makedirs(output_dir, exist_ok=True) cropped_faces = detect_faces_in_video(video_path, output_dir) return cropped_faces def sample_frames_from_extracted_frames(output_dir_for_sampled_frames, output_dir_for_extracted_frames): os.makedirs(output_dir_for_sampled_frames, exist_ok=True) if not os.listdir(output_dir_for_extracted_frames): print("No extracted frames found in the folder.") raise ValueError("No extracted frames found in the folder.") sampled_frames = dense_sampling_from_extracted_frames(output_dir_for_extracted_frames, num_clips=6, frames_per_clip=5) for i, clip in enumerate(sampled_frames): clip_folder = os.path.join(output_dir_for_sampled_frames, f"clip_{i+1}") os.makedirs(clip_folder, exist_ok=True) for j, frame in enumerate(clip): np.save(os.path.join(clip_folder, f"frame_{j+1}.npy"), frame) return np.squeeze(sampled_frames)