def download_youtube_video()

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