Spaces:
Sleeping
Sleeping
import glob | |
import yt_dlp | |
def youtube_to_audio(url, output_path, filename_template="youtube_video"): | |
ydl_opts = { | |
"outtmpl": f"{output_path}/{filename_template}", | |
"format": "m4a/bestaudio/best", | |
"postprocessors": [ | |
{ # Extract audio using ffmpeg | |
"key": "FFmpegExtractAudio", | |
"preferredcodec": "m4a", | |
} | |
], | |
} | |
with yt_dlp.YoutubeDL(ydl_opts) as ydl: | |
ydl.download([url]) | |
file_path = glob.glob(f"{output_path}/{filename_template}*")[0] | |
return file_path | |
def get_youtube_chapters(url): | |
video_chapters = [] | |
ydl_opts = {} | |
with yt_dlp.YoutubeDL(ydl_opts) as ydl: | |
info = ydl.extract_info(url, download=False) | |
if "chapters" in info and info["chapters"]: | |
video_chapters = info["chapters"] | |
return video_chapters | |