| 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 |
|
|