99 lines
2.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- 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")
# 判断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",
"D:/来推项目集/7.4/娱乐:江湖大哥退休,去拍电影/scripts/output_crop_00001.json",
"NVIDIA",
]
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路径替换这个
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)
# 反推提示词
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
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