94 lines
2.6 KiB
Python
Raw Normal View History

2024-05-15 12:57:15 +08:00
# -*- coding: utf-8 -*-
import io
import json
import os
import sys
import clip
import getgrame
import Push_back_Prompt
import public_tools
import shotSplit
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
2024-06-01 15:08:22 +08:00
# 判断sys.argv 的长度如果小于2说明没有传入参数设置初始参数
if len(sys.argv) < 2:
sys.argv = [
"C:\\Users\\27698\\Desktop\\LAITool\\resources\\scripts\\Lai.exe",
2024-06-24 13:11:19 +08:00
"-ka",
"C:\\Users\\27698\\Desktop\\测试\\123\\测试用 不删.mp4",
2024-06-27 16:24:41 +08:00
"C:\\Users\\27698\\Desktop\\测试\\123\\测试用 不删.json",
30,
2024-06-01 15:08:22 +08:00
]
2024-05-15 12:57:15 +08:00
print(sys.argv)
if len(sys.argv) < 2:
print("Params: <runtime-config.json>")
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路径替换这个
2024-06-27 16:24:41 +08:00
ffmpeg_path = os.path.join(cript_directory, "../package/ffmpeg/win")
2024-05-15 12:57:15 +08:00
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":
2024-06-01 15:08:22 +08:00
clip = clip.Clip(cript_directory, sys.argv[2], sys.argv[3])
2024-05-15 12:57:15 +08:00
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)
# 反推提示词
elif sys.argv[1] == "-p":
Push_back_Prompt.init(sys.argv[2], sys.argv[3], sys.argv[4])
pass
# 剪映抽帧
elif sys.argv[1] == "-k":
# print("")
getgrame.init(sys.argv[2], sys.argv[3], sys.argv[4])
pass
2024-06-24 13:11:19 +08:00
elif sys.argv[1] == "-ka":
shotSplit.get_fram(sys.argv[2], sys.argv[3], sys.argv[4])
pass
2024-05-15 12:57:15 +08:00
# 智能分镜。字幕识别
elif sys.argv[1] == "-a":
print("开始算法分镜:" + sys.argv[2] + " -- 输出文件夹:" + sys.argv[3])
2024-06-01 15:08:22 +08:00
shotSplit.init(sys.argv[2], sys.argv[3], sys.argv[4], sys.argv[5], sys.argv[6])