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个空格分隔的浮点调整值,以调整青色,品红色,黄色和黑色的数量 对于其范围的像素。

学习地址:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂
【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~

29.150.1 示例

  • 在每个绿色区域增加青色50%并减少黄色33%,在蓝色区域增加品红27%

      selectivecolor=greens=.5 0 -.33 0:blues=0 .27
    
  • 使用Photoshop选择性颜色预设:

      selectivecolor=psfile=MySelectiveColorPresets/Misty.asv
    

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 示例

  • 要将显示宽高比更改为16:9,请指定以下选项之一:

      setdar=dar=1.77777setdar=dar=16/9
    
  • 要将样本宽高比更改为10:11,请指定:

      setsar=sar=10/11
    
  • 要将显示宽高比设置为16:9,并在宽高比缩减中指定最大整数值1000,请使用以下命令:

      setdar=ratio=16/9:max=1000
    

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

  • 交换输入的每三帧的第二帧和第三帧:

      ffmpeg -i INPUT -vf "shuffleframes=0 2 1" OUTPUT
    
  • 交换输入的每十帧的第10帧和第1帧:

      ffmpeg -i INPUT -vf "shuffleframes=9 1 2 3 4 5 6 7 8 0" OUTPUT
    

29.157 shuffleplanes

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

它接受以下参数:

map0

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

map1

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

map2

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

map3

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

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

29.157.1 示例

  • 交换输入的第二和第三个平面:

      ffmpeg -i INPUT -vf shuffleplanes=0:2:1:3 OUTPUT
    

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 示例

  • 各种视频指标的输出数据:

      ffprobe -f lavfi movie=example.mov,signalstats="stat=tout+vrep+brng" -show_frames
    
  • 输出关于每帧Y平面的最小值和最大值的特定数据:

      ffprobe -f lavfi movie=example.mov,signalstats -show_entries frame_tags=lavfi.signalstats.YMAX,lavfi.signalstats.YMIN
    
  • 播放视频,同时以红色突出显示广播范围之外的像素。

      ffplay example.mov -vf signalstats="out=brng:color=red"
    
  • 通过帧绘制信号状态元数据播放视频。

      ffplay example.mov -vf signalstats=stat=brng+vrep+tout,drawtext=fontfile=FreeSerif.ttf:textfile=signalstat_drawtext.txt
    

  命令中使用的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 示例

  • 要计算输入视频的签名并将其存储在signature.bin中:

      ffmpeg -i input.mkv -vf signature=filename=signature.bin -map 0:v -f null -
    
  • 要检测两个视频是否匹配,并将签名以XML格式存储在signature0.xmlsignature1.xml中:

      ffmpeg -i input1.mkv -i input2.mkv -filter_complex "[0:v][1:v] signature=nb_inputs=2:detectmode=full:format=xml:filename=signature%d.xml" -map :v -f null -
    

FFplay文档解读-41-视频过滤器十六相关推荐

  1. FFplay文档解读-43-视频过滤器十八

    29.170 telecine 将电视电影处理应用于视频. 此过滤器接受以下选项: first_field 选项 解释 top, t top field first bottom, b 底部字段优先默 ...

  2. FFplay文档解读-39-视频过滤器十四

    29.130 prewitt 应用prewitt运算符输入视频流. 过滤器接受以下选项: planes 设置要处理的平面,将复制未处理的平面. 默认值为0xf,将处理所有平面. scale 设定值将与 ...

  3. FFplay文档解读-22-音频过滤器七

    26.60 loudnorm EBU R128响度归一化.包括动态和线性归一化模式.支持单通道(直播,文件)和双通(文件)模式.该算法可以针对IL,LRA和最大真实峰值.为了准确地检测真实峰值,音频流 ...

  4. FFplay文档解读-45-视频过滤器二十

    29.190 w3fdif 对输入视频进行去交错(w3fdif代表Weston 3 Field Deinterlacing Filter). 基于Martin Weston为BBC R&D描述 ...

  5. FFplay文档解读-20-音频过滤器五

    26.41 chorus 为音频添加合唱效果. 可以使单个声音听起来像合唱,但也可以应用于乐器. 合唱类似于具有短延迟的回声效果,但是对于回声,延迟是恒定的,伴随合唱,使用正弦或三角调制来改变它. 调 ...

  6. FFplay文档解读-47-多媒体过滤器一

    32. 多媒体过滤器 以下是当前可用的多媒体过滤器的说明. 32.1 abitscope 将输入音频转换为视频输出,显示音频位范围. 过滤器接受以下选项: rate,r 设置帧速率,表示为每秒帧数. ...

  7. FFplay文档解读-49-多媒体过滤器三

    32.14 sendcmd, asendcmd 将命令发送到filtergraph中的过滤器. 这些过滤器读取要发送到filtergraph中其他过滤器的命令. 必须在两个视频滤镜之间插入sendcm ...

  8. FFplay文档解读-31-视频过滤器六

    29.50 elbg 使用ELBG(增强型LBG)算法应用海报效果. 对于每个输入图像,滤波器将根据码本长度(即不同输出颜色的数量)计算从输入到输出的最佳映射. 此过滤器接受以下选项. codeboo ...

  9. FFplay文档解读-16-音频过滤器一

    26. 音频过滤器 配置FFmpeg构建时,可以使用--disable-filters禁用任何现有过滤器. 配置输出将显示构建中包含的音频过滤器. 以下是当前可用音频过滤器的说明. 26.1 acom ...

最新文章

  1. Ubuntu 14.04 64bit上升级Intel官方集显更新驱动程序
  2. IOS - UITableViewCell的选中时的颜色及tableViewCell的selecte与deselecte
  3. Java伪界面操作数据库的小实例
  4. rediscluster全局数据_redis迁移,从redis cluster集群迁移数据到另外一个redis cluster集群...
  5. 2016年光伏电站交易和融资的十大猜想
  6. sky下载 star_star sky五军之战高清无损下载 star sky 高清mv下载
  7. Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
  8. 7 | Spatial-based GNN/convolution模型之GrapySAGE
  9. 程序员如何写工作日志?
  10. 进博会中国自行车排名辐轮王自行车点赞中国GDP突破一百万亿元
  11. 基础算法:斐波那契函数学习
  12. 阿里和腾讯在泰国热战正酣,马云和马化腾要打世界大战?
  13. oracle goldengate 数据库复制配置手册
  14. 微博登录账号密码终于又找回来了。Mark一下
  15. 最新阿里云服务器和GPU服务器长期优惠活动价格表
  16. 比较器的简单介绍及应用
  17. Nginx是什么?怎么用?(新手入门版)教程
  18. 使用VMware测试U盘启动盘是否制作成功
  19. 编程和乐高机器人的区别
  20. matlab中dare 和care,dare 的用法

热门文章

  1. 二叉树的中序非递归遍历
  2. 从0开始搭建jenkin环境
  3. 这些神器,拯救了千千万万的苦逼程序员
  4. 基于UDP服务实现可靠传输
  5. Vue笔记四:Vue获取DOM元素和组件元素的方法
  6. mysql常用基础语句(整理)
  7. win32编程改变空间的背景颜色
  8. 【IoT库】NB-iot技术、Lora技术、IC卡技术在三表的应用
  9. 计算机基础--符号及符号表
  10. 以中国为中心的世界地图 Echarts