简体中文 | English
TTcut 是一款面向乒乓球爱好者的本地乒乓球视频自动剪辑工具。它从比赛视频中定位乒乓球、按所选回合识别方式整理有效回合,并按所选模式导出剪辑成片。
视频、分析结果和历史记录只保存在本机;软件不要求登录、不上传视频、不采集遥测。首次安装运行所需资源时需要联网,安装完成后可以离线分析、预览和剪辑。
当前稳定版本为
v1.3.2,面向 Windows x64。
- Windows 从 TTcut Release 下载。完整安装包适合希望一次完成安装的场景;在线安装包会在安装阶段下载并校验必需运行资源,需要保持联网。
- Android 从 TTcut-Mobile-Releases 下载。
- 首次启动进入设置,同意后完成分析、视频处理组件安装。
- 若分析、视频处理组件下载缓慢,可根据电脑硬件情况使用网盘按需下载:链接,提取码:
ttct,然后取消软件内下载改为手动导入。
- 修复了导出功能异常的错误。
详见 v1.3.2 发布说明。
欢迎反馈使用问题、bug 反馈和新功能建议。
- 在“自动剪辑”中选择或拖入一个
.mp4文件。 - 默认使用自动标定;应用会抽取视频画面并自动识别球桌区域。
- 需要人工调整时切换到手动标定,使用视频进度条选择清晰画面。
- 按任意顺序点击球桌四角;标满四点后可拖动编号点修正位置。
- 确认四点没有重合、越界,并形成足够大的凸四边形后,点击“开始分析”。
- 标定或模式选择阶段可以使用标题栏左上角“返回”重新选择视频。
分析页面显示真实处理进度。任务运行期间可以取消;关闭软件时会提示退出、最小化或继续任务。没有识别到有效回合时,可以重新标定或更换视频。
- 所有回合:剪辑全部有效回合。
- 精彩回合:使用“落台判定”时按板数筛选,使用“连续运动”时按时长档位筛选。
- 自定义:进入独立时间轴逐项选择回合;每个片段均可预览并独立调整起止边界。还可手动新增或删除回合,并选择导出合并 MP4、独立 MP4 或 Premiere 可导入的 FCP7 XML。
“所有回合”和“精彩回合”沿用“设置”中的回合前后保留时间;“自定义”模式可在独立时间轴中直接调整每个片段的起止边界,然后开始导出。自定义导出可以保留合并 MP4,也可以额外生成每个回合的独立 MP4 和 Premiere 可导入的 FCP7 XML。输出保存在原视频目录:
match.mp4导出为match_ttcut.mp4。- 名称已存在时依次使用
match_ttcut_2.mp4、match_ttcut_3.mp4,不会覆盖原文件或已有结果。 - 导出完成后可直接播放成片,或使用“在文件夹中打开”定位文件。
分析完成的视频会保存本地分析记录和首帧封面,包括未识别到有效回合的记录。源视频未移动且内容未变化时,从“历史剪辑”打开记录可以直接进入剪辑模式,无需重新分析。
在“批量任务”中一次选择多个 MP4 视频。进入页面后,视频会按列表顺序先逐个自动标定;标定成功的项目进入等待,标定失败的项目封面中央显示“标定失败 / 手动标定”,点击后可复用四点标定页。手动完成后返回原队列并保留任务状态。点击“开始分析剪辑”只处理已就绪项目,待手动项目不会阻塞其他视频;输出保存到各源视频目录。
- 相邻回合原始间隔小于 5 秒时合并为一个剪辑组;正好 5 秒或更长时分开。
- 每组只应用一次设置中的回合前时间和回合后时间。
- 每个剪辑组最后一个回合结束后额外保留 1 秒,再应用所选回合后时间;超过源视频结尾时直接在结尾结束。
- 扩展后的片段重叠时再次合并,避免重复画面。
完整安装包内置运行所需的球识别和球桌识别资源;在线安装包会在安装阶段下载并校验这些资源。本地分析负责:
- 自动或手动球桌标定与坐标映射。
- 定位乒乓球,并按“连续运动”或“落台判定”整理有效回合。
- 使用统一的球台区域、时间间隔和回合规则整理有效回合。
- 根据本机环境选择 GPU 加速或 CPU 处理。
运行资源安装在所选安装根的 <root>\data\components。随应用提供的模型会在打包前按固定大小和 SHA-256 校验。
视频处理能力负责:
- 验证 MP4 的旋转方向、时长、分辨率、帧率、音视频流和关键帧。
- 根据回合边界生成剪辑片段并合并。
- 满足安全切点条件时尝试无损复制,否则执行一次准确重编码。
- 保留分辨率、方向、宽高比和色彩信息,并校验输出时长、音画同步和可播放性。
常规视频使用默认处理配置。需要高分辨率重编码时,可以在“设置”中安装可选的视频处理扩展;扩展损坏或未安装时会自动回退到默认配置。程序不会放大低分辨率视频。
要求 Windows x64、Node.js 22、npm 10。安装依赖并启动:
npm install
npm start验证与构建:
npm run typecheck
npm test
python -m pytest worker/tests -q
npm run test:e2e
npm run verify:release
npm run make
npm run make:officialnpm run make 生成当前版本的本地未签名安装包和更新元数据;它不修改版本,也不上传 Release。npm run make:official 执行正式签名和发布校验。
真实端到端测试所需的视频、模型权重和运行资源不随仓库分发,需要在测试机器上使用已验证的本地文件。125%、150%、200% 的布局用例用于当前机器上的自动化 DPI 回归检查,不构成跨 Windows 版本认证。系统、架构和运行资源兼容性由应用启动自检与任务前检查共同保证,详见 Windows 兼容策略。
- 单视频工作流一次处理一个 MP4 或 MOV;批量任务支持一次选择多个 MP4/MOV,并按“先标定、后处理”的串行队列运行,失败项目可手动恢复。
- 使用“落台判定”时,板数是弹跳代理值,不是真实击球计数;使用“连续运动”时不显示板数。
- 不再做 Windows build / 系统版本硬拦截;程序仍以 Windows x64 为主。旧版 Windows、x86、ARM64 能否实际运行取决于本机环境与依赖,不保证可用。
更多实现和发行资料位于 docs 目录。
如果本程序对你有帮助,希望能得到你的打赏支持,感谢!

