格式知识 约 5 分钟
HDR 视频为什么发灰:高动态范围的兼容真相
手机开了 HDR 拍的视频,在自己屏幕上看色彩通透,发给别人或传到平台上却一片灰白——不是文件坏了,是 HDR 与 SDR 的显示链路错位。
HDR 与 SDR 差在哪
SDR(标准动态范围)是 CRT 时代定下的标准:亮度上限约 100 尼特、色域有限——几十年来的视频都是按这个「安全范围」制作的。HDR(高动态范围)记录 1000 尼特以上的亮度信息,配合更宽的 BT.2020 色域:高光真的亮、暗部有层次、色彩更浓。
多出来的信息需要一条「看得懂」的链路才能变现:屏幕要支持 HDR、播放器要能解读 HDR 元数据。任何一环缺位,多出来的信息就成了解读错误的来源。
发灰的机制
HDR 文件在不支持的屏幕或播放器上,高亮数据会被错误映射:该是 1000 尼特的太阳被压到 100 尼特的标准里——结果不是「变暗」,而是整体对比塌陷:天空死白或发灰、人脸没有血色、颜色寡淡。文件数据完好,是显示端「翻译」错了。
这也是「我这边看着挺好、发出去就灰」的原因:你的设备支持 HDR,接收方的链路不支持。同一个文件,两条链路,两种观感。
判断与对策
怎么确认视频是 HDR:用编码检测看两个特征——像素格式是 10bit(yuv420p10le 之类,SDR 主流是 8bit),色彩特征含 bt2020 / PQ / HLG 字样。HDR 视频绝大多数是 HEVC 编码(H.264 时代几乎没有 HDR),遇到「打不开的 HEVC」先想想是不是 HDR 模式拍的。
对策按接收方定:给不支持的设备或平台,准备 SDR 版本——最干净的做法是拍摄端直接关 HDR;已有 HDR 文件想转 SDR,需要做色调映射(tonemap),普通转码不做映射只是改编码,发灰照旧。主流平台上传后会自动映射,但映射质量参差,追求可控就自己出 SDR 版。