Skip to content

Releases: Hommy-master/capcut-mate

[v8.0.71] ✨ 字幕关键词增强:独立字体、阴影与完整字体清单

Choose a tag to compare

@Hommy-master Hommy-master released this 06 Aug 02:04

改动说明:

🎉 本次更新聚焦 add_captions 关键词能力,让字幕高亮更可控、更好用。

🔤 关键词独立字体

  • 新增 keyword_font,可单独指定关键词字体
  • 取值规则与接口级 font 一致,支持展示名、枚举名与别名
  • 未填写时自动回退到整段字幕字体;解析失败时安全降级并记录日志
  • caption_infos 同步支持写入该字段

🌑 关键词局部阴影

  • 新增 keyword_has_shadow / keyword_shadow_info
  • 阴影仅作用于关键词范围,不另建字幕行
  • 未传详细参数时使用默认阴影;有效花字下仍会禁用关键词阴影

📚 字体文档补齐

  • 在 add_captions 中英文文档列出全部可用字体(798 种)
  • 所列名称均可直接作为 font / keyword_font 的值
  • 补充别名说明,并修正示例中的无效字体名

🛠️ 实现与兼容

  • 关键词样式仍在同一字幕内完成,颜色、字号、描边、字体、阴影可组合使用
  • 有关键词阴影时采用互不重叠样式分区,避免整段误加阴影
  • 导出时为未单独指定字体的分区补写整段字体,行为更稳定

📖 文档已同步更新中英文说明与完整参数示例,便于直接对接使用。

[v6.0.23] 合入main分支字体默认值相关改动

Choose a tag to compare

@Hommy-master Hommy-master released this 06 Aug 12:45

合入main分支字体默认值相关改动

[v6.0.22] 合入main分支的改动

Choose a tag to compare

@Hommy-master Hommy-master released this 06 Aug 03:33

合入main分支的改动

[v6.0.21] 合并main分支的改动

Choose a tag to compare

@Hommy-master Hommy-master released this 05 Aug 14:48

合并main分支的改动

Release v8.0.70

Choose a tag to compare

@Hommy-master Hommy-master released this 20 Jul 11:27

改动说明

🔧 草稿下载更可靠

  • 修复服务端草稿元信息与本地目录不一致,导致导出找不到草稿的问题
  • 下载完成后自动校正本地草稿元数据,减少误报与导出失败

🧭 下载失败原因可区分

  • 明确区分「资源不存在 / URL 不可用」与「网络抖动、重试耗尽」
  • 云渲染任务返回更清晰的失败说明,便于排查与重试决策

🖼️ 转场时长处理统一

  • 修复图片 / 视频接口中转场时长为空时触发的内部错误
  • 未指定时长时自动使用转场效果默认时长,行为更稳定

📦 客户端 CI 简化

  • 推送版本标签后直接打包桌面客户端,不再依赖变更检测才构建
  • 发布流程更简单,减少漏打安装包的情况

✅ 稳定性与可维护性

  • 补充相关单元测试,覆盖下载失败分类与关键路径
  • 优化关键报错文案,问题定位更快

💡 建议升级后优先验证:草稿下载、云渲染失败提示、含转场的图片/视频添加,以及打标签后的客户端自动打包。

[v6.0.20] 重新打包

Choose a tag to compare

@Hommy-master Hommy-master released this 20 Jul 05:47

重新打包

[v6.0.19] 合入main分支改动。

Choose a tag to compare

@Hommy-master Hommy-master released this 20 Jul 05:38

合入main分支改动。

Release v8.0.69

Choose a tag to compare

@Hommy-master Hommy-master released this 22 Jun 12:15

改动说明

概述

  • 本次聚焦 src/utils/draft_downloader.py,提升草稿下载稳定性与效率,重点修复远程素材(如阿里云 OSS 音频)因 URL 污染导致的假 404,并与 desktop-client 行为对齐。

网络请求

  • 新增统一 HTTP 请求头,补充浏览器 User-Agent,与 download.py、desktop-client 保持一致
  • 抽取 _http_get(),草稿文件列表、单文件、远程素材、execute_download 等下载均走同一入口
  • 修正可重试 HTTP 状态码:404 不再重试(对象不存在时重试无意义,避免无效等待)

草稿 JSON 下载优化

  • draft_content.json 与 draft_info.json 内容相同,不再重复下载 draft_info.json
  • 其余文件全部成功后,自动将 draft_content.json 复制为 draft_info.json
  • 路径重写与 URL 素材本地化仅在 draft_content.json 上执行一次,避免重复拉取远程素材

修复 OSS 远程素材 404

  • 根因:JSON 中 materials.*.path 可能含尾部空格、换行、零宽字符等不可见字符,OSS 按错误 object key 返回 404,浏览器因自动裁剪仍可访问
  • 新增 _normalize_http_url(),下载前自动清理首尾空白及 BOM、零宽字符
  • 若 URL 被修正,会输出 WARNING 日志,便于排查数据来源问题

代码结构

  • 新增路径解析、draft_info 判断、content→info 同步等辅助函数,逻辑更清晰
  • 补充单测:请求头、JSON 跳过与复制、URL 规范化、404 不重试等场景

升级建议

  • 若此前因远程音频 404 导致草稿下载失败,建议升级后重试
  • 若仍失败,请检查日志是否出现 Normalized remote material URL,并核对 JSON 中 path 字段来源

Release v8.0.68

Choose a tag to compare

@Hommy-master Hommy-master released this 16 Jun 02:37

改动说明

✨ 新功能

  • 📁 新增 STORAGE_UPLOAD_PREFIX 配置项,支持为 COS / OSS 上传设置统一的目录前缀(根目录)
  • 🔧 可通过环境变量 STORAGE_UPLOAD_PREFIX 灵活配置,无需改代码即可区分环境或业务目录

🗂️ 路径规则调整

  • 📅 上传目录由「按日期 + 小时」改为「仅按日期」:yyyy-MM-dd/文件名
  • 🧹 移除小时层级,同一天上传的文件集中在同一日期目录下,结构更简洁
  • 🔗 配置前缀后,完整路径为:[前缀/]yyyy-MM-dd/文件名

🛠️ 代码优化

  • ♻️ 抽取 build_storage_object_key() 公共逻辑,COS 与 OSS 共用同一套 key 生成规则
  • 📝 完善 config.py 注释,补充多种可用配置示例及路径效果说明
  • ✂️ 自动去除前缀首尾多余斜杠,避免重复 / 导致路径异常

🧪 测试

  • ✅ 新增 tests/test_storage_key.py,覆盖无前缀、有前缀、斜杠规范化等场景

📌 配置示例

  • 未设置前缀:文件上传至 2026-06-15/文件名
  • 设置为 capcut-mate:文件上传至 capcut-mate/2026-06-15/文件名
  • 设置为 prod/capcut-mate:文件上传至 prod/capcut-mate/2026-06-15/文件名

⚠️ 升级提示

  • 🔄 本次变更仅影响新上传文件的存储路径,历史已上传文件路径不变
  • 🆕 若需将文件归档到指定根目录,请在上传前配置 STORAGE_UPLOAD_PREFIX 环境变量

Release v8.0.67

Choose a tag to compare

@Hommy-master Hommy-master released this 15 Jun 05:51

改动说明

🐛 问题背景

  • 导出完成后回到首页时,偶发 Windows UI Automation COM 错误(-2147220991 /「事件无法调用任何订户」),导致视频导出任务失败。该问题多出现在窗口切换、UI 元素失效的瞬时阶段,并非草稿内容异常。

✨ 核心修复

剪映自动化控制器(jianying_controller)

  • 🛡️ 窗口匹配回调在读取控件 Name、ClassName 时捕获 COM 瞬时错误,跳过失效元素,避免中断整次窗口查找
  • 🔁 新增带 COM 重试的 Exists 检测逻辑,与现有 _safe_click、_safe_exists 策略保持一致
  • 🪟 get_window 全流程加固:查找主窗口、导出子窗口、清除置顶时均使用 COM 安全重试

视频任务管理(video_task_manager)

  • 🔂 将 COM/UIA 瞬时错误纳入可重试错误类型
  • 📦 导出阶段最多额外重试 2 次(共 3 次尝试),复用已下载草稿,无需重新下载

🧪 测试

  • ✅ 新增 COM 错误识别与窗口匹配容错相关单元测试
  • ✅ 更新导出重试逻辑测试,覆盖 COM 错误重试成功与耗尽场景

📌 使用说明

  • 偶发导出失败时,日志中可能出现 UIA COM error on Exists, retrying 等重试提示,属正常自愈行为
  • 若连续 3 次仍失败,请检查:剪映是否正常运行、是否有人为操作干扰、是否在 RDP 断开或会话锁定环境下运行

⚠️ 已知限制

以下情况仍可能导致导出失败,需从运行环境排查:

  • 剪映未启动或进程异常退出
  • 远程桌面断开、桌面会话被锁定
  • 剪映版本升级导致 UI 结构变化
  • 导出过程中人工操作剪映界面