You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg将H265转H264时颜色偏色,能否不重编码添加色彩参数?

问题根因

你使用的输入源为HDR10规格的HEVC视频,自带bt2020色域、smpte2084(PQ)伽马、tv窄范围量化的色彩元数据。你原始的转码命令未指定保留色彩元数据,FFmpeg不会自动将输入的色彩参数写入输出的H264流,播放器默认按照SDR BT709的规格解析HDR内容,就会出现色彩发灰、饱和度异常、红色偏橙的问题。

方案1:仅补全色彩元数据(无需重编码)

如果你的播放设备支持HDR10解码播放,仅需要为已经转好的H264文件补全元数据,不需要重新编码,直接复制视频流写入色彩参数即可,命令如下:

ffmpeg -i output.mp4 -c copy -color_range tv -color_space bt2020nc -color_transfer smpte2084 -color_primaries bt2020 output_fixed.mp4

该命令执行速度极快,仅修改文件头元数据,不会损失任何画质。

方案2:转码为SDR视频(适配普通播放设备)

如果需要在不支持HDR的普通设备上正常播放,必须重新转码做HDR到SDR的色调映射,否则就算补全了HDR元数据,普通播放器依旧会显示异常,推荐转码命令如下:

ffmpeg -i input.mkv -vf zscale=transfer=bt709:matrix=bt709:primaries=bt709,format=yuv420p -c:v libx264 -crf 17 -color_range tv -color_space bt709 -color_transfer bt709 -color_primaries bt709 output_sdr.mp4

该命令会将HDR10的色彩映射为标准SDR BT709色彩,同时写入对应色彩元数据,兼容绝大多数普通播放设备。

内容的提问来源于stack exchange,提问作者user17319252

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 23:45:10