FFPlay专辑

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

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

前言

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

29.150 selectivecolor

将青色,品红色,黄色和黑色(CMYK)调整为特定颜色范围(例如"reds""yellows""greens""cyans",......)。 调整范围由颜色的"purity"定义(即,它已经是多么饱和)。

此过滤器类似于Adobe Photoshop Selective Color工具。

过滤器接受以下选项:

correction_method

选择颜色校正方法。

可用的值如下:

解释
absolute 指定的调整“按原样”应用(添加/减去原始像素组件值)
relative 指定的调整与原始组件值相关

默认值是:absolute

reds

红色像素的调整(红色成分最大的像素)

yellows

黄色像素的调整(蓝色成分最小的像素)

greens

绿色像素的调整(绿色成分最大的像素)

cyans

青色像素的调整(红色成分最小的像素)

blues

蓝色像素的调整(蓝色分量最大的像素)

magentas

品红色像素的调整(绿色成分最小的像素)

whites

白色像素的调整(所有组件都大于128的像素)

neutrals

除纯黑色和纯白色外的所有像素的调整

blacks

调整黑色像素(所有组件小于128的像素)

psfile

指定Photoshop选择性颜色文件(.asv)以从中导入设置。

所有调整设置('reds','yellows',...)[-1,1]范围内分别接受最多4个空格分隔的浮点调整值,以调整青色,品红色,黄色和黑色的数量 对于其范围的像素。

29.150.1 示例

29.151 separatefields

独立字段采用基于帧的视频输入,并将每个帧拆分为其组成字段,从而产生新的半高剪辑,帧速率为帧速率的两倍,帧数为两倍。

该过滤器在帧中使用字段优势信息来决定在输出中首先放置哪一对字段。 如果出错,请在单独的字段过滤器之前使用setfield过滤器。

29.152 setdar, setsar

setdar滤波器设置滤波器输出视频的显示宽高比。

这是通过根据以下等式更改指定的Sample(aka Pixel)纵横比来完成的:

DAR = HORIZONTAL_RESOLUTION / VERTICAL_RESOLUTION * SAR

请记住,setdar滤镜不会修改视频帧的像素尺寸。此外,由该滤波器设置的显示宽高比可以通过滤波器链中的后续滤波器来改变,例如,如果是缩放或者应用了另一个setdarsetsar过滤器。

设置滤波器为滤波器输出视频设置采样(aka Pixel)纵横比。

请注意,作为应用此滤波器的结果,输出显示宽高比将根据上面的等式改变。

请记住,由过滤链中的后续过滤器可以更改由setar过滤器设置的样本宽高比,例如,如果应用另一个setarsetdar过滤器。

它接受以下参数:

r,ratio,dar(仅限setdar),sar(仅限setsar)

设置过滤器使用的宽高比。

该参数可以是浮点数字符串,表达式或形式为num:den的字符串,其中numden是宽高比的分子和分母。如果未指定参数,则假定值为0。如果使用num:den形式,则应转义:字符。

max

设置当将表达的宽高比减少到合理时用于表示分子和分母的最大整数值。默认值为100

参数sar是一个包含以下常量的表达式:

E,PI,PHI

这些是数学常数e(欧拉数),pi(希腊语pi)和phi(黄金比例)的近似值。

w,h

输入的宽度和高度。

a

这些与w/h相同。

sar

输入样本宽高比。

dar

输入显示宽高比。它与(w / h)* sar相同。

hsub,vsub

水平和垂直色度子样本值。例如,对于像素格式yuv422phsub2vsub1

29.152.1 示例

29.153 setfield

输出视频帧的强制字段。

setfield过滤器标记输出帧的隔行扫描类型字段。 它不会更改输入帧,而只会设置相应的属性,这会影响后续过滤器(例如fieldorderyadif)处理帧的方式。

过滤器接受以下选项:

auto

可用值如下:

解释
bff 将帧标记为底场优先
tff 将帧标记为顶场优先
prog 将帧标记为渐进式

29.154 showinfo

显示包含每个输入视频帧的各种信息的行。输入视频未被修改。

显示的行包含表单键:值的一系列键/值对。

输出中显示以下值:

n

输入帧的(顺序)编号,从0开始。

pts

输入帧的Presentation TimeStamp,表示为多个时基单位。时基单位取决于滤波器输入焊盘。

pts_time

输入帧的Presentation TimeStamp,表示为秒数。

pos

帧在输入流中的位置,如果此信息不可用和/或无意义(例如在合成视频的情况下),则为-1

fmt

像素格式名称。

sar

输入帧的样本宽高比,以num/den的形式表示。

s

输入框的大小。有关此选项的语法,请检查(ffmpeg-utils)视频大小语法

i

隔行扫描模式的类型(P表示progressivet”表示顶部字段,b表示底部字段优先)。

iskey

如果帧是关键帧,则为1,否则为0

type

输入帧的图像类型(对于I帧为I,对于P帧为P,对于B帧为B,对于未知类型为)。另请参阅AVPictureType枚举文档和'libavutil / avutil.h'中定义的av_get_picture_type_char函数的文档。

checksum

输入帧所有平面的Adler-32校验和(以十六进制打印)。

plane_checksum

输入帧每个平面的Adler-32校验和(以十六进制打印),以[c0 c1 c2 c3]的形式表示。

29.155 showpalette

显示每帧的256色调色板。 此过滤器仅与pal8像素格式帧相关。

它接受以下选项:

s

设置用于表示一个调色板颜色条目的框的大小。 默认值为30(对于30x30像素的盒子)。

29.156 shuffleframes

重新排序和/或复制和/或删除视频帧。

它接受以下参数:

mapping

设置输入帧的目标索引。 这是将输入帧映射到输出帧的空间或|分隔索引列表。 索引数量还设置每个索引可能具有的最大值。 -1索引具有特殊含义,即丢帧。

第一帧的索引为0。默认设置是保持输入不变。

29.156.1 Examples

29.157 shuffleplanes

重新排序和/或复制视频平面。

它接受以下参数:

map0

要用作第一个输出平面的输入平面的索引。

map1

要用作第二个输出平面的输入平面的索引。

map2

要用作第三个输出平面的输入平面的索引。

map3

要用作第四个输出平面的输入平面的索引。

第一个平面的索引为0。默认设置是保持输入不变。

29.157.1 示例

29.158 signalstats

评估有助于确定与模拟视频媒体数字化相关的问题的各种视觉指标。

默认情况下,过滤器将记录这些元数据值:

YMIN

显示输入框中包含的最小Y值。表达范围为[0-255]

YLOW

在输入框内显示10%百分位的Y值。表达范围为[0-255]

YAVG

显示输入框内的平均Y值。表达范围为[0-255]

YHIGH

在输入框内的90%百分位处显示Y值。表达范围为[0-255]

YMAX

显示输入框中包含的最大Y值。表达范围为[0-255]

UMIN

显示输入框中包含的最小U值。表达范围为[0-255]

ULOW

在输入框内显示10%百分位的U值。表达范围为[0-255]

UAVG

显示输入框内的平均U值。表达范围为[0-255]

UHIGH

在输入框内的90%百分位处显示U值。表达范围为[0-255]

UMAX

显示输入框中包含的最大U值。表达范围为[0-255]

VMIN

显示输入框中包含的最小V值。表达范围为[0-255]

VL​​OW

在输入框内显示10%百分位数的V值。表达范围为[0-255]

VAVG

显示输入框内的平均V值。表达范围为[0-255]

VHIGH

在输入框内的90%百分位处显示V值。表达范围为[0-255]

VMAX

显示输入框中包含的最大V值。表达范围为[0-255]

SATMIN

显示输入框中包含的最小饱和度值。表示范围为[0-~181.02]

SATLOW

在输入框内显示10%百分位数的饱和度值。表示范围为[0-~181.02]

SATAVG

显示输入框内的平均饱和度值。表示范围为[0-~181.02]

SATHIGH

在输入框内显示90%百分位数的饱和度值。表示范围为[0-~181.02]

SATMAX

显示输入框中包含的最大饱和度值。表示范围为[0-~181.02]

HUEMED

显示输入框内色调的中值。表示范围为[0-360]

HUEAVG

显示输入框架内色调的平均值。表示范围为[0-360]

YDIF

显示当前帧中Y平面的所有值与前一输入帧的对应值之间的样本值差异的平均值。表达范围为[0-255]

UDIF

显示当前帧中U平面的所有值与前一输入帧的对应值之间的样本值差异的平均值。表达范围为[0-255]

VDIF

显示当前帧中V平面的所有值与前一输入帧的对应值之间的样本值差异的平均值。表达范围为[0-255]

YBITDEPTH

显示当前帧中Y平面的位深度。表示范围为[0-16]

UBITDEPTH

显示当前帧中U平面的位深度。表示范围为[0-16]

VBITDEPTH

显示当前帧中V平面的位深度。表示范围为[0-16]

过滤器接受以下选项:

stat
out

'stat'指定另一种形式的图像分析。

'out'输出视频,突出显示指定类型的像素。

两个选项都接受以下值:

解释
tout 识别时间异常值像素。 时间异常值是与同一场的相邻像素不同的像素。 时间异常值的示例包括视频丢失,磁头阻塞或磁带跟踪问题的结果
vrep 识别垂直线重复。 垂直线重复包括帧内相似的像素行。 在天生数字视频中,垂直线重复很常见,但这种模式在从模拟信号源数字化的视频中并不常见。 当它出现在由模拟信号源数字化产生的视频中时,它可以指示丢失补偿器的隐藏
brng 识别超出合法广播范围的像素
color, c

设置'out'选项的高亮颜色。 默认颜色为黄色。

29.158.1 示例

  命令中使用的signalstat_drawtext.txt的内容是:

time %{pts:hms}
Y (%{metadata:lavfi.signalstats.YMIN}-%{metadata:lavfi.signalstats.YMAX})
U (%{metadata:lavfi.signalstats.UMIN}-%{metadata:lavfi.signalstats.UMAX})
V (%{metadata:lavfi.signalstats.VMIN}-%{metadata:lavfi.signalstats.VMAX})
saturation maximum: %{metadata:lavfi.signalstats.SATMAX}

29.159 signature

计算MPEG-7视频签名。 过滤器可以处理多个输入。 在这种情况下,可以另外计算输入之间的匹配。 过滤器始终通过第一个输入。 每个流的签名可以写入文件。

它接受以下选项:

detectmode

启用或禁用匹配过程。

可用值包括:

解释
off 禁用匹配的计算(默认)
full 计算整个视频的匹配并输出整个视频是匹配还是仅匹配
fast 只计算直到找到匹配或视频结束。 在某些情况下应该更快
nb_inputs

设置输入数量。 选项值必须是非负整数。 默认值为1

filename

设置输出的写入路径。 如果有多个输入,则路径必须是原型,即必须包含%d%0nd(其中n是正整数),它将被输入数字替换。 如果未指定文件名,则不会写入任何输出。 这是默认值。

format

选择输出格式。

可用值包括:

解释
binary 使用指定的二进制表示(默认)
xml 使用指定的xml表示
th_d

设置阈值以检测一个单词是否相似。 选项值必须是大于零的整数。 默认值为9000

th_dc

设置阈值以检测所有单词是否相似。 选项值必须是大于零的整数。 默认值为60000

th_xh

设置阈值以检测帧类似。 选项值必须是大于零的整数。 默认值为116

th_di

在帧中设置序列的最小长度,以将其识别为匹配序列。 选项值必须是非负整数值。 默认值为0

th_it

设置最小关系,匹配帧到所有帧必须具有。 选项值必须是介于01之间的双精度值。默认值为0.5

29.159.1 示例

上一篇下一篇

猜你喜欢

热点阅读