in rawdataset/ytdlps3/download_and_upload.py [0:0]
def download_youtube_video(video_id, output_path):
ydl_opts = {
'format': 'best',
'writesubtitles': True,
'subtitleslangs': ['en'],
'subtitlesformat': 'vtt',
'writeinfojson': True,
'skip_download': False,
'outtmpl': os.path.join(output_path, f'{video_id}.%(ext)s'),
}
with YoutubeDL(ydl_opts) as ydl:
info_dict = ydl.extract_info(video_id, download=True)
# Get the correct subtitle file path from the info_dict
subtitle_file_path = None
subtitles = info_dict.get('subtitles')
if subtitles and 'en' in subtitles:
subtitle_data = subtitles['en'][0] # Get the first English subtitle entry
subtitle_file_path = ydl.prepare_filename(info_dict).replace('.mp4', '.en.vtt')
return info_dict, subtitle_file_path