美文网首页FFPlay专辑
FFplay文档解读-27-视频过滤器二

FFplay文档解读-27-视频过滤器二

作者: 张芳涛 | 来源:发表于2018-11-15 17:25 被阅读20次

    前言

    Github地址:Github
    简书地址:简书
    专辑地址:FFplay专辑

    29.11 boxblur

    boxblur算法应用于输入视频。

    它接受以下参数:

    luma_radius, lr
    luma_power, lp
    chroma_radius, cr
    chroma_power, cp
    alpha_radius, ar
    alpha_power, ap
    

    接下来的选项的描述如下:

    luma_radius, lr
    chroma_radius, cr
    alpha_radius, ar
    

    设置用于模糊相应输入平面的框半径的表达式(以像素为单位)。

    半径值必须是非负数,并且不得大于亮度和alpha平面的表达式min(w,h)/2的值,以及色度的min(cw,ch)/2的值飞机。

    'luma_radius'的默认值为2。 如果未指定,'chroma_radius''alpha_radius'默认为为'luma_radius'设置的相应值。

    表达式可以包含以下常量:

    常量 解释
    w
    h 输入宽度和高度(以像素为单位)
    cw
    ch 输入色度图像宽度和高度(以像素为单位)
    hsub
    vsub 水平和垂直色度子样本值。 例如,对于像素格式yuv422phsub2vsub1
    luma_power, lp
    chroma_power, cp
    alpha_power, ap
    

    指定boxblur过滤器应用于相应平面的次数。

    'luma_power'的默认值为2。如果未指定,'chroma_power''alpha_power'默认为'luma_power'设置的相应值。

    值为0将禁用该效果。

    29.11.1 示例

    • 应用boxblur滤镜,亮度,色度和alpha半径设置为2

       boxblur=luma_radius=2:luma_power=1
       boxblur=2:1
      
    • 将亮度半径设置为2,将alpha和色度半径设置为0

        boxblur=2:1:cr=0:ar=0
      
    • 将亮度和色度半径设置为视频维度的一小部分:

        boxblur=luma_radius=min(h\,w)/10:luma_power=1:chroma_radius=min(cw\,ch)/10:chroma_power=1
      

    29.12 bwdif

    对输入视频进行去交错(bwdif代表Bob Weaver去隔行滤波器)。

    基于yadif的运动自适应去隔行,使用w3fdif和三次插值算法。 它接受以下参数:

    mode
    

    采用隔行扫描模式。 它接受以下面的值:

    参数 解释
    0, send_frame 为每帧输出一帧
    1, send_field 为每个字段输出一帧

    默认值是:send_field

    parity
    

    假设输入隔行扫描视频的图像场奇偶校验。 它接受下面的值:

    参数 解释
    0, tff 假设顶部字段是第一个
    1, bff 假设底部字段是第一个
    -1, auto 启用字段奇偶校验的自动检测

    默认值为auto。 如果隔行扫描未知或解码器不导出该信息,则假设top field first

    deint
    

    指定要去隔行的帧。 接受下面的值:

    参数 解释
    0, all 对所有帧进行去隔行扫描
    1, interlaced 仅隔离标记为隔行扫描的帧

    默认值是all

    29.13 chromakey

    YUV颜色空间color/chroma(颜色/色度)键控。

    过滤器接受以下选项:

    color
    

    颜色将被透明度取代。

    similarity
    

    与关键颜色的相似百分比。

    0.01仅匹配确切的键颜色,而1.0匹配所有内容。

    blend
    

    混合百分比。

    0.0使像素完全透明或根本不透明。

    较高的值导致半透明像素,透明度越高,像素颜色与关键颜色越相似。

    yuv
    

    颜色传递的信号已经是YUV而不是RGB

    "green""red"这样的字面颜色不再有意义了。 这可以用于将精确的YUV值作为十六进制数传递。

    29.13.1 示例

    • 使输入图像中的每个绿色像素都透明:

        ffmpeg -i input.png -vf chromakey=green out.png
      
    • 在静态黑色背景上叠加绿屏视频

        ffmpeg -f lavfi -i color=c=black:s=1280x720 -i video.mp4 -shortest -filter_complex "[1:v]chromakey=0x70de77:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.mkv
      

    29.14 ciescope

    显示CIE颜色图,其上覆盖有像素。

    过滤器接受以下选项:

    system
    

    设置颜色系统。

    颜色系统
    ntsc, 470m
    ebu, 470bg
    smpte
    240m
    apple
    widergb
    cie1931
    rec709, hdtv
    uhdtv, rec2020
    cie
    

    设置CIE系统。

    CIE系统
    xyy
    ucs
    luv
    gamuts
    

    设置要绘制的色域。

    有关可用值,请参阅system选项。

    size, s
    

    设置ciescope大小,默认设置为512

    intensity, i
    

    设置用于将输入像素值映射到CIE图的强度。

    contrast
    

    设置对比度用于绘制超出活动颜色系统色域的舌头颜色。

    corrgamma
    

    默认情况下,默认情况下,范围内显示正确的gamma

    showwhite
    

    CIE图上显示白点,默认情况下禁用。

    gamma
    

    设置输入gamma。 仅用于XYZ输入颜色空间。

    29.15 codecview

    可视化某些编解码器导出的信息。

    一些编解码器可以使用旁边数据或其他方式通过帧导出信息。 例如,一些基于MPEG的编解码器通过编解码器flags2选项中的export_mvs标志导出运动向量。

    过滤器接受以下选项:

    mv
    

    设置运动矢量以进行可视化。

    mv的可用标志是:

    可用标志 解释
    pf 前向预测的P-framesMVs
    bf 前向预测的B-framesMVs
    bb 向后预测的B-framesMVs
    qp
    

    使用色度平面显示量化参数。

    mv_type, mvt
    

    设置运动矢量类型以进行可视化。 除非由frame_type选项指定,否则包括来自所有帧的MV

    mv_type的可用标志如下:

    标志 解释
    fp 向前预测MVs
    bp 向后预测MVs
    frame_type, ft
    

    设置帧类型以可视化运动矢量。

    frame_type的可用标志如下:

    标志 解释
    if 帧内编码帧(I-frames
    pf 前向预测帧(P-frames)
    bf 双向预测帧(B-frames

    29.15.1 示例

    • 使用ffplay可视化所有帧的前向预测MVs

        ffplay -flags2 +export_mvs input.mp4 -vf codecview=mv_type=fp
      
    • 使用ffplay可视化PB帧的多方向MVs

        ffplay -flags2 +export_mvs input.mp4 -vf codecview=mv=pf+bf+bb
      

    29.16 colorbalance

    修改输入帧的原色(红色,绿色和蓝色)的强度。

    滤镜允许在阴影,中间调或高光区域调整输入帧,以获得红色 - 青色,绿色 - 品红色或蓝 - 黄色平衡。

    正调整值将平衡移向原色,朝向互补色移动负值。

    过滤器接受以下选项:

    rs
    gs 
    bs
    

    调整红色,绿色和蓝色阴影(最暗的像素)。

    rm
    gm
    bm
    

    调整红色,绿色和蓝色中间调(中等像素)。

    rh
    gh
    bh
    

    调整红色,绿色和蓝色高光(最亮像素)。

    选项的允许范围是[-1.0,1.0]。 默认值为0

    29.16.1 示例

    • 为阴影添加红色偏色:

        colorbalance=rs=.3
      

    29.17 colorkey

    RGB色彩空间颜色键控。

    过滤器接受以下选项:

    color
    

    颜色将被透明度取代。

    similarity
    

    与关键颜色的相似百分比。

    0.01仅匹配确切的键颜色,而1.0匹配所有内容。

    blend
    

    混合百分比。

    0.0使像素完全透明或根本不透明。

    较高的值导致半透明像素,透明度越高,像素颜色与关键颜色越相似。

    29.17.1 示例

    • 使输入图像中的每个绿色像素都透明:

        ffmpeg -i input.png -vf colorkey=green out.png
      
    • 在静态背景图像上叠加绿屏视频:

        ffmpeg -i background.png -i video.mp4 -filter_complex "[1:v]colorkey=0x3BBD1E:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" output.flv
      

    29.18 colorlevels

    使用级别调整视频输入帧。

    过滤器接受以下选项:

    rimin
    gimin
    bimin
    aimin
    

    调整红色,绿色,蓝色和alpha输入黑点。 选项的允许范围是[-1.0,1.0]。 默认值为0

    rimax
    gimax
    bimax
    aimax
    

    调整红色,绿色,蓝色和alpha输入白点。 选项的允许范围是[-1.0,1.0]。 默认值为1

    输入levels用于淡化高光(亮色调),使阴影变暗(暗色调),改变亮色调和暗色调的平衡。

    romin
    gomin
    bomin
    aomin
    

    调整红色,绿色,蓝色和alpha输出黑点。 选项的允许范围是[0,1.0]。 默认值为0

    romax
    gomax
    bomax
    aomax
    

    调整红色,绿色,蓝色和alpha输出白点。 选项的允许范围是[0,1.0]。 默认值为1

    输出levels允许手动选择受约束的输出level范围。

    29.18.1 示例

    • 使视频输出更暗:

        colorlevels=rimin=0.058:gimin=0.058:bimin=0.058
      
    • 增加对比度:

        colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96
      
    • 使视频输出更轻:

        colorlevels=rimax=0.902:gimax=0.902:bimax=0.902
      
    • 增加亮度:

        colorlevels=romin=0.5:gomin=0.5:bomin=0.5
      

    29.19 colorchannelmixer

    通过重新混合颜色通道来调整视频输入帧。

    此滤镜通过添加与相同像素的其他通道关联的值来修改颜色通道。 例如,如果要修改的值为红色,则输出值将为:

    red=red*rr + blue*rb + green*rg + alpha*ra
    

    过滤器接受以下选项:

    rr
    rg
    rb
    ra
    

    调整输入红色,绿色,蓝色和alpha通道对输出红色通道的贡献。 rr的默认值为1rgrbra的默认值为0

    gr
    gg
    gb
    ga
    

    调整输入红色,绿色,蓝色和alpha通道对输出绿色通道的贡献。 对于gg,默认值为1,对于grgbga,默认值为0

    br
    bg
    bb
    ba
    

    调整输入红色,绿色,蓝色和alpha通道对输出蓝色通道的贡献。 bb的默认值为1brbgba的默认值为0

    ar
    ag
    ab
    aa
    

    调整输入红色,绿色,蓝色和alpha通道对输出alpha通道的贡献。 aa的默认值为1aragab的默认值为0

    选项的允许范围是[-2.0,2.0]

    29.19.1 示例

    • 将源转换为灰度:

        colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3
      
    • 模拟棕褐色调:

        colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131
      

    相关文章

      网友评论

        本文标题:FFplay文档解读-27-视频过滤器二

        本文链接:https://www.haomeiwen.com/subject/dezyfqtx.html