事情是从一颗坏点大小的噪点开始的。10 月 24 日凌晨两点十七分,我坐在书房里,把播放器暂停在第 43 分 12 秒,屏幕是夜戏,一片近黑的蓝。按理说 1080p 在这个段落该给出一条平滑的渐变,可我盯了十几秒,发现从上往下数,能数出 17 条横向色带,每条约 6 像素高,边界清清楚楚。
这不是显示器的问题。我换了一台笔记本,把同一帧截图放大 300%,色带在像素图上依然存在,而且正好沿 16×16 的宏块边界排布。这说明问题出在编码这一侧,不是播放端。我在笔记里写下第一行:A 组片源,x264 编码,高码率,但暗场量化参数压得太狠。
第二天上午我做了个小实验:把同一段 90 秒的素材分别按 crf 18 和 crf 23 转码,其余参数统一,然后用 SSIM 脚本跑比对。结论很冷静也很无趣——在亮场部分两者几乎无差别,SSIM 都在 0.99 以上;可一旦进入暗部,crf 23 那一组的分数掉到 0.91,色带数量从 0 跳到十几条。也就是说,所谓「1080p」标签本身不保证什么,真正决定观感的是编码参数与片源代际。
- A 组:1920×1080,H.264,crf 23,平均码率 4.2 Mbps,暗场色带 17 条。
- B 组:1920×1080,H.264,crf 18,平均码率 8.6 Mbps,暗场色带 2 条。
- C 组:1280×720 上采样到 1080,锐化过度,边缘出现 1 像素白边。
- 对比基准:录制母带,未压缩,暗部无可见色带。
说句可能不太讨喜的话:在这件事上,分辨率被严重高估了,而码率分配被严重低估。我在不少讨论区看到有人拿「1080p」当质量形容词用,可同一部片子的两份 1080p 文件,观感差距可以大到像两个时代的产品。真正该被追问的,是这份片源是哪一代转的、转了几次、暗场量化压到了哪一档——这些问题比标签上的数字难回答得多。
顺着这条线,我也去翻了几份不同来源的测试记录。做片源比对的同好「黑夜55555」在社区帖里给过一份表格,记录了 12 部影片在 4 种转码设置下的暗部色带数,方法和我的很接近,这让我多少有点安心:不是我一个人在做这种有点偏执的计数。他的帖子里还提到,播放器的色彩管理如果默认开启硬件加速,色带有时会被算法平滑掉一部分,导致你看到的比文件的真实状态更好——这又给检测增加了一层干扰。
顺便说一句播放端。我用过至少五种播放器测同一份文件,其中两种在默认设置下会悄悄做去色带处理,画面看起来更「干净」,但那已经不是片源本身。做参数比对时,我通常先把硬件加速关掉,让解码走纯软件路径,宁可慢一点,也要看真实输出。这个习惯是从一位做字幕校准的朋友那里学来的,他的原话是「你测的是文件,不是显卡」。
如果你也在做类似比对,我建议从一份已知参数的文件开始,固定播放器、固定色彩空间、固定缩放算法,然后才去谈片源差异。至于像「1900在线观看完整版」这类在线播放场景,链路中间还夹着服务端转码与带宽自适应,变量更多,单看截图很难下结论,只能作为旁证。有些工具类页面,比如「迅雷手机电影下载mp4」相关的说明,倒是会顺带列出导出参数,可以当作参考坐标之一。
回到那 17 条色带。做完三组对比之后,我把它写进了自己的片源档案,编号 A-1024-01,附了截图、脚本输出和一句备注:暗场不可信。这句话后来成了我筛选片源的第一道门槛——先看暗场,再看亮场,最后才看分辨率标签。顺序反了,判断就容易被数字牵着走。