ffmpeg格式设置,Matrix bt709

时间:2016-05-16 13:56:29

标签: ffmpeg color-space

有没有人知道如何通过FFmpeg实现以下色彩空间( bt.709 )?
以下是我现在在文件中的内容......

enter image description here

正如您所看到的那样默认为with open('combined_scores.txt') as f: lines = f.readlines()[1:] # remove the header line # reset counter n = 0 for line in lines: if float(line.split('\t')[-3]) >= 3.19: n = n + 1 # print total count print 'total=', n ,我该如何设置它:

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

谢谢

2 个答案:

答案 0 :(得分:2)

使用重新编码,请使用

for x in range(len(vals)):
    curr=vals[x];
    for y in range(x+1,len(vals)):
        if(curr > vals[y]):
            temp = vals[y]
            vals[y] = curr
            vals[x] = temp
            curr = vals[x] # <--

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

答案 1 :(得分:0)

经过大量搜索后,发现必须传递给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

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