只是亮度忽明忽暗,可以先小范围试调曝光;包装上的字、瓶盖或轮廓已经变了,调亮度并不能把商品修对。 先下载生成的原文件,确认问题是不是在剪辑、导出或上传之后才出现,别急着再花一次生成费用。
下面的判断表不需要安装软件。后面的实验与脚本是可选项,用来说明一个容易踩的坑:闪烁指标下降了,不代表商品细节也恢复了。
先看哪里在变
| 看到的现象 | 先查什么 | 下一步 |
|---|---|---|
| 整幅画面一亮一暗 | 先确认机位、背景和照明本应保持不变,再对照连续帧;移动的阴影或反光也会造成类似闪烁的变化 | 复制片段后试调曝光,再检查高光和暗部 |
| 标签文字、瓶盖或边缘变形 | 与确认无误的商品原图对照,而不只是和上一帧比 | 替换问题片段、合成真实商品层,或重新生成 |
| 衣料、头发等细纹理跳动 | 同时看正常播放和连续单帧 | 判断降噪是否会抹掉必须保留的细节 |
| 只有预览或上传后的版本有问题 | 对比原文件、本地导出和平台处理后的文件 | 找出问题首次出现的环节,再决定是否改提示词 |
| 只在循环接头停顿或跳一下 | 检查末尾几帧与重新播放的位置 | 参考循环视频停顿与跳帧检查(英文) |
反光随着镜头移动,不一定是故障;像素差变大,也可能只是正常运动。商品视频首先要把商品展示准确,不能只追求检测数字更小。
确实需要重做时,减少这次生成的不确定性
如果原文件已经反复改变商品特征,先保留能用的部分,再简化出错镜头:参考图准确、照明稳定、只安排一个克制的动作。Runway 的图生视频指南建议使用干净的输入图和简单、以运动为重点的描述;这是特定模型的指导,不是所有生成器的效果保证。
准备好参考图后,可以用 imgmov 图生视频尝试一个新镜头。先核对首帧图片要求和价格。这是重新生成的工作流,不是专门的去闪烁功能。别删掉旧片,按同一处关键细节比较后再决定采用哪一版。
如果商品的形状保持稳定,可以考虑只替换错误的标签或局部,但前提是能可靠地跟踪位置,并让替换内容自然融入画面。形状、转动或遮挡变化没有规律时,合成修补可能并不划算;这时可尝试重做一个更简单的镜头,再与确认无误的参考图核对。重新生成也不保证商品一定准确。
实验:亮度平稳了一些,错误细节仍然在
我们制作了四组合成、固定机位的对照素材,不是任何 AI 模型的实测样片:无变化、仅亮度变化、仅标记移动,以及两种变化同时出现。每段 96 帧,24 fps,分辨率 480 × 270。亮度每四帧在 ±4% 间切换,标记每六帧换一个位置。下图依次是混合素材的第 0、4、6 帧。

对相邻两帧,先计算固定背景的亮度比,再按这个比例补偿商品区域,测量剩余的 RGB 像素差。第二个数字以 0–255 的 RGB 像素值计算,不是画质评分,也不能可靠地判定模型是否编造了细节。
本次使用 FFmpeg 7.1 的 deflicker=size=5:mode=am。对于已知为全范围 RGB 的合成素材,我们明确转换到全范围 YUV444,并保留输出的范围标记。FFmpeg 文档说明了窗口大小和平均方式。
| 合成素材 | 背景亮度比的平均变化:处理前 → 后 | 商品区域剩余像素差:处理前 → 后 |
|---|---|---|
| 无变化 | 0% → 0% | 0 → 0 |
| 仅亮度变化 | 1.766% → 1.125% | 0.043 → 0.220 |
| 仅标记移动 | 0% → 0% | 4.577 → 4.577 |
| 亮度变化+标记移动 | 1.766% → 1.125% | 4.618 → 4.787 |
背景亮度比的变化约下降了 36%,并没有消失。错误标记仍在移动,连纯亮度素材的剩余像素差也升高了。修复可能改善一个指标,同时让另一个指标变差;最后必须回到画面本身验收。
第一次测试没有通过。 使用隐式色彩转换时,纯亮度素材处理后的剩余像素差为 0.955;明确范围后为 0.220。这个失败说明处理链路会影响结论,不说明所有视频都该强制设为全范围。请根据源文件的色彩信息处理。这里公开失败记录与最终数据,方便对照。
压缩之后,原来的阈值会误报
我们把四组素材的处理前后版本分别编码为 H.264、yuv420p,测试 CRF 23 和 30,共 16 个文件。最初把剩余像素差阈值设为 1,纯亮度变化也被标成了细节变化。观察到这类素材的最大残差为 3.190、真正标记移动时的最小残差为 27.794 后,才把演示阈值调到 4。
在这个阈值下,无变化与纯亮度素材都没有细节标记;标记移动和混合素材均保留了 15 对变化帧。这是在同一批样本上调参,不是对任意 AI 视频的独立验证。 阈值只比本次最大的纯亮度残差高约 25%,更重的压缩或噪声仍可能越线。最初误报、最终结果和调参数据均可下载。
没有细节标记,不等于商品就是对的。 这个阈值可能漏掉细小的文字变化、逐渐发生的变形或其他错误。无论是否出现标记,都要与确认无误的商品参考图对照。
去闪烁处理也有代价:H.264 纯亮度素材的平均残差,在 CRF 23 下从 0.298 升至 0.678,在 CRF 30 下从 0.417 升至 1.107。不能只展示亮度指标下降的一面。
另一个检查使用了 Xiph 的固定机位 Hall Monitor 测试片段,以 H.264 CRF 23 编码,选择两块静止墙面。299 对相邻帧中有 0 对被标记。这只是一个未人为加入故障的真实片段上的观察,不证明脚本能发现真实 AI 视频的错误。这里提供区域坐标、来源和哈希,不转载原片。
可选:检查自己的固定机位片段
做基本判断不需要运行脚本。先按正常速度看原片,把可疑帧与商品参考图对照;需要修复时,在副本上试做。把原片、修复后的副本和参考图放在一起比较,再决定是否采用。数值只辅助检查,不替代目视核对。
下载 flicker_probe.py。它输出逐帧对照 CSV,不修复视频,也不替你决定是否重新付费生成。画面里需要有一块静止商品区域和另一块固定背景;运动、阴影、反光及过曝都可能让比较失去意义。
安装 uv 后,在脚本所在文件夹运行:
uv run --with numpy --with imageio-ffmpeg flicker_probe.py --input clip.mp4 --roi 180,100,121,81 --bg 20,20,80,80 --output review.csv
把示例坐标换成你的原始分辨率视频中的区域。格式是 左边距,上边距,宽,高,单位为像素,原点在左上角;示例数字只适用于我们的合成样片。越界区域、过暗背景、超过 4K 的画面,以及已经存在的输出文件名,都会被拒绝。
默认检查前 300 个解码帧,可用 --max-frames 指定 2–3000。--residual-threshold 4 是本次调参后的默认值,不是通用合格线。分别查看 lighting_flag 与 detail_flag,再去剪辑软件里核对对应帧。以帧号为准;时间按文件报告的帧率计算,遇到可变帧率可能只是近似值。
想先跑一个已知输入,可以下载混合变化的 H.264 样片。样片有反复的亮度变化;如果你对闪烁画面敏感,请只看上方的静态图和数据。 页面不会自动播放。把 reproduce_controls.py 和检查脚本放在同一文件夹,即可重建对照素材:
uv run --with numpy --with pillow --with imageio-ffmpeg reproduce_controls.py --output new-controls
输出目录必须是新目录。加上 --implicit-range 可重现色彩转换失败的测试,该模式出现未通过检查是预期结果。文件完整性可用 SHA256SUMS.txt 核对。