import openai from pytube import YouTube import argparse import os import io parser = argparse.ArgumentParser() parser.add_argument("--link", help="youtube video link here", default=None, type=str, required=False) parser.add_argument("--local_path", help="local video path here", default=None, type=str, required=False) parser.add_argument("--download", help="download path", default='./downloads', type=str, required=False) parser.add_argument("--result", help="translate result path", default='./results', type=str, required=False) parser.add_argument("--video_name", help="video name", default='placeholder', type=str, required=False) args = parser.parse_args() if args.link is None and args.local_path is None: print("need video source") exit() # openai.api_key = "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" openai.api_key = os.getenv("OPENAI_API_KEY") DOWNLOAD_PATH = args.download RESULT_PATH = args.result VIDEO_NAME = args.video_name n_threshold = 5000 model_name = "text-davinci-003" # replace this to our own fintune model # get source audio if args.link is not None: # Download audio from YouTube video_link = args.link try: video = YouTube(video_link) audio = video.streams.filter(only_audio=True, file_extension='mp4').first() audio.download(DOWNLOAD_PATH) print('Download Completed!') except: print("Connection Error") audio_file = open('{}/{}'.format(DOWNLOAD_PATH, audio.default_filename), "rb") VIDEO_NAME = audio.default_filename.split('.')[0] else: # Read from local audio_file= open(args.local_path, "rb") # perform speech-to-text and save it in