AV1瘦身脚本-使用说明.md

AV1 批量瘦身脚本 使用说明

⚠ 必读 1:已实测你的浏览器能直接播 AV1(编码兼容测试/3-AV1-看能否播放.mp4 可播),所以瘦身后仍可在下载中心在线预览。

⚠ 必读 2:默认参数已从 crf 33 / preset 12 改为 crf 28 / preset 10。原因:crf 33 在低码率源(720p/2Mbps 这类)上会把码率砍 73%,出现肉眼可见的模糊与运动拖影(SSIM 0.9817 虽过线,但 SSIM 对拖影不敏感)。同时脚本编码行已内置 enable-tf=0 —— SVT-AV1 默认的时域滤波正是拖影与块状伪影的来源。

⚠ 必读 3:写错的 svtav1-params 不会报错中断,只在日志留一行 Error parsing option 然后按默认值跑。别照抄网上参数表,每加一条都要验证(本机 SVT-AV1 v1.7.0 的可用参数清单见 2026-09-19-画质优先-AV1极限压缩方案.md)。


零、什么时候用哪个模式

场景用哪个说明
日常批量瘦身默认模式(crf 28 / preset 10)速度与体积平衡,一晚能啃一批
只在乎画面和体积、不在乎速度--archivepreset 4 / crf 21 / tune=VQ / 10bit,一部 2 小时片子 4.5~6 小时(GPU 机)
已经压得很紧的源(bpp<0.05)别转重编只会掉画质,保留原片才是画质最优

--archive 画质优先模式(2026-09-19 新增):

bash ~/Downloads/av1-slim.sh --archive --threads 16 --dry-run   # 先看清单与预估
bash ~/Downloads/av1-slim.sh --archive --threads 16             # 正式跑(很慢)
bash ~/Downloads/av1-slim.sh --archive --preset 2 --crf 19      # 珍藏片再慢一档
bash ~/Downloads/av1-slim.sh --archive --svt-params "enable-tf=0:tune=0:film-grain=8:film-grain-denoise=1"   # 颗粒重的老片

archive 模式自动做的事:preset=4、crf=21、tune=0(VQ 视觉调优)、-pix_fmt yuv420p10le(8-bit 源也编 10-bit,同画质省 2~5% 且消 banding)、SSIM_MIN 提到 0.995。单独给 --preset / --crf 可覆盖(--archive 放在前面即可)。 参数选择依据与实测数据:2026-09-19-画质优先-AV1极限压缩方案.md。


一、实测效果(真实素材)

素材原体积AV1 后省抽样 SSIM
迅雷下载 60 秒 1080p 片段45.96 MB11.54 MB75%0.9916
同上(新默认 preset 12)24.77 MB6.95 MB72%0.9912

脚本完整流程(转码→时长校验→抽样 SSIM→省幅校验→原子替换→写备份与报告)已在沙盒中端到端验证,含回滚测试通过。

二、preset 怎么选(本机实测:60 秒 1080p,crf 33,4 线程 + nice 19)

preset耗时速度省幅SSIM40 个候选(44.6 小时内容)预计每晚 6 小时需
12(默认)66s0.91x 实时74%0.9901约 49 小时约 8 晚
10124s0.48x75%0.9910约 93 小时约 16 晚
8213s0.28x75%0.9916约 159 小时约 27 晚

结论:preset 12 性价比最高 —— 比 preset 8 快 3.2 倍,省幅只差 1 个百分点。

⚠ 上表是 crf 33 时代的实测数据,只用来比较 preset 之间的相对速度,省幅一列不可照搬(crf 33 已被判定画质不可接受)。 现行默认是 crf 28 / preset 10;画质优先是 --archive(preset 4 / crf 21)。

三、命令速查

# 1) 先看要处理哪些、能省多少(不改动任何文件)
bash ~/Downloads/av1-slim.sh --dry-run

# 2) 先试 1 个(最稳的起步方式)
bash ~/Downloads/av1-slim.sh --limit 1

# 3) 夜间批处理:跑到早上 7 点自动停
bash ~/Downloads/av1-slim.sh --until 07:00 --yes

# 4) 或者限制本次最多跑 3 小时 / 最多 5 个文件
bash ~/Downloads/av1-slim.sh --max-hours 3 --limit 5 --yes

# 5) 看进度与累计成果
bash ~/Downloads/av1-slim.sh --status

# 6) 看可回滚的备份 / 回滚
bash ~/Downloads/av1-slim.sh --list-backups
bash ~/Downloads/av1-slim.sh --rollback-all          # 全部回滚
bash ~/Downloads/av1-slim.sh --rollback "/完整/路径.mp4"   # 回滚单个

# 7) 清理 7 天前的备份(释放空间)
bash ~/Downloads/av1-slim.sh --purge-backups 7

常用参数:--dir(默认只处理 /home/zyw/Downloads/xunlei-downloads)、--min-size MB(默认 300)、--crf(默认 33)、--preset(默认 12)、--threads(默认 4)、--min-save(默认 15,省不到就跳过)、--ssim-min(默认 0.980)。

四、每晚自动跑(可选,需要你自己启用)

# 加到 crontab(crontab -e):每晚 01:00 开始,跑到 07:00 自动停
0 1 * * * /bin/bash /home/zyw/Downloads/av1-slim.sh --until 07:00 --yes >> /home/zyw/.av1-slim/cron.log 2>&1

脚本带 flock 锁,即便上一次没跑完也不会并发;已完成的文件会跳过,天然断点续传。

五、安全机制(为什么可以放心跑)

  1. 三关校验,任一不过就保留原文件:时长一致(±1 秒或 0.5%)、抽样 SSIM ≥ 阈值(默认 0.980,抽 3 段)、省幅 ≥ 阈值(默认 15%)。
  2. 原子替换:新文件先写成同目录隐藏临时文件(列表页不会显示),校验通过才 mv 就位。
  3. 原文件备份:移到 ~/Downloads/.av1-slim-backup/(同一文件系统,瞬间完成),保留到 --purge-backups 清理;--rollback-all 可一键恢复。
  4. 跳过规则:已经是 AV1 的、码率已经很紧的(bpp<0.045)、小于 --min-size 的、预计省不到 15% 的,都不会白转。
  5. 资源控制:nice -n 19 降优先级、线程数可限(默认 4/8 线程)、--until/--max-hours 限时、每个文件前检查剩余空间(需 ≥ 预估产出 + 3GB)。
  6. 中断安全:Ctrl-C 会停止当前转码并清理临时文件,原文件不动;下次运行自动接着来。

六、注意事项

六之二、首个真实文件实测(2026-09-19,preset 12 / crf 33)

[HD]ADN-027.avi(1280×720, h264+mp3, 1 小时 57 分, 1.69 GB)

指标结果
新体积519 MB(省 1.18 GB / 70%)
耗时60 分 31 秒 → 约 1.95 倍实时
时长校验7043.108571s ↔ 7043.069367s(差 0.04 秒)✓
抽样 SSIM0.98166(阈值 0.98)✓
编码h264 2.06 Mbps → av1 0.56 Mbps,音频 mp3 直拷(无二次损失)
文件名自动由 .avi 改为 .mp4(容器变了就必须改名,否则平台会按 AVI 再转一次码)

额外收益:原 AVI 在下载中心点预览要先服务端转码 30~60 分钟;现在是 AV1/MP4,浏览器原生秒开(已验证预览走原生 <video> 路径)。顺手清掉了旧 AVI 遗留的 1.72 GB 转码缓存。

crf 档位参考(同素材 30 秒样本,preset 12;全片外推体积仅供参考)

crf样本省幅SSIM全片外推
2877%0.9881~403 MB
3080%0.9879~354 MB
33(默认)84%0.9876~282 MB(实测 519 MB,样本段偏简单)
3687%0.9871~229 MB

SSIM 在高 crf 区趋于饱和,肉眼差别要看运动场景;想更保守就用 --crf 30。

六之三、整库时间预算(按首个文件实测速度)

内容 44.6 小时,720p 实测 1.95 倍实时;1080p/4K 会慢些(约 0.9~1.3 倍实时)。 综合估计整库需 约 24~45 小时纯编码 → 每晚跑 6 小时约 4~8 个夜晚,总省 约 28~30 GB。

七、日志与状态文件

文件用途
~/.av1-slim/state.tsv每个文件的处理状态(done/skip/fail/rolledback)
~/.av1-slim/backup.tsv备份索引(原路径 ↔ 备份路径)
~/.av1-slim/run.log运行日志(带时间戳)
~/Downloads/.av1-slim-backup/原文件备份(回滚用)
dl-hub/05-下载服务维护/AV1瘦身记录.md结果报告(每次运行后自动更新,含下载页链接)
下载此文件