ffmpeg格式设置,矩阵bt709

use*_*669 3 ffmpeg color-space

有谁知道我如何通过FFmpeg 实现以下色彩空间(bt.709)?
这是我档案中的内容...

在此处输入图片说明

如您所见Format settings, Matrix,默认情况下,我该如何设置:

  • 格式设置(矩阵):自定义或标准
  • 组件颜色原色:BT.709
  • 传输特性:BT.709
  • 矩阵系数:BT.709

谢谢

Gya*_*yan 5

与重新编码一起使用

ffmpeg -i test.mxf -c copy -c:v mpeg2video -b:v 5000k \
       -color_primaries 1 -color_trc 1 -colorspace 1 out.mxf
Run Code Online (Sandbox Code Playgroud)

在Mediainfo中,在视频流属性的末尾,您应该看到三个与颜色相关的条目。请注意,格式设置(矩阵)与MPEG量化相关,与颜色无关。


MoD*_*oDJ 5

经过多次搜索,发现必须传递给 ffmpeg 以进行正确 BT.709 编码的秘密选项位于视频过滤器功能内。请注意,-vf 视频过滤器选项实际上会转换,而其他 709 标志仅指示容器中将包含哪些标志。

此示例从设置为 (0, 0, 255) 或最大蓝色的 32x32 png 开始。

ffmpeg -y -i Blue32x32.png -c:v libx264 -pix_fmt yuv420p -preset:v slow -profile:v baseline -crf 20 -vf scale=out_color_matrix=bt709 -color_primaries bt709 -color_trc bt709 -colorspace bt709 Blue32x32_709.m4v
ffmpeg -y -i Blue32x32_709.m4v Blue32x32_709.y4m
od -v -t u1 Blue32x32_709.y4m
Run Code Online (Sandbox Code Playgroud)

最后一个命令的输出将字节值转储为整数,您应该看到 (Y Cb Cr) 值为 Y = 32、Cb = 240、Cr = 118,这意味着 BT.709 转换矩阵正在 .m4v 文件中使用。当解码回 RGB 时,转换后的颜色为 (2 0 255)。

  • “请注意,-vf 视频过滤器选项实际上会转换,而其他 709 个标志仅指示容器中将包含哪些标志”实际上 -color_primaries 1 -color_trc 1 -colorspace 1 仅写入元数据信息。虽然过滤器方法会将您的内容转换为 BT.709 (2认同)