【问题标题】:x264 stream color shiftx264 流颜色偏移
【发布时间】:2017-03-15 22:18:56
【问题描述】:

我使用 swscale + x264 将 RGB 图像序列编码为 h264 流。当输入图像(红色)中的RGB值全部为(255, 0, 0)时,swscale + x264输出的YUV为(81, 90, 240)。通过使用 swscale,可以将此 YUV 值转换回原始 RGB 值。但是,当我使用 PotPlayer 播放流时,会出现颜色偏移。

我捕获了第一帧并将其保存为 bmp 文件。 bmp文件中的RGB值为(255, 24, 0),其中绿色通道不为零。

如何解决这个色偏问题?

我通过使用 sws_setColorspaceDetails 将 ITU-601 色彩空间更改为 ITU-709 来解决此问题。

【问题讨论】:

    标签: x264 swscale


    【解决方案1】:

    这可能是由多种原因造成的。如果 swsscale 将 RGB 转换为 YUV444 以外的任何东西,那么您在二次采样过程中会失去一些色度精度。由于 H264 是有损压缩,因此您在压缩过程中也会丢失一些信息。在分析每个阶段的输出之前,很难判断是哪一个导致了差异,但看起来损失是由有损编码而不是颜色转换引起的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2018-07-15
      • 2018-05-02
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多