美文网首页FFPlay专辑
FFplay文档解读-44-视频过滤器十九

FFplay文档解读-44-视频过滤器十九

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

    前言

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

    29.180 uspp

    应用超slow/simple的后处理过滤器,在多个(或‘quality’``level 8 - all的情况)位移的情况下压缩和解压缩图像并平均结果。

    这与spp行为的不同之处在于uspp实际上使用libavcodec Snow对每个案例进行编码和解码,而spp使用类似于MJPEG的简化帧内8x8 DCT

    过滤器接受以下选项:

    quality
    

    设定质量。 此选项定义平均的级别数。 它接受0-8范围内的整数。 如果设置为0,则过滤器无效。 值8表示质量更高。 对于该值的每个增量,速度下降约2倍。默认值为3

    qp
    

    强制一个恒定的量化参数。 如果未设置,过滤器将使用视频流中的QP(如果可用)。

    29.181 vaguedenoiser

    应用基于小波的降噪器。

    它使用Cohen-Daubechies-Feauveau 9/7将每个帧从视频输入转换为小波域。 然后它对获得的系数应用一些滤波。 它之后进行逆小波变换。 由于小波属性,它应该提供一个很好的平滑结果,并降低噪音,而不会模糊图片功能。

    此过滤器接受以下选项:

    threshold
    

    过滤强度。 视频越高,过滤的越多。 在视频过滤之前,硬阈值可以使用比软阈值更高的阈值。 默认值为2

    method
    

    过滤器将使用的过滤方法。

    它接受以下值:

    解释
    hard 阈值以下的所有值都将归零
    soft 阈值以下的所有值都将归零。 上述所有值都将减少阈值
    garrote 缩放或无效系数 - (更多)软和(更少)硬阈值之间的中介

    默认值是:garrote

    nsteps
    

    次数,小波将分解图片。 图片不能分解超出特定点(对于8个640x480的帧,因为2^9 = 512 > 480)。 有效值为132之间的整数。默认值为6

    percent
    

    部分完全去噪(受限系数收缩),从0100。默认值为85

    planes
    

    要处理的平面列表。 默认情况下,处理所有平面。

    29.182 vectorscope

    在二维图中显示2个颜色分量值(称为矢量示波器)。

    此过滤器接受以下选项:

    mode, m
    

    设置矢量示波器模式。

    它接受以下值:

    解释
    gray 灰度值显示在图表上,更高的亮度意味着更多像素在图形中的位置上具有相同的组件颜色值。 这是默认模式
    color 灰度值显示在图表上。 视频帧中不存在的周围像素值以由选项xy设置的2个颜色分量的梯度绘制。 第三种颜色成分是静态的
    color2 视频帧中存在的实际颜色分量值显示在图表上
    color3 color2类似,但图表上相同值xy的较高频率会增加另一个颜色分量的值,即xy的默认值
    color4 视频帧中显示的实际颜色显示在图表上。 如果两种不同的颜色映射到图形上的相同位置,则选择具有较高值的图形中不存在的组件的颜色
    color5 灰度值显示在图表上。 与颜色相似,但从径向渐变中选取第3种颜色成分
    x
    

    设置将在X轴上表示的颜色分量。 默认值为1

    y
    

    设置将在Y轴上显示的颜色分量。 默认值为2

    intensity, i
    

    模式使用的设置强度:灰色,颜色,颜色3和颜色5,用于增加颜色分量的亮度,表示图形中(X,Y)位置的频率。

    envelope, e
    
    解释
    none 没有envelope,这是默认的
    instant Instant envelope,即使是最暗的单个像素也会被清晰地突出显示
    peak 保持图表中随时间显示的最大值和最小值。 这样,仍然可以在不经常查看矢量示波器的情况下发现范围值
    peak+instant 峰值和即时包络结合在一起
    graticule, g
    

    设置绘制什么样的经纬网。

    none
    green
    color
    opacity, o
    

    设置经纬网不透明度。

    flags, f
    

    设置经纬网标志。

    标志 解释
    white 绘制白点刻度
    black 绘制黑点的刻度
    name 绘制颜色点短名称
    bgopacity, b
    

    设置背景不透明度。

    lthreshold, l
    

    设置未在X轴或Y轴上显示的颜色分量的低阈值。 低于此值的值将被忽略。 默认值为0。请注意,此值乘以一个像素组件可以具有的实际最大可能值。 因此对于8位输入和0.1的实际阈值的低阈值是0.1 *255 = 25

    hthreshold, h
    

    设置未在X轴或Y轴上显示的颜色分量的高阈值。 高于此值的值将被忽略。 默认值为1。请注意,此值乘以一个像素组件可以具有的实际最大可能值。 因此对于8位输入和0.9的实际阈值的高阈值是0.9 * 255 = 230

    colorspace, c
    

    设置绘制刻度时要使用的颜色空间类型。

    auto
    601
    709
    

    默认值是:auto

    29.183 vidstabdetect

    分析视频稳定/去抖动。执行第1步(共2步),请参阅第2步的vidstabtransform

    此过滤器生成一个文件,其中包含有关后续帧的相对平移和旋转变换信息,然后由vidstabtransform过滤器使用。

    要启用此过滤器的编译,需要使用--enable-libvidstab配置FFmpeg

    此过滤器接受以下选项:

    result
    

    设置用于写入转换信息的文件的路径。默认值为'transforms.trf'

    shakiness
    

    设置视频的抖动程度以及相机的速度。它接受1-10范围内的整数,值1表示少量抖动,值10表示强烈颤抖。默认值为5

    accuracy
    

    设置检测过程的准确性。它必须是1-15范围内的值。值1表示精度低,值15表示高精度。默认值为15

    stepsize
    

    设置搜索过程的步骤。最小的区域以1像素分辨率扫描。默认值为6

    mincontrast
    

    设置最小对比度。低于该值,丢弃本地测量字段。必须是0-1范围内的浮点值。默认值为0.3

    tripod
    

    设置三脚架模式的参考帧编号。

    如果启用,则将帧的运动与过滤流中的参考帧进行比较,该参考帧由指定的数字标识。这个想法是在一个或多或少的静态场景中补偿所有运动,并保持摄像机视图绝对静止。

    如果设置为0,则禁用它。帧从1开始计算。

    show
    

    在结果帧中显示字段和变换。它接受0-2范围内的整数。默认值为0,禁用任何可视化。

    29.183.1 示例

    • 使用默认值:

        vidstabdetect
      
    • 分析强烈抖动的电影并将结果放在文件'mytransforms.trf'中:

        vidstabdetect=shakiness=10:accuracy=15:result="mytransforms.trf"
      
    • 在结果视频中可视化内部转换的结果:

        vidstabdetect=show=1
      
    • 使用ffmpeg分析中等抖动的视频:

        ffmpeg -i input -vf vidstabdetect=shakiness=5:show=1 dummy.avi
      

    29.184 vidstabtransform

    视频stabilization/deshaking:传递2参数中的2,见vidstabdetect传递1

    读取包含每个帧的变换信息的文件并应用/补偿它们。 与vidstabdetect过滤器一起,这可以用于去抖动视频。 另见http://public.hronopik.de/vid.stab。 使用非锐化滤镜也很重要,请参见下文。

    要启用此过滤器的编译,需要使用--enable-libvidstab配置FFmpeg

    29.184.1 Options

    input
    

    设置用于读取变换的文件的路径。 默认值为'transforms.trf'

    smoothing
    

    设置用于低通滤波相机移动的帧数(value*2 + 1)。 默认值为10

    例如,10表示使用21帧(过去10帧,将来10帧)来平滑视频中的运动。 值越大,视频越平滑,但会限制摄像机的加速度(摇摄/俯仰运动)。 0是模拟静态相机的特殊情况。

    optalgo
    

    设置摄像机路径优化算法。

    可接受的值是:

    解释
    gauss 摄像机运动时的高斯核低通滤波器(默认值)
    avg 平均转换
    maxshift
    

    设置要翻译帧的最大像素数。 默认值为-1,表示没有限制。

    maxangle
    

    设置以弧度为单位的最大角度(degree*PI/180)以旋转帧。 默认值为-1,表示没有限制。

    crop
    

    指定如何处理由于运动补偿而可见的边框。

    可用值包括:

    解释
    keep 保留前一帧的图像信息(默认值)
    black 填补黑色边框
    invert
    

    如果设置为1,则反转变换。默认值为0

    relative
    

    如果设置为1,则将变换视为相对于前一帧的变换,如果设置为0,则将其视为绝对值。默认值为0

    zoom
    

    设置缩放百分比。 正值将导致放大效果,缩小效果中的负值。 默认值为0(无缩放)。

    optzoom
    

    设置最佳缩放以避免边框。

    可接受的值如下:

    解释
    0 disabled
    1 确定最佳静态缩放值(只有非常强烈的移动才会导致可见的边框)(默认值)
    2 确定最佳自适应缩放值(不会看到任何边框),请参阅'zoomspeed'

    请注意,缩放时给出的值将添加到此处计算的值。

    zoomspeed
    

    设置百分比以最大限度地缩放每帧(当'optzoom'设置为2时启用)。 范围是05,默认值是0.25

    interpol
    

    指定插值类型。

    可用值包括:

    解释
    no 没有插值
    linear 线性只有水平
    bilinear 两个方向线性(默认)
    bicubic 双向立方(慢)
    tripod
    

    如果设置为1,则启用虚拟三脚架模式,相当于relative = 0:smoothing = 0。 默认值为0

    使用vidstabdetect的三脚架选项。

    debug
    

    如果设置为1,则增加日志详细程度。此外,检测到的全局运动将写入临时文件'global_motions.trf'。 默认值为0

    29.184.2 示例

    • 使用ffmpeg进行默认值的典型稳定:

        ffmpeg -i inp.mpeg -vf vidstabtransform,unsharp=5:5:0.8:3:3:0.4 inp_stabilized.mpeg
      

      请注意始终建议使用非锐化滤镜。

    • 放大一点并从给定文件加载转换数据:

        vidstabtransform=zoom=5:input="mytransforms.trf"
      
    • 更加顺畅地播放视频:

        vidstabtransform=smoothing=30
      

    29.185 vflip

    垂直翻转输入视频。

    例如,要使用ffmpeg垂直翻转视频:

    ffmpeg -i in.avi -vf "vflip" out.avi
    

    29.186 vfrdet

    检测可变帧速率视频。

    此过滤器尝试检测输入是可变还是恒定帧速率。

    最后,它将输出被检测为具有可变delta pts的帧数,以及具有恒定delta pts的帧数。 如果存在具有可变增量的帧,则它还将显示遇到的最小和最大增量。

    29.187 vignette

    制作或扭转自然渐晕效果。

    过滤器接受以下选项:

    angle, a
    

    将镜头角度表达式设置为弧度数。

    该值被剪切在[0,PI/2]范围内。

    默认值:"PI/5"

    x0
    y0
    

    设置中心坐标表达式。 默认情况下分别为"w/2""h/2"

    mode
    

    设置forward/backward模式。

    可用的模式是:

    模式 解释
    forward 距中心点的距离越大,图像越暗
    backward 距中心点的距离越大,图像越亮。 这可以用于反转晕影效果,但是没有自动检测来提取镜头‘angle’和其他设置(yet)。 它还可以用于创建燃烧效果

    默认值是:‘forward’

    eval

    设置表达式的评估模式(‘angle’, ‘x0’, ‘y0’)

    它接受以下值:

    解释
    init 在过滤器初始化期间仅评估表达式一次
    frame 评估每个传入帧的表达式。 这比'init'模式慢,因为它需要重新计算所有的缩放器,但它允许高级动态表达式

    默认值是:‘init’

    dither
    

    设置抖动以减少圆形条带效果。 默认值为1`` (enabled)

    aspect
    

    设置插图方面。 此设置允许调整晕影的形状。 将此值设置为输入的SAR将根据视频的尺寸进行矩形渐晕。

    默认值是1/1

    29.187.1 表达式

    'alpha''x0''y0'表达式可以包含以下参数:

    w
    h
    

    输入宽度和高度。

    n
    

    输入帧的数量,从0开始。

    pts
    

    过滤后的视频帧的PTS(Presentation TimeStamp)时间,以TB为单位表示,如果未定义则为NAN

    r
    

    输入视频的帧速率,如果输入帧速率未知,则为NAN

    t
    

    滤波后视频帧的PTS(Presentation TimeStamp),以秒表示,NAN(如果未定义)

    tb
    

    输入视频的时基。

    29.187.2 示例

    • 应用简单强烈的渐晕效果:

        vignette=PI/4
      
    • 制作一个闪烁的渐晕:

        vignette='PI/4+random(1)*PI/50':eval=frame
      

    29.188 vmafmotion

    获取视频的平均vmaf运动得分。 它是VMAF的组件过滤器之一。

    通过测井系统打印获得的平均运动得分。

    在下面的示例中,正在处理输入文件'ref.mpg'并计算得分。

    ffmpeg -i ref.mpg -lavfi vmafmotion -f null -
    

    29.189 vstack

    垂直堆叠输入视频。

    所有流必须具有相同的像素格式且宽度相同。

    请注意,此滤镜比使用叠加和填充滤镜更快地创建相同的输出。

    过滤器接受以下选项:

    inputs
    

    设置输入流的数量。 默认值为2

    shortest
    

    如果设置为1,则在最短输入终止时强制输出终止。 默认值为0

    相关文章

      网友评论

        本文标题:FFplay文档解读-44-视频过滤器十九

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