lq1405 82ec437b5d v 3.4.2
1. 新增 图/文转视频 菜单界面,专注实现图/文转视频(目前只集成了 MJ VIDEO)
  1. 全新的界面排列,小说列表和批次任务更加分明
  2. 添加转视频进度,在主界面即可看到转视频的比例
  3. 单独的界面去处理图转视频,避免表格数据过多繁琐
  4. 新增分页显示,界面加载更快,也可切换不分页,需要更多的事件等待加载
  5. 单独操作面板,参数修改处理更加清晰,支持多种模式显示,右侧固定或抽屉模式
  6. 批量设置转视频配置,可以批量修改分类
  7. 友好的选择视频界面
2. 重写 软件导出剪映,修复若干草稿导出问题
  1. 修复导出剪映文案和图片对齐会有些许对不上,时长越长越明显
  2. 修复导出草稿关键帧部分问题
  3. 导出的文案通过分镜自动导入,不再需要手动选择SRT
3. 美化 生成草稿界面 弹窗,优化部分逻辑
  1. 删除选择SRT文件,SRT根据聚合推文中导入的SRT自动生成草稿
  2. 只需选择配音文件即可,配音文件和导入的SRT请自行对应
  3. 背景音乐不在内部设置,自行选择文件夹或者是MP3、WAV文件
  4. 背景音乐选择文件夹则读取文件夹,随机获取一个
  5. 背景音乐选择指定的音乐文件则使用选择的
2025-08-09 18:46:07 +08:00

138 lines
4.1 KiB
Python
Raw Permalink 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 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: <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)
# 反推提示词指定项目下面的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] == "-df":
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