import os import ffmpeg DEBUG=True def get_audio_from_video(video_path: str, output_folder: str) -> str: """ Extract audio from video and save it as mp3. Args: video_path (str): Path to the video file output_folder (str): Path to folder where audio will be saved Returns: str: Path to the saved audio file Raises: Exception: If video file doesn't exist Exception: If there's an error extracting the audio """ # Validate video exists if not os.path.exists(video_path): raise Exception(f"Video file not found: {video_path}") # Create output folder if it doesn't exist if not os.path.exists(output_folder): os.makedirs(output_folder) try: # Generate output path audio_filename = "download_audio.mp3" audio_path = os.path.join(output_folder, audio_filename) if DEBUG: if os.path.exists(audio_path): return audio_path # Extract audio using ffmpeg stream = ffmpeg.input(video_path) stream = ffmpeg.output(stream, audio_path, acodec='libmp3lame') ffmpeg.run(stream, overwrite_output=True) return audio_path except Exception as e: raise Exception(f"Error extracting audio from video: {str(e)}")