import yt_dlp import os def download_and_convert_to_opus(url, output_filename): # Use yt-dlp to download the video with audio only ydl_opts = { 'format': 'bestaudio/best', 'outtmpl': '%(extractor)s-%(id)s.%(ext)s', # Save as a temporary file 'restrictfilenames': True, } with yt_dlp.YoutubeDL(ydl_opts) as ydl: info_dict = ydl.extract_info(url, download=True) temp_file = ydl.prepare_filename(info_dict) # Convert to OPUS using FFmpeg ffmpeg_command = [ 'ffmpeg', '-i', temp_file, '-c:a', 'libopus', '-b:a', '128k', output_filename ] os.system(' '.join(ffmpeg_command)) # Clean up the temporary file os.remove(temp_file) # Example usage: url = input("input video url: ") filename = input("filename for ripped audio: ") download_and_convert_to_opus(url, filename + ".opus")