排错
先看日志,再动手;常见四类问题
先看日志,再动手。日志里写清了每一次播放的结果,比猜快得多。
日志和诊断文件在哪
- 运行日志
%LOCALAPPDATA%BootAnimationoot-animation.log- 自检报告
%LOCALAPPDATA%BootAnimationselftest.txt(含内置四段的哈希)- 枚举结果
%LOCALAPPDATA%BootAnimationclips.txt- 当前片头
%LOCALAPPDATA%BootAnimationsettings.txt- 视频缓存
%LOCALAPPDATA%BootAnimationclips
日志里值得搜的三类内容:
MediaOpened—— 含分辨率和「进程启动到出画」的毫秒数,能看出是解码慢还是根本没打开。MediaFailed—— 含失败原因。格式不被支持,一般在这里现形。- 超时记录 —— 起播迟迟无响应时写入。
起播不出画面时,屏幕上本来就有提示:「正在加载…」「播放失败:<原因>」「20 秒无响应」,不会留一块黑屏让你猜。看到哪一条,就对照下面的小节处理。
动画没播
- 先确认自启还在:任务管理器 →「启动」页,看
BootAnimation是不是被设成了「已禁用」;「设置 → 应用 → 启动」里也能看。 - 手动试一次:
--play --seconds 5。能播,说明是自启的问题。 - 看日志:这一次有没有写进
MediaOpened。完全没写,说明进程没起来或视频没打开。
播一半卡住
多半是格式或索引问题。先找日志里的 MediaFailed,再用 faststart 重排一遍索引;仍不行就重编码成 H.264 + AAC 的 mp4。
只有声音、没有画面
视频轨用了解码器不认的编码,常见于 HEVC、ProRes 和部分 mkv。把视频轨重编码成 H.264 的 mp4 即可。
下载校验失败(sha256 不符)
客户端会直接拒绝安装这种文件,这是设计如此 —— 目录里唯一的完整性校验手段就是 sha256。常见原因是投稿者上传后又换了视频却没更新哈希,或者下载过程被中间设备改过。先重下一次;仍然失败,就去该条目对应的 Issue 反馈,让作者重新提交哈希。
怀疑是内置片头本身出了问题
跑一次无界面自检:BootAnimation.exe --selftest。它会解包内嵌视频、算哈希,把报告写到 selftest.txt。