# -*- coding: utf-8 -*- import io import json import os import sys import clip import Push_back_Prompt import public_tools import shotSplit sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8") # 判断sys.argv 的长度,如果小于2,说明没有传入参数,设置初始参数 # "C:\\Users\\27698\\Desktop\\LAITool\\resources\\scripts\\Lai.exe" -c "D:/来推项目集/7.4/娱乐:江湖大哥退休,去拍电影/scripts/output_crop_00001.json" "NVIDIA" if len(sys.argv) < 2: sys.argv = [ "C:\\Users\\27698\\Desktop\\LAITool\\resources\\scripts\\Lai.exe", "-c", "C:/Users/27698/Desktop/LAITool/project/73bca563-fd8f-42e3-b08b-e4b2ecbd0d71/scripts/output_00008_video_config.json", "OTHER", ] # sys.argv = [ # "C:\\Users\\27698\\Desktop\\LAITool\\resources\\scripts\\Lai.exe", # "-p", # "C:/Users/27698/Desktop/LAITool/resources/config/sd_config.json", # "input", # "C:\\Users\\27698\\Desktop\\测试\\123", # ] # sys.argv = [ # "C:\\Users\\27698\\Desktop\\LAITool\\resources\\scripts\\Lai.exe", # "-pf", # "C:\\Users\\27698\\Desktop\\测试\\123\\tmp\\input_crop", # ] # sys.argv = [ # "C:\\Users\\27698\\Desktop\\LAITool\\resources\\scripts\\Lai.exe", # "-ps", # "C:\\Users\\27698\\Desktop\\测试\\123\\tmp\\input_crop\\00008.png", # ] # sys.argv = [ # "C:\\Users\\27698\\Desktop\\LAITool\\resources\\scripts\\Lai.exe", # "-pt", # "C:\\Users\\27698\\Desktop\\测试\\123\\tmp\\input_crop\\1.txt", # ] print(sys.argv) if len(sys.argv) < 2: print("Params: ") exit(0) if getattr(sys, "frozen", False): cript_directory = os.path.dirname(sys.executable) elif __file__: cript_directory = os.path.dirname(__file__) def set_ffmpeg_env(): # 根据你的ffmpeg路径替换这个 ffmpeg_path = os.path.join(cript_directory, "../package/ffmpeg/win") if sys.platform == "win32": ffmpeg_path = ffmpeg_path.replace("/", "\\") # 检查环境变量中是否已经设置 if "PATH" in os.environ: path_values = os.environ["PATH"] if ffmpeg_path not in path_values: os.environ["PATH"] += f";{ffmpeg_path}" else: os.environ["PATH"] = ffmpeg_path set_ffmpeg_env() # 执行剪辑的方法 if sys.argv[1] == "-c": clip = clip.Clip(cript_directory, sys.argv[2], sys.argv[3]) clip.MergeVideosAndClip() pass # 获取字体 elif sys.argv[1] == "-f": # 获取本地已安装的字幕。然后返回 public_tools = public_tools.PublicTools() font_list = public_tools.get_installed_fonts() font_obj_list = [] for font_name in font_list: obj = {"label": font_name, "value": font_name} font_obj_list.append(obj) with open(sys.argv[2], "r", encoding="utf-8") as file: data = json.load(file) data["font_name_list"] = font_obj_list with open(sys.argv[2], "w", encoding="utf-8") as file: json.dump(data, file, ensure_ascii=False, indent=4) # 反推提示词(指定项目下面的input_crop文件夹) elif sys.argv[1] == "-p": Push_back_Prompt.init(sys.argv[2], sys.argv[3], sys.argv[4]) pass # 反推指定的文件夹 elif sys.argv[1] == "-pf": Push_back_Prompt.getAssignDir(sys.argv[2]) pass # 反推指定的图片文件 elif sys.argv[1] == "-ps": Push_back_Prompt.getAssignImage(sys.argv[2]) pass # 反推指定的图片文件 elif sys.argv[1] == "-pt": Push_back_Prompt.getAssignTxt(sys.argv[2]) pass elif sys.argv[1] == "-ka": shotSplit.get_fram(sys.argv[2], sys.argv[3], sys.argv[4]) pass # # 智能分镜。字幕识别 # elif sys.argv[1] == "-a": # print("开始算法分镜:" + sys.argv[2] + " -- 输出文件夹:" + sys.argv[3]) # shotSplit.init(sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6]) # # 本地提取音频 # elif sys.argv[1] == "-t": # print("开始提取文字:" + sys.argv[2]) # shotSplit.GetTextTask(sys.argv[2], sys.argv[3], sys.argv[4]) # pass