| | from pytubefix import YouTube |
| | import subprocess |
| | import os |
| |
|
| |
|
| | def get_ytdata(link): |
| | return YouTube(link) |
| |
|
| |
|
| | def get_ytmetas(link): |
| | yt = YouTube(link) |
| | return yt.thumbnail_url, yt.title, yt.description |
| |
|
| |
|
| | def get_ytaudio(ytdata: YouTube): |
| | |
| | |
| |
|
| | audio_path = ytdata.streams.get_audio_only().download(filename=os.path.join("modules", "yt_tmp.wav")) |
| | temp_audio_path = os.path.join("modules", "yt_tmp_fixed.wav") |
| |
|
| | try: |
| | subprocess.run([ |
| | 'ffmpeg', '-y', |
| | '-i', audio_path, |
| | temp_audio_path |
| | ], check=True) |
| |
|
| | os.replace(temp_audio_path, audio_path) |
| | return audio_path |
| | except subprocess.CalledProcessError as e: |
| | print(f"Error during ffmpeg conversion: {e}") |
| | return None |
| |
|