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

FFplay文档解读-32-视频过滤器七

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

    前言

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

    29.60 find_rect

    找到一个矩形对象

    它接受以下选项:

    object
    

    对象图像的文件路径,需要为gray8

    threshold
    

    检测阈值,默认为0.5

    mipmaps
    

    mipmap数量,默认为3

    xmin,ymin,xmax,ymax
    

    指定要搜索的矩形。

    29.60.1 示例

    • 使用ffmpeg生成给定视频的代表性调色板:

        ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv
      

    29.61 cover_rect

    盖住一个矩形物体

    它接受以下选项:

    cover
    

    可选封面图像的文件路径,需要在yuv420中。

    mode
    

    设置覆盖模式。

    它接受以下值:

    解释
    cover 用提供的图像覆盖它
    blur 通过插入周围像素来覆盖它

    默认值是:blur

    29.61.1 示例

    • 使用ffmpeg生成给定视频的代表性调色板:

        ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv
      

    29.62 floodfill

    泛滥区域具有相同像素组件的值与另一个值。

    它接受以下选项:

    x
    

    设置像素x坐标。

    y
    

    设置像素y坐标。

    s0
    

    设置源#0组件值。

    s1
    

    设置源#1组件值。

    s2
    

    设置源#2组件值。

    s3
    

    设置源#3组件值。

    d0
    

    设置目标#0组件值。

    d1
    

    设置目标#1组件值。

    d2
    

    设置目标#2组件值。

    d3
    

    设置目标#3组件值。

    29.63 format

    将输入视频转换为指定的像素格式之一。 Libavfilter将尝试选择一个适合作为下一个过滤器的输入。

    它接受以下参数:

    pix_fmts
    

    一个'|'分隔的像素格式名称列表,例如pix_fmts = yuv420p | monow | rgb24

    29.63.1 示例

    • 将输入视频转换为yuv420p格式:

        format=pix_fmts=yuv420p
      
    • 将输入视频转换为列表中的任何格式:

        format=pix_fmts=yuv420p|yuv444p|yuv410p
      

    29.64 fps

    根据需要通过复制或删除帧将视频转换为指定的恒定帧速率。

    它接受以下参数:

    fps
    

    所需的输出帧速率。 默认值为25

    start_time
    

    假设第一个PTS应该是给定值,以秒为单位。 这允许在流的开始处进行填充/修剪。 默认情况下,不会对第一帧的预期PTS做出任何假设,因此不会进行填充或修剪。 例如,如果视频流在音频流之后开始或者用负PTS修剪任何帧,则可以将其设置为0以用第一帧的重复填充开头。

    round
    

    时间戳(PTS)舍入方法。

    可能的值是:

    解释
    zero round towards 0
    inf round away from 0
    down round towards -infinity
    up round towards +infinity
    near round to nearest

    默认值是:near

    eof_action
    

    读取最后一帧时执行的操作。

    可能的值是:

    |round|使用与其他帧相同的时间戳舍入方法|
    |pass|如果尚未达到输入持续时间,则通过最后一帧|

    默认值是:round

    或者,可以将选项指定为扁平字符串:fps [:start_time [:round]]

    另请参见setpts过滤器

    29.64.1 示例

    • fps设置为25的典型用法:

        fps=fps=25
      
    • fps设置为24,使用缩写和舍入方法舍入到最近:

        fps=fps=film:round=near
      

    29.65 framepack

    将两个不同的视频流打包成立体视频,在支持的编解码器上设置适当的元数据。 两个视图应具有相同的大小和帧速率,并且当较短的视频结束时处理将停止。 请注意,可以使用比例和fps过滤器方便地调整视图属性。

    它接受以下参数:

    format
    

    所需的包装形式。 支持的值是:

    解释
    sbs 视图彼此相邻(默认)
    tab 这些观点是彼此重叠的
    lines 视图按行包装
    columns 视图按列填充
    frameseq 视图暂时交错

    下面是一些示例:

    # Convert left and right views into a frame-sequential video
    ffmpeg -i LEFT -i RIGHT -filter_complex framepack=frameseq OUTPUT
    
    # Convert views into a side-by-side video with the same output resolution as the input
    ffmpeg -i LEFT -i RIGHT -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs OUTPUT
    

    29.66 framerate

    通过从源帧插入新的视频输出帧来更改帧速率。

    此滤镜不适用于隔行扫描媒体。如果您希望更改隔行扫描媒体的帧速率,则需要在此滤波器之前进行去隔行扫描,并在此滤波器后重新隔行扫描。

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

    fps
    

    指定每秒的输出帧数。此选项也可以单独指定为值。默认值为50

    interp_start
    

    指定将创建输出帧的范围的起点,作为两帧的线性插值。范围是[0-255],默认值是15

    interp_end
    

    指定将创建输出帧的范围的结尾作为两个帧的线性插值。范围是[0-255],默认值是240

    scene
    

    将检测到场景变化的级别指定为0100之间的值以指示新场景;较低的值反映了当前帧引入新场景的概率较低,而较高的值意味着当前帧更可能是一个。默认值为8.2

    flags
    

    指定影响过滤器进程的标志。

    标志的可用值是:

    scene_change_detect, scd

    使用选项场景的值启用场景变化检测。 默认情况下启用此标志。

    29.67 framestep

    每第N帧选择一帧。

    此过滤器接受以下选项:

    step
    

    在每个步骤帧后选择帧。 允许的值是高于0的正整数。

    默认值为1

    29.68 frei0r

    frei0r效果应用于输入视频。

    要启用此过滤器的编译,您需要安装frei0r标头并使用--enable-frei0r配置FFmpeg

    它接受以下参数:

    filter_name
    

    要加载的frei0r效果的名称。如果定义了环境变量FREI0R_PATH,则在FREI0R_PATH中以冒号分隔的列表指定的每个目录中搜索frei0r效果。否则,将按以下顺序搜索标准frei0r路径:‘HOME/.frei0r-1/lib/’, ‘/usr/local/lib/frei0r-1/’, ‘/usr/lib/frei0r-1/’

    filter_params
    

    传递给frei0r效果的'|'分隔参数列表。

    frei0r效果参数可以是布尔值(其值为“y”“n”),双精度,颜色(指定为R/G/B,其中R,GB0.00.0之间的浮点数) 1.0(包括))或(ffmpeg-utils)颜色语法中指定的颜色描述,位置(指定为X/Y,其中XY是浮点数)and/or字符串。

    参数的数量和类型取决于加载的效果。如果未指定效果参数,则设置默认值。

    29.68.1 示例

    • 应用distort0r效果,设置前两个双参数:

        frei0r=filter_name=distort0r:filter_params=0.5|0.01
      
    • 应用colordistance效果,将颜色作为第一个参数:

        frei0r=colordistance:0.2/0.3/0.4
        frei0r=colordistance:violet
        frei0r=colordistance:0x112233
      
    • 应用透视效果,指定左上角和右上角的图像位置:

        frei0r=perspective:0.2/0.2|0.8/0.2
      

    有关更多信息,请访问http://frei0r.dyne.org

    29.69 fspp

    应用快速简单的后处理。它是spp的更快版本。

    它将(I)DCT分成水平/垂直通道。与简单的后处理滤波器不同,每个块执行一次,而不是每个像素。这允许更高的速度。

    过滤器接受以下选项:

    quality
    

    设定质量。此选项定义平均的级别数。它接受4-5范围内的整数。默认值为4

    qp
    

    强制一个恒定的量化参数。它接受0-63范围内的整数。如果未设置,过滤器将使用视频流中的QP(如果可用的话)。

    strength
    

    设置过滤器强度。它接受范围为-1532的整数。较低的值意味着更多的细节,但也有更多的伪像,而较高的值使图像更平滑但也更模糊。默认值为0 - PSNR最优。

    use_bframe_qp
    

    如果设置为1,则允许从B帧使用QP。使用此选项可能会导致闪烁,因为B帧通常具有更大的QP。默认值为0(不可用)。

    相关文章

      网友评论

        本文标题:FFplay文档解读-32-视频过滤器七

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