A Windows local Dota 2 DEM precise clip tool that parses .dem files offline, generates editable clip lists using event timelines, and exports footage through an insecure offline Dota 2 replay process plus FFmpeg encoding.

Stars

3

7-day growth

No data

Forks

0

Open issues

0

License

NOASSERTION

Last updated

2026-07-29

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It provides a fully local, no-capture-the-flag workflow with official Dota 2 replay and FFmpeg, strict security boundaries (only connects to 127.0.0.1:29000, rejects active Dota 2 processes), and a transparent update mechanism that only notifies without forced downloads.

Who it is for

  • Dota 2 content creators
  • Dota 2 players who want to clip their own matches
  • Game video editors focusing on Dota 2
  • Advanced users comfortable with manual FFmpeg setup

Use cases

  • Clipping kills, teamfights, and map objectives from Dota 2 .dem files
  • Producing high-quality video compilations with original in-game audio
  • Analyzing technical interactions and player perspectives offline
  • Creating monetizable videos for personal channels while respecting the license

Strengths

  • Fully local DEM parsing without starting Dota 2 until export
  • Multi-track timeline (kills, technical interactions, teamfights, objectives) for precise editing
  • Uses Dota 2 native startmovie/endmovie and FFmpeg for reliable encoding and quality checks
  • Security-first design: whitelisted console commands, PID-based cleanup, no arbitrary command injection

Considerations

  • Windows 10/11 x64 only
  • Requires manual installation of FFmpeg/FFprobe (not bundled)
  • Requires Steam-installed Dota 2 to export actual footage
  • License is source-available, not OSI-approved; commercial redistribution prohibited without written permission

README quick start

猫猫的剪辑小助手

一个面向 Windows 的本地 Dota 2 DEM 精确剪辑工具。

官方仓库:

第一次了解本项目,可以先阅读软件介绍

它只读解析用户选择的 .dem,把事件转换成可人工调整的片段清单;只有用户确认导出后,才会启动项目自己的 -insecure 离线 Dota 2 回放进程,使用官方观战模式导出画面与原声,再交给 FFmpeg 编码和质量检查。

本项目不控制联网比赛,不注入游戏进程,不绕过 VAC。默认导出只保留游戏原声,不自动添加文案、BGM、配音或音效。

许可证提醒:源码公开不等于允许售卖。 未经著作权人事先书面授权,禁止销售、收费分发、发布安装包、改名换皮、套壳发布或将本软件作为托管/商业产品提供。普通用户可以使用本软件剪辑、发布和变现自己的视频。

下载与启动

普通用户不需要安装 Rust、Node.js 或自行编译。请前往 GitHub Releases 下载:

  • luckcaty-cut-dota2_1.7.0_x64-setup.exe:推荐,双击后按提示安装。

1.7.0 是当前正式版。安装版会在启动后检查官方 Release;发现新版本时 只提示,是否下载安装由用户决定。软件不会在后台自动下载,也不会强制更新。 1.6.0 用户需要手动安装一次 1.7.0,后续版本才可使用应用内更新。

当前安装包和便携版未包含 FFmpeg/FFprobe。首次导出前请按下方“环境要求” 配置 FFmpeg。发布附件由本仓库对应版本源码构建,SHA-256 会列在 Release 说明中供核对。

安装包目前没有商业代码签名证书。Windows 如果显示 SmartScreen 提醒, 请先核对下载地址确实属于本官方仓库,并核对 Release 中的 SHA-256;不要 从第三方网盘、店铺或重新打包的网站下载。

功能

  • 本地解析 Dota 2 DEM、比赛信息、10 人阵容和事件候选。
  • 以击杀、技巧互动、团战和地图目标四条轨道查看整局事件时间轴。
  • 在整局和所选英雄相关事件之间切换,点击事件即可定位或新增片段。
  • 生成可解释的击杀和已验证技术互动候选。
  • 增删、复制、排序片段并精确编辑 HH:MM:SS.mmm 时间。
  • 每段选择玩家视角或英雄近景。
  • 使用 Dota 2 原生 startmovie/endmovie 导出帧序列与 WAV。
  • 使用 FFmpeg 拼接、编码并检查黑屏、冻结、时长和音频。
  • 所有任务数据保存在本机,原始 DEM 始终只读。
  • 启动时检查官方更新;有新版本只提示,用户点击后才下载、验签和安装。

更新日志简介

1.7.0

  • 新增击杀、技巧互动、团战和地图目标四轨事件时间轴。
  • 点击事件可定位已有片段,或新增默认玩家视角片段。
  • 新增签名校验的应用内更新:只提示,不自动下载或强制安装。
  • 软件设置中显示“作者:猫猫只用虎”。

完整记录见 CHANGELOG.md

安全边界

  • DEM 分析、候选检测和时间编辑不会启动 Dota 2。
  • 回放控制只连接 127.0.0.1:29000
  • 软件拒绝接管用户已经运行的 Dota 2。
  • 导出进程使用 -insecure -vconsole -console,任务结束后只关闭本项目启动的 PID。
  • 客户端命令经过白名单,不允许任意命令拼接。

详细设计见 回放控制合同

环境要求

  • Windows 10/11 x64
  • Rust 1.89 或更高兼容版本
  • 当前 Node.js LTS 与 npm
  • FFmpeg 和 FFprobe
  • 仅在导出真实画面时需要安装 Steam 版 Dota 2

源码仓库不包含 FFmpeg 二进制。请将 ffmpeg.exeffprobe.exe 放入 PATH,或设置:

$env:FFMPEG_EXE = "[FFMPEG_DIR]\ffmpeg.exe"
$env:FFPROBE_EXE = "[FFMPEG_DIR]\ffprobe.exe"

也可以放到:

tools\ffmpeg\bin\

该目录已被 Git 忽略。

开发

安装前端依赖:

cd .\apps\d2-highlights-desktop
npm ci
cd ..\..

运行完整验证:

.\scripts\verify.ps1

启动桌面开发版:

.\scripts\desktop-dev.ps1

构建 Windows 安装包:

.\scripts\desktop-release.ps1

默认公开构建不捆绑 FFmpeg;运行机器需要自行提供 FFmpeg/FFprobe。发布者如需捆绑二进制,必须单独履行相应许可证和源码提供义务。

CLI

.\scripts\analyze.ps1 -DemPath "[DEM_PATH]\match.dem"
.\scripts\control-plan.

Description

Windows 上的 Dota 2 DEM 自动高光剪辑与离线回放导出工具(源码公开,禁止未经授权销售与套壳)

Related repositories

Similar projects matched by category, topics, and programming language.

l0ng-ai
Featured
l0ng-ai GitHub avatar

tty7

tty7 is a fast, GPU-accelerated terminal workbench with persistent sessions, built-in input tools, SSH support, and coding agent awareness.

Developer ToolsCLI & Terminal
359
NUber-dev
Featured
NUber-dev GitHub avatar

YTubic

YTubic is a fast, responsive, open-source YouTube Music desktop client for Windows, Linux, and macOS that uses direct InnerTube API communication and aggressive caching to provide instant navigation and playback.

Web DevelopmentFrontend Frameworks
226
makecindy
Featured
makecindy GitHub avatar

cindy

Cindy is an open-source AI agent that runs locally on your machine, integrates multiple AI harnesses and models, and provides memory, skills, and automation to perform real work in your projects and apps.

AI & Machine LearningLarge Language Models
958