from youtube_transcript_api import YouTubeTranscriptApi import pytube as py from deep_translator import GoogleTranslator as gt def Extract_Video_id(url): id=py.extract.video_id(url) return id def Video_To_Text(video_url,Language): try: video_id=Extract_Video_id(video_url) final_data=' ' i=0 Video_Data=YouTubeTranscriptApi.get_transcript(video_id) for data in Video_Data: final_data=final_data+' '+Video_Data[i].get("text") i=i+1 mode=" " conv_res=" " if(Language=="Urdu"): mode="urdu" translated_text=gt(source="auto",target=mode).translate(final_data) conv_res=translated_text elif(Language=="German"): mode="german" translated_text=gt(source="auto",target=mode).translate(final_data) conv_res=translated_text elif(Language=="Hindi"): mode="hindi" translated_text=gt(source="auto",target=mode).translate(final_data) conv_res=translated_text else: conv_res="No Translation selected" return final_data,conv_res except: return "Error Link in Problem Not Subtitle","Text to long to translate"