FFPlay专辑

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

2018-11-15  本文已影响11人  张芳涛

前言

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

29.90 kerndeint

通过应用Donald Graft的自适应内核解除来解交织输入视频。 处理视频的隔行扫描部分以生成渐进帧。

接下来的参数的描述如下。

thresh

在确定是否必须处理像素行时,设置影响滤波器容差的阈值。 它必须是[0,255]范围内的整数,默认为10。值为0将导致对每个像素应用该过程。

map

如果设置为1,则将超过阈值的像素绘制为白色。默认值为0

order

设置字段顺序。 交换字段(如果设置为1),如果为0则保留字段。默认值为0

sharp

如果设置为1,则启用其他锐化。默认值为0

twoway

如果设置为1,则启用双向锐化。默认值为0

29.90.1 示例

29.91 lenscorrection

正确的径向镜头失真

该滤波器可用于校正由于使用广角镜头而导致的径向失真,从而重新校正图像。 要找到正确的参数,可以使用可用的工具,例如作为opencv的一部分或简单的反复试验。 要使用opencv,请使用opencv源中的校准样本(在samples/cpp下),并从结果矩阵中提取k1k2系数。

请注意,KDE项目中的开源工具KritaDigikam实际上提供了相同的过滤器。

与晕影滤镜(也可用于补偿镜头误差)相比,此滤镜可校正图像的失真,而晕影可校正亮度分布,因此可能希望在某些情况下同时使用两个滤镜,尽管将拥有 照顾顺序,即是否应在镜头校正之前或之后应用渐晕。

29.91.1 选项

过滤器接受以下选项:

cx

图像焦点的相对x坐标,从而失真的中心。 该值具有范围[0,1]并且表示为图像宽度的分数。 默认值为0.5

cy

图像焦点的相对y坐标,从而是失真的中心。 该值具有范围[0,1]并表示为图像高度的分数。 默认值为0.5

k1

二次校正项的系数。 该值的范围为[-1,1]0表示无更正。 默认值为0

k2

双二次修正项的系数。 该值的范围为[-1,1]0表示无更正。 默认值为0

生成更正的公式是:

r_src = r_tgt *(1 + k1 *(r_tgt / r_0)^ 2 + k2 *(r_tgt / r_0)^ 4)

其中r_0是图像对角线的一半,r_srcr_tgt分别是源图像和目标图像中距焦点的距离。

29.92 libvmaf

获取两个输入视频之间的VMAF(视频多方法评估融合)分数。

通过测井系统打印获得的VMAF分数。

它需要Netflixvmaf库(libvmaf)作为先决条件。安装库后,可以使用以下命令启用它:./ configure --enable-libvmaf。如果未指定模型路径,则使用默认模型:vmaf_v0.6.1.pkl

过滤器有以下选项:

model_path

设置要用于SVM的模型路径。默认值:vmaf_v0.6.1.pkl

log_path

设置用于存储日志的文件路径。

log_fmt

设置日志文件的格式(xmljson)。

enable_transform

启用计算vmaf的转换。

PHONE_MODEL

调用手机型号会产生比常规型号更高的VMAF分数,这更适合于笔记本电脑,电视等观看条件。

PSNR

启用计算psnrvmaf

SSIM

启用与vmaf一起计算ssim

ms_ssim

允许计算ms_ssimvmaf

pool

设置用于计算vmafpool方法(平均值,最小值或调和平均值)。

此过滤器还支持framesync选项。

在下面的例子中,正在处理的输入文件'main.mpg'与参考文件'ref.mpg'进行比较。

ffmpeg -i main.mpg -i ref.mpg -lavfi libvmaf -f null - 

选项示例:

ffmpeg -i main.mpg -i ref.mpg -lavfi libvmaf =“psnr = 1:enable-transform = 1”-f null -

29.93 limiter

将像素组件值限制为指定范围[min,max]

过滤器接受以下选项:

 min

下限。 默认为输入的最低允许值。

max

上限。 默认为输入的最大允许值。

planes

指定要处理的平面。 默认为全部可用。

29.94 loop

循环视频帧。

过滤器接受以下选项:

loop

设置循环次数。 将此值设置为-1将导致无限循环。 默认值为0

size

设置帧数的最大大小。 默认值为0

start

设置第一帧循环。 默认值为0

29.95 lut3d

3D LUT应用于输入视频。

过滤器接受以下选项:

file

设置3D LUT文件名。

目前支持的格式:

支持的格式 解释
3dl AfterEffects
cube Iridas
dat DaVinci
m3d Pandora
interp

选择插值模式。

可用值包括:

解释
nearest 使用最近定义点的值
trilinear 使用定义立方体的8个点来插值
tetrahedral 使用四面体插值

此过滤器还支持framesync选项。

29.96 lumakey

将某些亮度值变为透明度。

过滤器接受以下选项:

threshold

设置将用作透明度基础的亮度。 默认值为0

tolerance

设置要键入的亮度值范围。 默认值为0

softness

设定柔软度范围。 默认值为0。使用此选项可控制从零到完全透明的逐渐过渡。

29.97 lut, lutrgb, lutyuv

计算查找表以将每个像素分量输入值绑定到输出值,并将其应用于输入视频。

lutyuv将查找表应用于YUV输入视频,lutrgb应用于RGB输入视频。

这些过滤器接受以下参数:

c0

设置第一个像素组件表达式

c1

设置第二个像素组件表达式

c2

设置第三像素组件表达式

c3

设置第四个像素组件表达式,对应于alpha组件

r

设置红色组件表达式

g

设置绿色组件表达式

b

设置蓝色组件表达式

a

alpha分量表达式

y

设置Y/luminance分量表达式

u

设置U/Cb组件表达式

v

设置V/Cr组件表达式

它们中的每一个都指定用于计算相应像素分量值的查找表的表达式。

与每个c*选项关联的确切组件取决于输入中的格式。

lut滤波器在输入中需要YUVRGB像素格式,lutrgb在输入中需要RGB像素格式,而lutyuv需要YUV

表达式可以包含以下常量和函数:

w
h

输入的宽度和高度。

val

像素组件的输入值。

clipval

输入值,剪切到minval-maxval范围。

maxval

像素组件的最大值。

minval

像素组件的最小值。

negval

像素分量值的否定值,剪切到minval-maxval范围;它对应于表达式“maxval-clipval + minval”

clip(val)

val中的计算值,剪切到minval-maxval范围。

gammaval(gamma)

计算出的像素分量值的伽马校正值被剪切到minval-maxval范围。它对应于表达式“pow((clipval-minval)/(maxval-minval)\,gamma)*(maxval-minval)+ minval”

所有表达式默认为val

29.97.1 示例

  以上内容与下面的命令效果一样:

    lutrgb="r=negval:g=negval:b=negval"
    lutyuv="y=negval:u=negval:v=negval"

29.98 lut2, tlut2

lut2过滤器采用两个输入流并输出一个流。

tlut2(时间lut2)滤波器从一个流中获取两个连续帧。

此过滤器接受以下参数:

c0

设置第一个像素组件表达式。

c1

设置第二个像素组件表达式。

c2

设置第三像素组件表达式。

c3

设置第四个像素组件表达式,对应于alpha组件。

它们中的每一个都指定用于计算相应像素分量值的查找表的表达式。

与每个c*选项关联的确切组件取决于输入中的格式。

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

w
h

输入的宽度和高度。

x

像素组件的第一个输入值。

y

像素组件的第二个输入值。

bdx

第一个输入视频位深度。

bdy

第二个输入视频位深度。

所有表达式默认为x

29.98.1 示例

29.99 maskedclamp

使用第二个输入和第三个输入流夹住第一个输入流。

返回第一个流的值,使其位于第二个输入流 - undershoot和第三个输入流+``overshoot之间。

此过滤器接受以下选项:

undershoot

默认值为0

overshoot

默认值为0

planes

设置将处理为位图的planes,将从第一个流复制未处理的planes。 默认值为0xf,将处理所有planes

上一篇下一篇

猜你喜欢

热点阅读