KLypse / app /services /audio_utils.py
DEVJHAWAR11
Deploy Klypse backend
54bef2f
raw
history blame contribute delete
612 Bytes
import yt_dlp
import os
def download_audio(video_url, output_dir="./data/audio"):
os.makedirs(output_dir, exist_ok=True)
ydl_opts = {
'format': 'bestaudio/best',
'outtmpl': f'{output_dir}/%(id)s.%(ext)s',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192',
}],
'quiet': True,
}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
info = ydl.extract_info(video_url, download=True)
audio_path = os.path.join(output_dir, f"{info['id']}.mp3")
return audio_path