《原神》USM 过场动画一键转 MKV:GI-cutscenes 实战指南

发布时间:2026/8/18 17:32:14
《原神》USM 过场动画一键转 MKV:GI-cutscenes 实战指南 《原神》USM 过场动画一键转 MKVGI-cutscenes 实战指南【免费下载链接】GI-cutscenesA command line program playing with the cutscenes files (USM) from Genshin Impact.项目地址: https://gitcode.com/gh_mirrors/gi/GI-cutscenes玩过《原神》的玩家都知道游戏里那些演出级的过场动画数据其实是躺在VideoAssets目录下的.usm文件里。这个由 Criware 开发的容器格式自带加密普通播放器根本打不开拷出来也是一堆无法识别的乱码。GI-cutscenes就是来解决这个问题的它是一款纯命令行工具能把加密的 USM 文件解密、拆轨、转码最后合并成一个带字幕、带字体、可以随时播放的 MKV 文件。对于想离线收藏过场、做多语言字幕对比的玩家以及研究容器格式的多媒体爱好者这是一套开箱即用的完整方案。一、为什么值得折腾一次投入永久收藏先想清楚你要什么再动手。USM 文件的处境很尴尬格式封闭视频轨通常是 VP9 编码音频是加密的 HCA普通播放器一概不认无法直接复用即使强行改后缀也不会有任何播放器买账字幕分离对白字幕存在游戏数据包里和视频文件是分开的。GI-cutscenes 把这几件事打包成了一站式流水线解密 → 拆轨 → HCA 转 WAV → 字幕转 ASS → 合并 MKV。目前支持解密 1.0 到 6.3 版本的过场动画含 CBT3 内测版本覆盖了绝大部分玩家能接触到的内容。最终的 MKV 就像一部小电影字幕样式、字体都和游戏内一致离线随便看。二、先配环境再动手下载、编译与三个前置准备获取工具的方式有两种。最快的当然是直接下载对应平台的预编译包——每个平台都提供了两种构建免装 .NET 的自包含单文件版本以及依赖本机 .NET 6 运行时的精简版本。如果你更喜欢从源码编译项目基于 .NET 6.0git clone https://gitcode.com/gh_mirrors/gi/GI-cutscenes cd GI-cutscenes dotnet publish -c Release -r win-x64把-r后面的平台标识换成linux-x64或osx-x64即可。编译之前建议先把下面三件事备齐否则第一次运行多半会卡在字幕或字体上。① 字幕数据。字幕需要从游戏数据仓库里稀疏拉取只拿 Subtitle 目录git clone --depth 1 --filterblob:none --sparse [字幕仓库地址] cd GenshinData git sparse-checkout set Subtitle把得到的GenshinData文件夹放在工具同目录下这正是appsettings.json里SubsFolder的默认值./GenshinData/Subtitle。② 字体文件。项目本身不捆绑字体需要从游戏目录复制[游戏目录]\Genshin Impact game\GenshinImpact_Data\StreamingAssets\MiHoYoSDKRes\HttpServerResources\font把里面的ja-jp.ttf和zh-cn.ttf原样复制到工具目录不要改名——合并字幕时工具是按这两个固定文件名去找字体的。③ 配置文件。appsettings.json是唯一的配置文件里面预置了MkvMergePath、FfmpegPath、SubsFolder、SubsStyle四个键默认值基本可以直接用。万一手抖改坏了执行GICutscenes reset一键恢复出厂状态。三、三分钟跑通第一条命令环境就绪后找一条过场动画试试手。单文件处理用demuxUsm命令带上字幕和合并选项GICutscenes demuxUsm path/to/cutscene.usm --output ./output --merge --subs几秒钟后output目录里就会多出一个与视频同名的.mkv文件。这里有个关键点中间产物默认会被清理想看拆出来的原始轨道就加一个--no-cleanup。此时你会在目录里看到三类文件xxx.ivf——VP9 视频流IVF 容器便于识别编码xxx_0.hca、xxx_1.hca——按语言编号的加密音频xxx_0.wav、xxx_1.wav——转换后的无损音频。单独提取不合并的场景同样简单去掉--merge即可。文件多的时候用batchDemux它会遍历整个文件夹GICutscenes batchDemux VideoAssets/StandaloneWindows64 --output ./output --merge --subs批处理结束时终端会打印总耗时方便你估算这批视频要跑多久。四、核心能力拆解解密、转码与字幕这三板斧工具能跑通是一回事知道它内部怎么干活是另一回事。三个模块代表了三项核心技术。USM 解密。这一步由src/FileTypes/USM.cs负责。每个游戏版本对应一组 key工具用这两组 key 按固定算法生成视频掩码和音频掩码再对轨道逐字节做异或运算还原明文。key 的映射关系存在根目录的versions.json里按版本号和视频文件名逐一登记。当新版本游戏上线、而你的versions.json还没收录对应密钥时跑一下维护命令即可GICutscenes update它会从远端拉取最新的versions.json顺带检查程序本身有没有新版本。走代理的环境可以加--proxy http://proxy.example.com:8080。HCA 转 WAV。HCA 是 Criware 的加密音频格式直接放进剪辑软件完全没法用。src/FileTypes/HCA.cs实现了解密、解码再到 WAV 的完整链路而且解码是多线程并行的批量处理几十个文件时速度提升明显。它也可以独立使用GICutscenes convertHca audio_0.hca传入文件夹路径则会转换目录下所有 HCA 文件适合单独处理从别处拿来的音频素材。字幕内嵌。字幕逻辑值得单独说。工具会按视频文件名在GenshinData/Subtitle下自动匹配对应的 SRT 字幕转成 ASS 格式再把游戏字体作为附件塞进 MKV——这就是为什么播放器不装任何字体也能看到和游戏内一模一样的字幕样式。顺便一提有些过场本身没有对白比如天气变化的演示动画工具会正常跳过字幕环节不必慌张。五、进阶玩法合并引擎、多语言与样式定制从 0.4.0 版本起项目内置了 MKV 合并能力无需安装任何外部软件。src/Mergers/GIMKV/目录下是一套完整的 EBML 结构构建器——从 Segment、Tracks 到 Cluster、Cue 逐层封装。但如果你更信任成熟工具也可以随时切换# 内置引擎默认 GICutscenes demuxUsm file.usm --merge --mkv-engine internal # 交给 mkvmerge需装 MKVToolNix GICutscenes demuxUsm file.usm --merge --mkv-engine mkvmerge # 交给 FFMPEG GICutscenes demuxUsm file.usm --merge --mkv-engine ffmpeg三个引擎共用一套命令行参数切换成本几乎为零。如果你的目标是减小体积或兼容老设备还可以指定输出编码GICutscenes demuxUsm file.usm --merge --audio-format aac --video-format h264注意只要指定了音视频格式中的任意一个合并引擎会自动切换为 FFMPEG——因为重编码只有 FFMPEG 干得了。默认不指定时视频保持 VP9、音频保持无损 PCM画质零损耗。多语言需求同样在这层解决。USM 内最多含中、英、日、韩四条音轨用--audio-lang精确挑选GICutscenes demuxUsm file.usm --merge --subs --audio-lang jpn,eng字幕样式则在appsettings.json的SubsStyle里调它是标准的 SubStation Alpha 样式字符串字号、颜色、描边、位置都是可改的参数。想调大字幕改12那个字段即可。六、避坑指南五个高频问题一次说清按现象 → 原因 → 解法的格式把踩过的坑都列在这里。① 提示密钥不存在 / 解密失败现象处理新版本过场时直接报错退出。原因本地versions.json没有收录该版本的 key。解法执行GICutscenes update拉取最新密钥表仍缺就检查项目 Pull Requests社区通常很快会提交新 key。② 字幕一个都没找到现象日志提示 No subtitles found for cutscene。原因SubsFolder路径不对或该过场本来就没有对白。解法先核对appsettings.json里SubsFolder是否为绝对可访问路径再确认字幕文件名与视频文件名一致。③ 字幕变成方框乱码现象MKV 里字幕显示为方块。原因工具目录缺ja-jp.ttf或zh-cn.ttf合并时字体附件没打进去。解法从游戏 font 目录复制字体保持原文件名放到工具目录重新合并。④ 指定 mkvmerge / ffmpeg 后合并失败现象卡在合并步骤报找不到程序。原因外部工具未安装或没进系统 PATH。解法要么把路径写进appsettings.json的MkvMergePath/FfmpegPath要么干脆切回--mkv-engine internal。⑤ 字幕与音频不同步现象对白和口型对不上。原因多数时候是游戏原文件就不同步工具不背这个锅。解法用播放器自带的字幕偏移功能微调即可不要尝试修改字幕源文件。排查疑难杂症时全局加--stack-trace能看到完整异常堆栈报 issue 时记得带上这段输出。七、实战场景两套高频打法场景一全量备份所有过场动画。把游戏目录VideoAssets/StandaloneWindows64下的上百条 USM 一次处理完同时保留中间文件以便日后单独取用素材GICutscenes batchDemux VideoAssets/StandaloneWindows64 --output ./collection --merge --subs --no-cleanup跑完后每个视频会形成一套MKV IVF WAV HCA的完整资产包。磁盘吃紧的话确认 MKV 无问题后删掉中间文件即可。场景二多语言字幕对比学习。想要中日英三语对白一起对照指定音轨并开启字幕合并GICutscenes demuxUsm story_cutscene.usm --merge --subs --audio-lang chi,jpn,eng出来的 MKV 带三条音轨和对应的 ASS 字幕播放时随手切换语言用来练听力或研究本地化翻译都很好用。结语GI-cutscenes 的价值在于把解密、转码、封装的硬核链路压缩成了几条看得懂的命令让普通玩家也能把游戏里的高光时刻真正据为己有。无论是批量备份收藏还是提取素材二次创作它都足够可靠——而且完全开源密钥表跟不上版本时你也可以自己提交一份 key让工具服务更多人。现在就去翻翻你的游戏目录找一条最难忘的过场动画跑一遍吧。注意备份原始 USM 文件并遵守游戏的使用条款理性使用提取内容。【免费下载链接】GI-cutscenesA command line program playing with the cutscenes files (USM) from Genshin Impact.项目地址: https://gitcode.com/gh_mirrors/gi/GI-cutscenes创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考