成片声音总比别家小:问题不在配音,在产线没有响度归一化

产出质量 · 7 步 / 20 分钟L1整理于 2026-10-10 有效期 180d

把手上 47 条已出成片全量量了一遍,没有一条做过响度归一化。整体响度全部落在 -25.69 ~ -22.64 LUFS,最响的一条离流媒体基准 -14 LUFS 还差 8.64 个刻度。而一直在调的音量参数最多只影响 0.28 LU —— 真正管响度的那一层,在产线上根本不存在。

FFmpeg响度LUFSloudnorm成片音频响度归一化验收

这条适用于

版本指纹

本机成片产线(2026-10-10);limit 值须按自己素材重标定

具体做法

定案配方(两遍 loudnorm + 限幅器收顶,视频流直接拷贝、只重编码音频):

# 第一遍:只测(-f null 不落文件)
ffmpeg -hide_banner -nostats -i in.mp4 \
  -af loudnorm=I=-14:TP=-1.5:LRA=11:print_format=json -f null -
# 第二遍:把 measured_* 与 offset 回填进去
ffmpeg -y -i in.mp4 \
  -af "loudnorm=I=-14:TP=-1.5:LRA=11:measured_I=<mI>:measured_TP=<mTP>:\
measured_LRA=<mLRA>:measured_thresh=<mTH>:offset=<off>:linear=true,\
alimiter=limit=0.79:level=disabled" \
  -c:v copy -c:a aac -b:a 192k out.mp4
实测(本轮 47 条成片):
· 修复前:整体响度 -25.69 ~ -22.64 LUFS(均值 -24.25,极差 3.05),真峰值 -7.40 ~ -3.52 全部合规
· 一遍法:买卡四问那条只到 -16.15 LUFS,真峰值冲到 -0.83(顶爆)
· 两遍法:真峰值仍到 -0.83(顶爆,未加限幅器时)
· 两遍法 + alimiter=limit=0.79:level=disabled:-14.40 / -1.83(进线)
· 批量后:均值 -14.93,极差 3.05 → 1.47,平均提升 +9.32 LU;单条耗时 4~6 秒

反常识(直接影响验证方式):
· 修复后结果分两堆 —— 修复前真峰值 ≤-5 dBTP 的 23 条落到 -14.38,真峰值 >-5 dBTP 的 24 条只到 -15.45,两组差 1.07 LU
· 相关系数 corr(修复前真峰值, 修复后响度) = -0.901:原来峰值顶得越低越容易拉到位;原来峰值贴着天花板的,限幅器吃掉的是它本来能拿到的增益
· 也就是说:看起来峰值「最合规」的那一半,恰好是最难修的那一半。只抽一条验证正好抽到另一半,就会误判全修完了

失效边界
limit=0.79 是线性值(≈ -2.06 dBFS),需按自己的素材重标定;扫过 0.75 / 0.71 会更保守(真峰值到 -2.31 / -2.40),代价是响度上不去。目标值 -14 LUFS / -1.5 dBTP 是流媒体通用参考,不等于所有平台一致,以自己发布渠道的规范为准。本条目只处理响度与真峰值,不涉及降噪、去齿音、EQ 等语音质量优化 —— 原素材本身底噪大、齿音重的话,归一化会把缺陷一起放大。视频走 -c:v copy 要求不改画面;若要同时改画面则需重编码,耗时量级完全不同。
← 批量导出全报成功,产物却是空壳:验收要看产物内部一个 47 MiB 的 LoRA 自带训练账本:7750 步、7412 张图、每张 297.7 毫秒 →

← 返回全部排错方案