英语法语西班牙语

Ad


OnWorks 网站图标

ffmpeg-filters - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 ffmpeg-filters

这是 ffmpeg-filters 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


ffmpeg-filters - FFmpeg 过滤器

商品描述


本文档描述了 libavfilter 库提供的过滤器、源和接收器。

筛选 引言


FFmpeg 中的过滤是通过 libavfilter 库启用的。

在 libavfilter 中,一个过滤器可以有多个输入和多个输出。 为了说明
各种可能的事情,我们考虑以下过滤器图。

[主要]
输入 --> 拆分 ---------------------> 叠加 --> 输出
| ^
|[tmp] [翻转]|
+-----> 裁剪 --> vflip -------+

此过滤器图将输入流拆分为两个流,然后通过
裁剪过滤器和 vflip 过滤器,在将其与其他流合并之前
将其覆盖在上面。 您可以使用以下命令来实现此目的:

ffmpeg -i INPUT -vf "split [main][tmp]; [tmp]crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2" OUTPUT

结果将是视频的上半部分被镜像到视频的下半部分
输出视频。

同一线性链中的过滤器用逗号分隔,不同的线性链
过滤器用分号分隔。 在我们的例子中, 裁剪,vflip 在一个线性链中,
分裂覆盖 分别在另一个。 线性链连接的点是
用方括号括起来的名称标记。 在示例中,拆分过滤器生成
与标签关联的两个输出 [主要][临时].

发送到第二个输出的流 分裂, 标记为 [临时],经过处理
作物 过滤器,裁剪掉视频的下半部分,然后垂直
翻转。 这 覆盖 过滤器将分割过滤器的第一个未改变的输出作为输入
(被标记为 [主要]),并在其下半部分覆盖由
裁剪,vflip 过滤链。

一些过滤器接受输入参数列表:它们在过滤器名称之后指定
和等号,并用冒号隔开。

存在所谓的 资源 过滤器 没有音频/视频输入,以及 水槽
过滤器 不会有音频/视频输出。

图形


图2点 包含在 FFmpeg 中的程序 工具 目录可用于解析
filtergraph 描述并在点中发出相应的文本表示
语言。

调用命令:

图2点 -h

看看如何使用 图2点.

然后,您可以将点描述传递给 程序(来自graphviz套件
程序)并获得 filtergraph 的图形表示。

例如命令序列:

回声| \
工具/graph2dot -o graph.tmp && \
点 -Tpng graph.tmp -o graph.png && \
显示图.png

可用于创建和显示表示由
GRAPH_DESCRIPTION 细绳。 注意这个字符串必须是一个完整的自包含图,
明确定义其输入和输出。 例如,如果您的命令行是
表格:

ffmpeg -i infile -vf scale=640:360 输出文件

选择您 GRAPH_DESCRIPTION 字符串需要采用以下形式:

nullsrc,比例=640:360,nullsink

您可能还需要设置 空源文件 参数并添加一个 格式 过滤以
模拟特定的输入文件。

过滤器 商品描述


过滤器图是连接过滤器的有向图。 它可以包含循环,并且有
可以是一对过滤器之间的多个链接。 每个链接的一侧有一个输入板
将它连接到一个过滤器,它从中获取输入,另一个输出焊盘
一侧将其连接到一个接受其输出的过滤器。

filtergraph 中的每个过滤器都是在
应用程序,它定义了输入和输出焊盘的特性和数量
过滤。

没有输入焊盘的滤波器称为“源”,没有输出焊盘的滤波器称为“源”
称为“水槽”。

过滤图 句法
filtergraph 有一个文本表示,它被识别 -过滤/-vf/-af
-filter_complex 选项 ffmpeg的-vf/-af in ffplay以及由
“avfilter_graph_parse_ptr()”函数定义在 libavfilter/avfilter.h.

过滤器链由一系列连接的过滤器组成,每个过滤器都连接到
序列中的前一个。 过滤器链由以“,”分隔的列表表示
过滤说明。

一个过滤器图由一系列过滤器链组成。 一系列过滤器链是
由“;”分隔的过滤器链描述列表表示。

过滤器由以下形式的字符串表示:
[in_link_1]...[in_link_N]过滤器名称=参数[out_link_1]...[输出链接_M]

过滤器名称 是过滤器类的名称,所描述的过滤器是其实例
of, 并且必须是程序中注册的过滤器类之一的名称。 这
过滤器类的名称后跟一个字符串“=参数".

参数 是一个字符串,其中包含用于初始化过滤器的参数
实例。 它可能具有以下两种形式之一:

· 一个以':'分隔的列表 键=值 对。

· 一个以':'分隔的列表 折扣值. 在这种情况下,键被假定为选项
按照声明的顺序命名。 例如,“淡入淡出”过滤器声明了三个选项
这个命令 - 类型, 起始帧nb_帧. 然后是参数列表 时间:0:30 手段
那个值 in 分配给选项 类型, 0起始帧30
nb_帧.

· 一个以':'分隔的混合直接列表 折扣值 而且很长 键=值 对。 直接 折扣值
必须在 键=值 对,并遵循相同的约束顺序
上一点。 下列 键=值 可以按任何首选顺序设置对。

如果选项值本身是一个项目列表(例如“格式”过滤器需要一个列表
像素格式),列表中的项目通常用 |.

可以使用字符引用参数列表 ' 作为起始和结束标记,以及
人物 \ 用于转义引用文本中的字符; 否则论点
当下一个特殊字符(属于集合
[]=;,) 遇到。

过滤器的名称和参数可以选择在前面和后面跟一个列表
链接标签。 链接标签允许命名链接并将其与过滤器输出相关联
或输入板。 前面的标签 in_link_1 ... in_link_N, 与过滤器相关联
输入垫,以下标签 out_link_1 ... 输出链接_M, 与输出相关联
垫。

当在过滤器图中找到两个同名的链接标签时,
创建相应的输入和输出焊盘。

如果输出焊盘没有标记,默认情况下它会链接到第一个未标记的输入
过滤器链中下一个过滤器的垫。 例如在过滤器链中

nullsrc,拆分[L1],[L2]覆盖,nullsink

拆分过滤器实例有两个输出垫,叠加过滤器实例有两个输入
垫。 split的第一个输出焊盘标记为“L1”,overlay的第一个输入焊盘为
标记为“L2”,split的第二个输出焊盘链接到第二个输入焊盘
叠加层,两者都未标记。

在过滤器描述中,如果未指定第一个过滤器的输入标签,则“in”为
假定; 如果未指定最后一个过滤器的输出标签,则假定为“out”。

在一个完整的过滤器链中,所有未标记的过滤器输入和输出焊盘必须是
连接的。 如果所有滤波器输入和输出焊盘
所有过滤器链都已连接。

Libavfilter 会自动插入 规模 需要格式转换的过滤器。
可以通过以下方式为那些自动插入的缩放器指定 swscale 标志
前置“sws_flags=旗帜;” 到过滤器图描述。

这是 filtergraph 语法的 BNF 描述:

::= 字母数字字符和“_”的序列
::= "[" “]”
::= [ ]
::= 字符序列(可能被引用)
::= [ ] ["=" ] [ ]
::= [, ]
::= [sws_flags= ;] [; ]

on 过滤图 逃逸
Filtergraph 描述组合需要几个级别的转义。 看 “引用
逃跑” 部分 in ffmpeg 实用程序(1) 手册 有关详细信息,
采用逃逸程序。

第一级转义会影响每个过滤器选项值的内容,其中可能包含
用于分隔值的特殊字符“:”,或转义字符“\'”之一。

第二级转义会影响整个过滤器描述,其中可能包含
转义字符“\'”或特殊字符“[],;” 过滤器使用的
描述。

最后,当你在 shell 命令行上指定一个 filtergraph 时,你需要执行一个
包含在其中的 shell 特殊字符的第三级转义。

例如,考虑将以下字符串嵌入到 画图 过滤
描述 文本 值:

这是一个“字符串”:可能包含一个或多个特殊字符

该字符串包含“'”特殊转义字符和“:”特殊字符,因此
它需要以这种方式转义:

text=this is a \'string\'\: 可能包含一个或多个特殊字符

将过滤器描述嵌入到
filtergraph 描述,以转义所有 filtergraph 特殊字符。 因此
上面的例子变成:

drawtext=text=this is a \\\'string\\\'\\: 可能包含一个\,或多个\,特殊字符

(请注意,除了“\'”转义特殊字符外,还需要将“,”
逃脱)。

最后,在编写 filtergraph 描述时需要额外的转义级别
在 shell 命令中,这取决于所采用的 shell 的转义规则。 例如,
假设“\”是特殊的,需要用另一个“\”转义,前面的字符串
最终将导致:

-vf "drawtext=text=this is a \\\\\\'string\\\\\\'\\\\: 可能包含一个\\或多个\\特殊字符"

时间表 编辑


一些过滤器支持通用 enable 选项。 对于支持时间线编辑的过滤器,
此选项可以设置为一个表达式,该表达式在将帧发送到
筛选。 如果评估非零,过滤器将被启用,否则帧
将不变地发送到过滤器图中的下一个过滤器。

该表达式接受以下值:

t 时间戳以秒表示,如果输入时间戳未知,则为 NAN

n 输入帧的序号,从0开始

邮寄 输入帧在文件中的位置,如果未知,则为 NAN

w
h 输入帧的宽度和高度(如果是视频)

此外,这些过滤器支持 enable 可用于重新定义
表达。

像任何其他过滤选项一样, enable 选项遵循相同的规则。

例如,要启用模糊滤镜 (智能模糊) 从 10 秒到 3 分钟,以及
曲线 过滤器从 3 秒开始:

smartblur = enable='between(t,10,3*60)',
曲线 = enable='gte(t,3)' : preset=cross_process

AUDIO 滤波器


当您配置 FFmpeg 构建时,您可以使用以下命令禁用任何现有过滤器
“--禁用过滤器”。 配置输出将显示您的音频过滤器中包含的音频过滤器
建立。

下面是对当前可用的音频过滤器的描述。

淡入淡出
将一个输入音频流的交叉淡入淡出应用到另一个输入音频流。 十字
淡入淡出在第一个流结束附近的指定持续时间内应用。

过滤器接受以下选项:

nb_样本, ns
指定交叉淡入淡出效果必须持续的样本数。 在末尾
淡入淡出效果的第一个输入音频将完全静音。 默认是
44100.

期间, d
指定交叉淡入淡出效果的持续时间。 看 时间 为期 部分 in
ffmpeg 实用程序(1) 手册 对于接受的语法。 默认情况下,持续时间是确定的
by nb_样本. 如果设置,则使用此选项而不是 nb_样本.

重叠, o
第一个流结束是否应该与第二个流开始重叠。 默认启用。

曲线1
设置第一个流的淡入淡出过渡曲线。

曲线2
设置第二个流的淡入淡出过渡曲线。

有关可用曲线类型的说明,请参见 淡化 过滤说明。

国际私人包机价格项目范例

· 从一个输入到另一个输入淡入淡出:

ffmpeg -i first.flac -i second.flac -filter_complex crossfade=d=10:c1=exp:c2=exp output.flac

· 从一个输入到另一个输入淡入淡出但不重叠:

ffmpeg -i first.flac -i second.flac -filter_complex crossfade=d=10:o=0:c1=exp:c2=exp output.flac

延迟
延迟一个或多个音频通道。

延迟通道中的样本充满寂静。

过滤器接受以下选项:

延误
为每个通道设置以毫秒为单位的延迟列表,以“|”分隔。 最后一个
应提供大于 0 的延迟。 未使用的延迟将被默默忽略。 如果
给定延迟的数量小于所有剩余通道的通道数量
不要被延迟。

国际私人包机价格项目范例

· 延迟第一个通道 1.5 秒,延迟第三个通道 0.5 秒并离开
第二个通道(以及可能存在的任何其他通道)不变。

延迟时间=1500|0|500

回声
对输入音频应用回声。

回声是反射声,可以在山间自然发生(有时很大
建筑物)说话或喊叫时; 数字回声效果模仿这种行为,并且
通常用于帮助填充单个乐器或人声的声音。 时差
原始信号和反射之间是“延迟”,
反射信号是“衰减”。 多个回声可以有不同的延迟和衰减。

接受的参数的描述如下。

获得
设置反射信号的输入增益。 默认值为 0.6。

胜出
设置反射信号的输出增益。 默认值为 0.3。

延误
设置原始信号和反射之间的时间间隔列表(以毫秒为单位)
以“|”分隔。 每个“延迟”的允许范围是“(0 - 90000.0]”。默认值为 1000。

衰变
设置以“|”分隔的反射信号响度列表。 每个允许的范围
“衰减”是“(0 - 1.0]”。默认值为0.5。

国际私人包机价格项目范例

· 让它听起来好像实际演奏的乐器数量是原来的两倍:

回声=0.8:0.88:60:0.4

· 如果延迟很短,那么听起来就像一个(金属)机器人在播放音乐:

回声=0.8:0.88:6:0.4

· 更长的延迟听起来像是在山上的露天音乐会:

回声=0.8:0.9:1000:0.3

· 同上,但多了一座山:

aecho=0.8:0.9:1000|1800:0.3|0.25

评价
根据指定的表达式修改音频信号。

此过滤器接受一个或多个表达式(每个通道一个),这些表达式被评估
并用于修改相应的音频信号。

它接受以下参数:

表达式
为每个单独的通道设置以“|”分隔的表达式列表。 如果数量
输入通道大于表达式的数量,最后指定的
表达式用于剩余的输出通道。

频道布局, c
设置输出通道布局。 如果未指定,则通道布局由
表达式的数量。 如果设置为 , 它将默认使用相同的输入通道
布局。

中的每个表达式 表达式 可以包含以下常量和函数:

ch 当前表达式的通道号

n 评估样本的编号,从0开始

s 采样率

t 以秒表示的评估样本的时间

nb_in_频道
nb_out_channels
输入输出通道数

值(CH)
带编号的输入通道的值 CH

注意:这个过滤器很慢。 为了加快处理速度,您应该使用专用过滤器。

国际私人包机价格项目范例

· 半卷:

aeval=val(ch)/2:c=相同

·第二通道反相:

评价=VAL(0)|-VAL(1)

淡化
对输入音频应用淡入/淡出效果。

接受的参数的描述如下。

类型, t
指定效果类型,可以是“in”淡入,也可以是“out”淡出
影响。 默认为“在”。

开始样本, ss
指定开始应用淡入淡出效果的起始样本数。 默认
是0。

nb_样本, ns
指定淡入淡出效果必须持续的样本数。 在结束时
淡入效果输出音频将具有与输入音频相同的音量,在
淡出过渡结束时,输出音频将变为静音。 默认值为 44100。

开始时间, st
指定淡入淡出效果的开始时间。 默认为 0。必须指定该值
作为持续时间; 看 时间 为期 部分 in ffmpeg 实用程序(1) 手册
接受的语法。 如果设置,则使用此选项而不是 开始样本.

期间, d
指定淡入淡出效果的持续时间。 看 时间 为期 部分 in
ffmpeg 实用程序(1) 手册 对于接受的语法。 在淡入效果结束时
在淡出结束时,输出音频将具有与输入音频相同的音量
转换输出音频将是静音。 默认情况下,持续时间由
nb_样本. 如果设置,则使用此选项而不是 nb_样本.

曲线
设置渐变过渡曲线。

它接受以下值:

选择三角形、线性斜率(默认)

奇辛
选择正弦波的四分之一


选择正弦波的一半

灵感
选择指数正弦波

日志 选择对数

伊帕
选择倒抛物线

这里 选择二次方

立方体 选择立方

SQU 选择平方根

CBR 选择立方根

平价 选择抛物线

EXP 选择指数

智信
选择倒四分之一正弦波

一心
选择正弦波的倒半

德西
选择双指数座位

德斯黎
选择双指数 sigmoid

国际私人包机价格项目范例

· 淡入音频的前 15 秒:

淡入淡出=t=in:ss=0:d=15

· 淡出 25 秒音频的最后 900 秒:

淡入淡出=t=out:st=875:d=25

格式
为输入音频设置输出格式约束。 该框架将协商最多
适当的格式以最​​大限度地减少转换。

它接受以下参数:

样本_fmts
以“|”分隔的请求样本格式列表。

采样率
以“|”分隔的请求采样率列表。

频道布局
以“|”分隔的请求通道布局列表。

我们 渠道 布局 部分 in ffmpeg 实用程序(1) 手册 对于所需的语法。

如果省略参数,则允许所有值。

强制输出为无符号 8 位或有符号 16 位立体声

aformat=sample_fmts=u8|s16:channel_layouts=立体声

全部通过
应用具有中心频率(以 Hz 为单位)的两极全通滤波器 频率, 并过滤-
宽度 宽度. 全通滤波器改变音频的频率与相位的关系
不改变其频率与幅度的关系。

过滤器接受以下选项:

频率, f
以赫兹为单位设置频率。

宽度类型
设置方法来指定滤波器的带宽。

h Hz

q Q因子

o 八度

s

宽度, w
以 width_type 为单位指定滤波器的带宽。

合并
将两个或多个音频流合并为一个多声道流。

过滤器接受以下选项:

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

如果输入的通道布局不相交,因此兼容,则通道
输出的布局将相应地设置,通道将重新排序为
必要的。 如果输入的通道布局不是不相交的,则输出将具有所有
第一个输入的通道然后是第二个输入的所有通道,按此顺序,
并且输出的通道布局将是与总数对应的默认值
通道数。

例如,如果第一个输入是 2.1 (FL+FR+LF),第二个输入是 FC+BL+BR,
那么输出将在 5.1 中,通道按以下顺序排列:a1、a2、b1、a3、
b2, b3(a1是第一个输入的第一个通道,b1是第二个输入的第一个通道
输入)。

另一方面,如果两个输入都是立体声,则输出通道将处于默认状态
order:a1、a2、b1、b2,通道布局会任意设置为4.0,可以或
可能不是预期值。

所有输入必须具有相同的采样率和格式。

如果输入的持续时间不同,则输出将以最短的时间停止。

国际私人包机价格项目范例

· 将两个单声道文件合并成一个立体声流:

amovie=left.wav [l] ; 电影=right.mp3 [r] ; [l] [r] 合并

· 假设有 1 个视频流和 6 个音频流的多重合并 输入.mkv:

ffmpeg -i input.mkv -filter_complex "[0:1][0:2][0:3][0:4][0:5][0:6] amerge=inputs=6" -c:a pcm_s16le输出.mkv

混合物
将多个音频输入混合到一个输出中。

请注意,此过滤器仅支持浮动样本( 合并 音频过滤器
支持多种格式)。 如果 混合物 输入有整数样本然后 样本
自动插入以执行转换为浮点样本。

举个例子

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex amix=inputs=3:duration=first:dropout_transition=3 输出

将 3 个输入音频流混合到一个输出,其持续时间与第一个相同
输入和 3 秒的 dropout 转换时间。

它接受以下参数:

输入
输入的数量。 如果未指定,则默认为 2。

为期
如何确定流结束。

最长
最长输入的持续时间。 (默认)

最短的
最短输入的持续时间。

第一
第一次输入的持续时间。

辍学过渡
当输入流结束时,体积重新归一化的转换时间(以秒为单位)。
默认值为 2 秒。

无效
将音频源不变地传递到输出。

阿帕德
用静音填充音频流的末尾。

这可以与 ffmpeg的 -最短 将音频流扩展到相同的长度
作为视频流。

接受的选项的描述如下。

数据包大小
设置静音包大小。 默认值为 4096。

垫长
设置要添加到末尾的静音样本数。 达到该值后,
流终止。 此选项与 整个_len.

整个_len
设置输出音频流中的最小样本总数。 如果值为
长于输入音频长度,静音添加到末尾,直到值
到达。 此选项与 垫长.

如果既不 垫长 也不是 整个_len 选项设置,过滤器将添加静音
无限期地结束输入流。

国际私人包机价格项目范例

·在输入的末尾添加1024个静音样本:

apad=pad_len=1024

· 确保音频输出至少包含 10000 个样本,填充输入
如果需要,请保持沉默:

apad=whole_len=10000

· 用 ffmpeg的 用静音填充音频输入,以便视频流始终
结果最短,使用时会在输出文件中转换到最后
最短的 选项​​:

ffmpeg -i VIDEO -i AUDIO -filter_complex "[1:0]apad" -shortest OUTPUT

移相器
向输入音频添加移相效果。

移相器滤波器在频谱中产生一系列波峰和波谷。 这
波峰和波谷的位置被调制,使它们随时间变化,形成一个
清扫效果。

接受的参数的描述如下。

获得
设置输入增益。 默认值为 0.4。

胜出
设置输出增益。 默认值为 0.74

延迟
以毫秒为单位设置延迟。 默认值为 3.0。

衰变
设置衰减。 默认值为 0.4。

速度
以 Hz 为单位设置调制速度。 默认值为 0.5。

类型
设置调制类型。 默认为三角形。

它接受以下值:

三角形, t
正弦, s

样本
使用 libswresample 库将输入音频重新采样为指定参数。 如果
没有指定则过滤器将自动在其输入和
输出。

此过滤器还能够拉伸/压缩音频数据以使其与时间戳匹配
或注入静音/剪切音频以使其与时间戳相匹配,执行以下组合
两者都做或都不做。

过滤器接受语法 [采样率:]重采样选项,其中 采样率 表示
采样率和 重采样选项 是的清单 =折扣值 对,以“:”分隔。 看
有关受支持选项的完整列表,请参阅 ffmpeg-resampler 手册。

国际私人包机价格项目范例

· 将输入音频重新采样为 44100Hz:

样本=44100

· 将样本拉伸/压缩到给定的时间戳,每个样本最多 1000 个
第二次补偿:

aresample=异步=1000

资产样本
设置每个输出音频帧的样本数。

最后一个输出数据包可能包含不同数量的样本,因为过滤器将刷新
当输入音频信号结束时所有剩余的样本。

过滤器接受以下选项:

nb_out_samples, n
设置每个输出音频帧的帧数。 该数字旨在作为
样本数 渠道. 默认值为 1024。

软垫, p
如果设置为 1,过滤器将用零填充最后一个音频帧,以便最后一个音频帧
帧将包含与前一个相同数量的样本。 默认值为
1.

例如,将每帧采样数设置为 1234 并禁用填充
最后一帧,使用:

asetn样本=n=1234:p=0

砷酸盐
在不改变 PCM 数据的情况下设置采样率。 这将导致速度的变化
和音高。

过滤器接受以下选项:

采样率, r
设置输出采样率。 默认值为 44100 Hz。

展会信息
显示一行,其中包含每个输入音频帧的各种信息。 输入音频是
没有修改。

显示的行包含一系列形式的键/值对 :折扣值.

输出中显示以下值:

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

输入帧的呈现时间戳,以时基为单位; 时基
取决于滤波器输入垫,通常为 1/采样率.

时间点
输入帧的呈现时间戳(以秒为单位)。

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

fmt 示例格式。

布局
渠道布局。


音频帧的采样率。

nb_样本
帧中的样本数(每个通道)。

校验
音频数据的 Adler-32 校验和(以十六进制打印)。 对于平面音频,
数据被视为所有平面都被连接在一起。

平面校验和
每个数据平面的 Adler-32 校验和列表。

统计数据
显示音频通道的时域统计信息。 统计数据是
为每个音频通道计算和显示,并在适用的情况下显示一个整体数字
还给出了。

它接受以下选项:

长度
以秒为单位的短窗口长度,用于峰值和谷值 RMS 测量。 默认是
0.05(50 毫秒)。 允许的范围是“[0.1 - 10]”。

元数据
设置元数据注入。 所有元数据键都以“lavfi.astats.X”为前缀,
其中“X”是从 1 开始的通道号或字符串“Overall”。 默认为禁用。

每个通道的可用键有: DC_offset Min_level Max_level Min_difference
Max_difference Mean_difference Peak_level RMS_peak RMS_trough Crest_factor Flat_factor
峰值计数位深度

总体而言:DC_offset Min_level Max_level Min_difference Max_difference
Mean_difference Peak_level RMS_level RMS_peak RMS_trough Flat_factor Peak_count
位深度 Number_of_samples

例如全键看起来像这样“lavfi.astats.1.DC_offset”或这样
“lavfi.stats.Overall.Peak_count”。

有关每个键的含义的说明,请阅读下文。

重置
设置帧数,之后将重新计算统计数据。 默认是
禁用。

每个显示的参数的描述如下:

DC 抵消
从零开始的平均振幅位移。

分钟 水平
最小样本水平。

max. 水平
最大样本水平。

分钟 差异
两个连续样本之间的最小差异。

max. 差异
两个连续样本之间的最大差异。

平均值 差异
两个连续样本之间的平均差异。 每个差异的平均值
在两个连续样本之间。

高峰 水平 dB
有效值 水平 dB
以 dBFS 为单位测量的标准峰值和 RMS 电平。

有效值 高峰 dB
有效值 dB
在短窗口内测量的 RMS 电平的峰值和谷值。

佳洁士 因素
峰值与 RMS 电平的标准比率(注意:不是以 dB 为单位)。

平面 因素
信号峰值的平坦度(即具有相同值的连续样本)
水平(即 分钟 水平 or max. 水平).

高峰
信号达到的次数(不是样本数) 分钟
水平 or max. 水平.

深度
音频的整体位深度。 用于每个样本的位数。

异步
转发两个音频流并控制转发缓冲区的顺序。

过滤器接受以下选项:

表达式, e
设置决定接下来应该转发哪个流的表达式:如果结果是
否,第一个流被转发; 如果结果为正数或零,则第二个
流被转发。 它可以使用以下变量:

b1 b2
到目前为止在每个流上转发的缓冲区数

s1 s2
到目前为止在每个流上转发的样本数

t1 t2
每个流的当前时间戳

默认值为“t1-t2”,表示始终转发具有
较小的时间戳。

国际私人包机价格项目范例

通过在错误的输入上随机发送缓冲区来进行压力测试“amerge”,同时避免太
很多不同步:

amovie=文件.ogg [a] ; amovie=file.mp3 [b] ;
[a] [b] astreamsync=(2*随机(1))-1+tanh(5*(t1-t2)) [a2] [b2] ;
[a2] [b2] 合并

异步
通过挤压/拉伸和/或丢弃音频数据与时间戳同步
需要时采样/添加静音。

默认情况下未构建此过滤器,请使用 样本 做挤压/拉伸。

它接受以下参数:

补偿
启用拉伸/压缩数据以使其与时间戳匹配。 被禁用
默认。 禁用时,时间间隔会被静音覆盖。

最小增量
要触发的时间戳和音频数据之间的最小差异(以秒为单位)
添加/删除样本。 默认值为 0.1。 如果你得到一个不完美的同步
此过滤器,尝试将此参数设置为 0。

最大补偿
每秒采样数的最大补偿。 仅与补偿=1 相关。 这
默认值为 500。

第一分
假设第一个 PTS 应该是这个值。 时基为 1/采样率。 这个
允许在流开始时进行填充/修剪。 默认情况下,没有假设
关于第一帧的预期 PTS,所以没有填充或修剪。 为了
例如,如果音频流,这可以设置为 0 以用静音填充开头
在视频流之后开始或修剪任何具有负 PTS 的样本,因为
编码器延迟。

节奏
调整音频速度。

过滤器只接受一个参数,即音频速度。 如果未指定,则
过滤器将假定标称 1.0 速度。 速度必须在 [0.5, 2.0] 范围内。

国际私人包机价格项目范例

· 将音频减慢到 80% 的速度:

节奏=0.8

· 将音频加速到 125% 的速度:

节奏=1.25

修剪
修剪输入,使输出包含输入的一个连续子部分。

它接受以下参数:

开始
要保留的部分开始的时间戳(以秒为单位)。 即音频样本
时间戳 开始 将是输出中的第一个样本。

结束 指定将被丢弃的第一个音频样本的时间,即音频样本
紧接在带有时间戳的那个之前 结束 将是最后一个样本
输出。

起始点
与...一样 开始, 除了此选项设置示例中的开始时间戳而不是
秒。

结束点
与...一样 结束,除了此选项以样本而不是秒为单位设置结束时间戳。

为期
输出的最大持续时间(以秒为单位)。

开始样本
应该输出的第一个样本的数量。

结束样本
应该丢弃的第一个样本的数量。

开始, 结束为期 表示为持续时间规格; 看 时间
为期 部分 in ffmpeg 实用程序(1) 手册.

请注意,前两组开始/结束选项和 为期 选项看看
帧时间戳,而 _sample 选项只是计算通过
筛选。 所以 start/end_pts 和 start/end_sample 会给出不同的结果
时间戳错误、不准确或不是从零开始。 另请注意,此过滤器不
修改时间戳。 如果您希望输出时间戳从零开始,请插入
asetpts 过滤器在 atrim 过滤器之后。

如果设置了多个开始或结束选项,此过滤器会尝试贪婪并保留所有
至少匹配指定约束之一的样本。 只保留那部分
一次匹配所有约束,链接多个 atrim 过滤器。

默认值是保留所有输入。 所以可以只设置例如
结束值以在指定时间之前保留所有内容。

例子:

· 删除除输入的第二分钟以外的所有内容:

ffmpeg -i 输入 -af atrim=60:120

· 只保留前 1000 个样本:

ffmpeg -i 输入 -af atrim=end_sample=1000

带通
应用具有中心频率的两极巴特沃斯带通滤波器 频率
(3dB 点)带宽宽度。 这 南玻 选项选择恒定的裙边增益(峰值增益 =
Q) 而不是默认值:恒定 0dB 峰值增益。 滤波器以每倍频程 6dB 的速度衰减
(每十年 20dB)。

过滤器接受以下选项:

频率, f
设置滤波器的中心频率。 默认值为 3000。

南玻 如果设置为 1,则恒定裙边增益。默认为 0。

宽度类型
设置方法来指定滤波器的带宽。

h Hz

q Q因子

o 八度

s

宽度, w
以 width_type 为单位指定滤波器的带宽。

带阻
应用具有中心频率的两极巴特沃斯带阻滤波器 频率
(3dB 点)带宽 宽度. 滤波器以每倍频程 6dB(每十倍频程 20dB)的速度衰减。

过滤器接受以下选项:

频率, f
设置滤波器的中心频率。 默认值为 3000。

宽度类型
设置方法来指定滤波器的带宽。

h Hz

q Q因子

o 八度

s

宽度, w
以 width_type 为单位指定滤波器的带宽。

低音
使用两极搁架滤波器增强或减弱音频的低音(较低)频率
具有类似于标准高保真音调控制的响应。 这也被称为
搁置均衡 (EQ)。

过滤器接受以下选项:

收获, g
给出 0 Hz 的增益。 它的有用范围大约是 -20(对于大切割)到 +20(对于一个
大提升)。 使用正增益时要小心削波。

频率, f
设置滤波器的中心频率,因此可用于扩展或降低
要提升或削减的频率范围。 默认值为 100 Hz。

宽度类型
设置方法来指定滤波器的带宽。

h Hz

q Q因子

o 八度

s

宽度, w
确定过滤器的架子过渡的陡峭程度。

双二阶
应用具有给定系数的双二阶 IIR 滤波器。 在哪里 b0, b1, b2a0, a1, a2
分别是分子和分母系数。

BS2B
鲍尔立体声到双耳转换,提高了立体声耳机的聆听效果
音频记录。

它接受以下参数:

轮廓
预定义的交叉馈送水平。

默认
默认级别(fcut=700,feed=50)。

卡莫伊
Chu Moy 电路(fcut=700,feed=60)。

杰迈尔
Jan Meier 电路(fcut=650,feed=95)。

切入点
截止频率(以赫兹为单位)。

订阅
进给电平(以赫兹为单位)。

频道图
将输入通道重新映射到新位置。

它接受以下参数:

频道布局
输出流的通道布局。

地图 将通道从输入映射到输出。 参数是一个以“|”分隔的映射列表,
每个在“in_channel-out_channel" or 频道内 形式。 频道内 可以是
输入通道的名称(例如左前的 FL)或其在输入通道中的索引
布局。 输出通道 是输出通道的名称或其在输出中的索引
渠道布局。 如果 输出通道 没有给出那么它是一个隐含的索引,开始
每个映射为零并增加一。

如果不存在映射,过滤器将隐式映射输入通道到输出
通道,保留索引。

例如,假设一个 5.1+downmix 输入 MOV 文件,

ffmpeg -i in.mov -filter 'channelmap=map=DL-FL|DR-FR' out.wav

将从输入的下混通道创建一个标记为立体声的输出 WAV 文件。

修复 5.1 WAV 以 AAC 的本机频道顺序不正确编码的问题

ffmpeg -i in.wav -filter 'channelmap=1|2|0|5|3|4:5.1' out.wav

渠道分裂
将输入音频流中的每个通道拆分为单独的输出流。

它接受以下参数:

频道布局
输入流的通道布局。 默认值为“立体声”。

例如,假设一个立体声输入 MP3 文件,

ffmpeg -i in.mp3 -filter_complex channelssplit out.mkv

将创建一个带有两个音频流的输出 Matroska 文件,一个只包含左
通道和另一个正确的通道。

将 5.1 WAV 文件拆分为每个通道的文件:

ffmpeg -i in.wav -filter_complex
'channelsplit=channel_layout=5.1[FL][FR][FC][LFE][SL][SR]'
-map '[FL]' front_left.wav -map '[FR]' front_right.wav -map '[FC]'
front_center.wav -map '[LFE]' lfe.wav -map '[SL]' side_left.wav -map '[SR]'
side_right.wav

合唱
为音频添加合唱效果。

可以使单个人声听起来像合唱,但也可以应用于乐器。

合唱类似于具有短延迟的回声效果,但与回声相比,延迟是
常数,带有合唱,使用正弦或三角调制进行变化。 这
调制深度定义了调制延迟在之前或之后播放的范围
延迟。 因此延迟的声音会听起来更慢或更快,这就是延迟的声音
围绕原声进行调音,就像在合唱中有些人声稍微偏离了关键。

它接受以下参数:

获得
设置输入增益。 默认值为 0.4。

胜出
设置输出增益。 默认值为 0.4。

延误
设置延迟。 典型的延迟约为 40 毫秒到 60 毫秒。

衰变
设置衰减。

速度
设置速度。

深度
设置深度。

国际私人包机价格项目范例

· 单次延迟:

chorus=0.7:0.9:55:0.4:0.25:2

· 两个延迟:

chorus=0.6:0.9:50|60:0.4|0.32:0.25|0.4:2|1.3

· 具有三个延迟的更饱满的合唱:

chorus=0.5:0.9:50|60|40:0.4|0.32|0.3:0.25|0.4|0.3:2|2.3|1.3

压缩扩展
压缩或扩展音频的动态范围。

它接受以下参数:

攻击
衰变
每个通道的时间列表(以秒为单位),其中瞬时电平
输入信号被平均以确定其音量。 攻击 指体积增加
衰变 指体积减少。 大多数情况下,攻击时间
(对声音变大的响应)应该比衰减时间短,因为
与突然的柔和音频相比,人耳对突然响亮的音频更敏感。 一个典型的
攻击值为 0.3 秒,衰减的典型值为 0.8 秒。 如果
指定的攻击和衰减次数低于通道数,最后一组
攻击/衰减将用于所有剩余通道。


传递函数的点列表,以相对于最大值的 dB 为单位指定
可能的信号幅度。 每个关键点列表必须使用以下定义
语法:“x0/y0|x1/y1|x2/y2|....”或“x0/y0 x1/y1 x2/y2 ....”

输入值必须严格按递增顺序排列,但传递函数不会
不必单调上升。 假设点“0/0”但可能会被覆盖
(通过“0/out-dBn”)。 传递函数的典型值为“-70/-70|-60/-20”。

软膝盖
以 dB 为单位设置所有关节的曲线半径。 默认为 0.01。

获得
以 dB 为单位设置要应用于传递函数上所有点的附加增益。
这允许轻松调整整体增益。 它默认为 0。

体积
设置初始音量,以 dB 为单位,在过滤开始时为每个通道假设。
这允许用户最初提供标称水平,例如,
在压缩扩展之前,不会将非常大的增益应用于初始信号电平
开始运作。 最初安静的音频的典型值为 -90 dB。 它
默认为 0。

延迟
设置延迟,以秒为单位。 立即分析输入音频,但音频延迟
在被送入音量调节器之前。 指定延迟大约等于
攻击/衰减时间允许过滤器有效地预测而不是
反应模式。 它默认为 0。

国际私人包机价格项目范例

· 使音乐既安静又响亮,适合在嘈杂的环境中聆听
环境:

compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-90:0.2

另一个带有耳语和爆炸部分的音频示例:

compand=0|0:1|1:-90/-900|-70/-70|-30/-9|0/-3:6:0:0:0

· 当噪声低于信号电平时的噪声门:

compand=.1|.1:.2|.2:-900/-900|-50.1/-900|-50/-50:.01:0:-90:.1

· 这是另一个噪声门,这次是当噪声高于
信号(使其在某些方面类似于静噪):

compand=.1|.1:.1|.1:-45.1/-45.1|-45/-900|0/-900:.01:45:-90:.1

直流移位
对音频应用 DC 偏移。

这对于消除 DC 偏移很有用(可能是由硬件问题引起的)
录音链)来自音频。 DC 偏移的影响减少了净空,因此
体积。 这 统计数据 滤波器可用于确定信号是否具有直流偏移。

转移
设置直流偏移,允许范围为[-1, 1]。 它表示转移的金额
音频。

限幅增益
可选的。 它的值应该远小于 1(例如 0.05 或 0.02)并且用于
防止剪辑。

动态规范
动态音频规范器。

此滤波器对输入音频应用一定量的增益,以使其峰值
幅度达到目标水平(例如 0 dBFS)。 然而,相对于更“简单”
归一化算法,动态音频归一化器*动态*重新调整增益
输入音频的因素。 这允许对“安静”部分应用额外的增益
音频,同时避免失真或剪辑“大声”部分。 换句话说:
Dynamic Audio Normalizer 将“均衡”安静和响亮部分的音量,在
感觉每个部分的音量都达到了相同的目标水平。 但是请注意,
动态音频归一化器实现了这个目标*而不*应用“动态范围
压缩”。它将保留 100% 的动态范围*内*音频的每个部分
文件中。

f 以毫秒为单位设置帧长度。 范围从 10 到 8000 毫秒。 默认
是 500 毫秒。 动态音频归一化器以小的方式处理输入音频
块,称为帧。 这是必需的,因为峰值幅度没有
仅表示单个样本值。 相反,我们需要确定峰值
连续样本值序列的幅度。 虽然“标准”规范化器
将简单地使用完整文件的峰值幅度,Dynamic Audio Normalizer
为每一帧单独确定峰值幅度。 一帧的长度是
以毫秒为单位指定。 默认情况下,动态音频规范器使用帧
500 毫秒的长度,已发现对大多数文件都能产生良好的结果。
请注意,将确定以样本数表示的确切帧长度
自动,基于单个输入音频文件的采样率。

g 设置高斯滤波器窗口大小。 在 3 到 301 的范围内,必须是奇数。
默认为 31。 可能是 Dynamic Audio Normalizer 最重要的参数
是高斯平滑滤波器的“窗口大小”。 过滤器的窗口大小是
以帧为单位指定,以当前帧为中心。 为了简单起见,
这必须是一个奇数。 因此,默认值 31 考虑了
当前帧,以及前 15 帧和后 15 帧。
使用更大的窗口会产生更强的平滑效果,因此增益会更小
变化,即较慢的增益适应。 相反,使用较小的窗口会导致
较弱的平滑效果,因此增益变化更大,即增益更快
适应。 换句话说,你增加这个值越多,Dynamic
音频归一化器的行为类似于“传统”归一化过滤器。 在
相反,你越是减少这个值,Dynamic Audio Normalizer 就会越多
表现得像一个动态范围压缩器。

p 设置目标峰值。 这指定了最高允许的震级水平
标准化的音频输入。 此过滤器将尝试接近目标峰值幅度
尽可能接近,但同时也确保标准化
信号永远不会超过峰值幅度。 一帧的最大局部增益系数是
由目标峰值幅度直接施加。 默认值为 0.95,因此
留下 5%* 的余量。 不建议超过这个值。

m 设置最大增益系数。 范围从 1.0 到 100.0。 默认值为 10.0。 动态
音频归一化器确定每个输入的最大可能(本地)增益因子
帧,即不会导致削波或失真的最大增益系数。
最大增益因子由帧的最高幅度样本决定。
但是,动态音频归一化器额外限制了帧的最大增益
因子由预定的(全局)最大增益因子决定。 这样做是为了避免
“无声”或几乎无声帧中的过度增益因子。 默认情况下,最大
增益系数为 10.0,对于大多数输入,默认值应该足够了,并且
通常不建议增加这个值。 虽然,对于输入非常
低总音量,可能需要允许更高的增益系数。 笔记,
然而,动态音频规范器并不简单地应用“硬”阈值
(即截止值高于阈值)。 相反,“sigmoid”阈值函数
将被应用。 这样,增益因子将平滑地接近阈值
值,但永远不要超过该值。

r 设置目标 RMS。 范围从 0.0 到 1.0。 默认值为 0.0 - 禁用。 默认情况下,
动态音频归一化器执行“峰值”归一化。 这意味着
每个帧的最大局部增益因子(仅)由帧的最高值定义
幅度样本。 这样,样本可以尽可能地放大,而无需
超过最大信号电平,即没有削波。 然而,可选地,
Dynamic Audio Normalizer 还可以考虑帧的均方根,
缩写为 RMS。 在电气工程中,RMS 通常用于确定
时变信号的功率。 因此认为 RMS 是更好的
“感知响度”的近似值,而不仅仅是查看信号的峰值
震级。 因此,通过将所有帧调整为一个恒定的 RMS 值,一个统一的
可以建立“感知响度”。 如果已指定目标 RMS 值,则
帧的局部增益因子被定义为将导致准确结果的因子
有效值。 但是请注意,最大局部增益系数仍受以下限制
帧的最高幅度样本,以防止剪辑。

n 启用通道耦合。 默认情况下是启用的。 默认情况下,动态音频
归一化器将以相同的量放大所有通道。 这意味着相同的增益
系数将应用于所有通道,即最大可能的增益系数是
由“最响亮”的频道决定。 但是,在某些录音中,可能会发生
不同频道的音量不均匀,例如一个频道可能比
其他的。 在这种情况下,此选项可用于禁用通道
耦合。 这样,每个通道的增益因子将独立确定,
仅取决于单个通道的最高幅度样本。 这允许
协调不同频道的音量。

c 启用直流偏置校正。 默认情况下是禁用的。 一个音频信号(在时间
domain) 是一个样本值序列。 在 Dynamic Audio Normalizer 中,这些示例
无论原始输入如何,值都表示在 -1.0 到 1.0 范围内
格式。 通常,音频信号或“波形”应以零为中心
观点。 这意味着如果我们计算一个文件中所有样本的平均值,或者
单帧,那么结果应该是 0.0 或至少非常接近该值。 如果,
然而,平均值与 0.0 之间存在显着偏差,无论是
正方向或负方向,这称为直流偏置或直流偏移。 由于一个
DC 偏置显然是不可取的,Dynamic Audio Normalizer 提供可选的 DC 偏置
更正。 启用 DC 偏置校正后,Dynamic Audio Normalizer 将
确定每个输入帧的平均值或“DC 校正”偏移量并减去
该值来自所有帧的样本值,以确保这些样本是
再次以 0.0 为中心。 此外,为了避免帧边界处的“间隙”,
DC 校正偏移值将在相邻帧之间平滑插入。

b 启用替代边界模式。 默认情况下是禁用的。 动态音频
Normalizer 考虑每个帧周围的某个邻域。 这包括
前面的帧以及后面的帧。 然而,对于“边界”
帧,位于音频文件的开头和结尾,不是全部
相邻帧可用。 特别是,对于前几帧
音频文件,前面的帧是未知的。 并且,同样地,对于最后几个
音频文件中的帧,后续帧未知。 因此,问题
出现应该为“边界”中丢失的帧假设哪些增益因子
地区。 动态音频规范器实现了两种模式来处理这种情况。
默认边界模式假设丢失帧的增益因子恰好为 1.0,
在开始和结束时产生平滑的“淡入”和“淡出”
分别输入。

s 设置压缩因子。 范围从 0.0 到 30.0。 默认值为 0.0。 默认情况下,
Dynamic Audio Normalizer 不应用“传统”压缩。 这意味着
信号峰值不会被修剪,因此将保留完整的动态范围
在每个当地社区内。 然而,在某些情况下,可能需要结合
动态音频归一化器的归一化算法更“传统”
压缩。 为此,Dynamic Audio Normalizer 提供了一个可选的
压缩(阈值)功能。 如果(且仅当)压缩特征是
启用后,所有输入帧都将先由软拐点阈值函数处理
到实际的标准化过程。 简而言之,阈值函数将
修剪所有幅度超过某个阈值的样本。 然而
动态音频归一化器并不简单地应用一个固定的阈值。 相反,
阈值将针对每个单独的帧进行调整。 一般来说,较小的
参数导致更强的压缩,反之亦然。 低于 3.0 的值不是
推荐,因为可能会出现声音失真。

耳垢
让音频更容易在耳机上收听。

此过滤器将“提示”添加到 44.1kHz 立体声(即音频 CD 格式)音频,以便当
用耳机收听立体声图像从您的头脑内部移动(标准
耳机)到听众的外面和前面(扬声器的标准配置)。

从 SoX 移植。

均衡器
应用两极峰值均衡 (EQ) 滤波器。 使用此滤波器,信号电平在
并且在选定的频率附近可以增加或减少,同时(与带通和
带阻滤波器)在所有其他频率上都保持不变。

为了产生复杂的均衡曲线,可以多次给出这个滤波器,
每个都有不同的中心频率。

过滤器接受以下选项:

频率, f
以 Hz 为单位设置滤波器的中心频率。

宽度类型
设置方法来指定滤波器的带宽。

h Hz

q Q因子

o 八度

s

宽度, w
以 width_type 为单位指定滤波器的带宽。

收获, g
以 dB 为单位设置所需的增益或衰减。 使用正片时要小心剪裁
获得。

国际私人包机价格项目范例

· 在 10 Hz 时衰减 1000 dB,带宽为 200 Hz:

均衡器=f=1000:width_type=h:width=200:g=-10

· Q 2 在 1000 Hz 时应用 1 dB 增益,Q 5 在 100 Hz 时衰减 2 dB:

equalizer=f=1000:width_type=q:width=1:g=2,equalizer=f=100:width_type=q:width=2:g=-5

镶边
对音频应用镶边效果。

过滤器接受以下选项:

延迟
以毫秒为单位设置基本延迟。 范围从 0 到 30。默认值为 0。

深度
以毫秒为单位设置添加的扫描延迟。 范围从 0 到 10。默认值为 2。


设置百分比再生(延迟信号反馈)。 范围从 -95 到 95。默认
值是0。

宽度
设置延迟信号与原始信号混合的百分比。 范围从 0 到 100。默认
值是71。

速度
设置每秒扫描次数 (Hz)。 范围从 0.1 到 10。默认值为 0.5。

塑造
设置扫描波形,可以 三角形的 or 正弦的. 默认值为 正弦的.


为多通道设置扫频波百分比偏移。 范围从 0 到 100。默认值
是25。

插曲
设置延迟线插值, 线性 or 二次的。 默认为 线性.

高通
应用具有 3dB 点频率的高通滤波器。 滤波器可以是单极、
或双极(默认)。 滤波器以每倍频程每极点 6dB 衰减(每倍频程 20dB
每十年极点)。

过滤器接受以下选项:

频率, f
以赫兹为单位设置频率。 默认值为 3000。

极点, p
设置极数。 默认值为 2。

宽度类型
设置方法来指定滤波器的带宽。

h Hz

q Q因子

o 八度

s

宽度, w
以 width_type 为单位指定滤波器的带宽。 仅适用于双极
筛选。 默认值为 0.707q 并给出巴特沃斯响应。

加入
将多个输入流合并为一个多通道流。

它接受以下参数:

输入
输入流的数量。 它默认为 2。

频道布局
所需的输出通道布局。 它默认为立体声。

地图 将通道从输入映射到输出。 参数是一个以“|”分隔的映射列表,
每个在“input_idx.in_channel-out_channel" 形式。 输入idx 是基于 0 的索引
输入流。 频道内 可以是输入通道的名称(例如 FL for
左前)或其在指定输入流中的索引。 输出通道 是的名字
输出通道。

当未明确指定映射时,过滤器将尝试猜测它们。 它
首先尝试找到一个未使用的匹配输入通道,如果失败了
选择第一个未使用的输入通道。

加入 3 个输入(正确设置通道布局):

ffmpeg -i INPUT1 -i INPUT2 -i INPUT3 -filter_complex join=inputs=3 输出

从 5.1 个单通道流构建 6 输出:

ffmpeg -i fl -i fr -i fc -i sl -i sr -i lfe -filter_complex
'join=inputs=6:channel_layout=5.1:map=0.0-FL|1.0-FR|2.0-FC|3.0-SL|4.0-SR|5.0-LFE'
输出

拉德斯帕
加载 LADSPA(Linux Audio Developer's Simple Plugin API)插件。

要启用此过滤器的编译,您需要使用“--enable-ladspa”配置 FFmpeg。

文件, f
指定要加载的 LADSPA 插件库的名称。 如果环境变量
LADSPA_路径 定义后,在每个目录中搜索 LADSPA 插件
由冒号分隔的列表指定 LADSPA_路径, 否则在标准 LADSPA 中
路径,按以下顺序排列: 主页/.ladspa/lib/, /usr/本地/lib/ladspa/,
/usr/lib/ladspa/.

插件 p
指定库中的插件。 一些库只包含一个插件,但是
其他人包含其中许多。 如果没有设置过滤器将列出所有可用的插件
在指定的库中。

控制, c
设置“|” 零个或多个浮点值的控件的分隔列表
确定加载插件的行为(例如延迟、阈值或
获得)。 需要使用以下语法定义控件:
c0=价值0|c1=价值1|c2=价值2|...,哪里 价值 是设置在 i-th 控制。
If 控制 设置为“帮助”,所有可用的控件及其有效范围都是
打印。

采样率, s
指定采样率,默认为 44100。仅在插件具有零输入时使用。

nb_样本, n
设置每个输出帧每个通道的样本数,默认为 1024。仅
如果插件的输入为零,则使用。

期间, d
设置源音频的最短持续时间。 看 时间 为期 部分 in
ffmpeg 实用程序(1) 手册 对于接受的语法。 请注意,由此产生的持续时间可能
大于指定的持续时间,因为生成的音频总是在
一个完整的帧结束。 如果未指定,或表示的持续时间为负数,则
音频应该永远生成。 仅在插件具有零输入时使用。

国际私人包机价格项目范例

· 列出放大器(LADSPA 示例插件)库中的所有可用插件:

ladspa=文件=放大器

· 列出“VCF”中“vcf_notch”插件的所有可用控件及其有效范围
图书馆:

ladspa=f=vcf:p=vcf_notch:c=帮助

· 使用“Computer Music Toolkit”(CMT)插件模拟低质量音频设备
图书馆:

ladspa=file=cmt:plugin=lofi:controls=c0=22|c1=12|c2=12

· 使用 TAP 插件(Tom 的音频处理插件)为音频添加混响:

ladspa=文件=tap_reverb:tap_reverb

· 产生白噪声,幅度为0.2:

ladspa=文件=cmt:noise_source_white:c=c0=.2

· 使用“C* 音频插件”中的“C* Click - Metronome”插件生成 20 bpm 点击
套件”(CAPS)库:

ladspa=file=caps:点击:c=c1=20'

· 应用“C* Eq10X2 - 立体声 10 波段均衡器”效果:

ladspa=caps:Eq10X2:c=c0=-48|c9=-24|c3=12|c4=2

命令

此过滤器支持以下命令:

cN 修改 N-th 控制值。

如果指定的值无效,则忽略它并保留先前的值。

低通
应用具有 3dB 点频率的低通滤波器。 滤波器可以是单极或
双极(默认)。 滤波器以每倍频程每极点 6dB 衰减(每极点 20dB
每十年)。

过滤器接受以下选项:

频率, f
以赫兹为单位设置频率。 默认值为 500。

极点, p
设置极数。 默认值为 2。

宽度类型
设置方法来指定滤波器的带宽。

h Hz

q Q因子

o 八度

s

宽度, w
以 width_type 为单位指定滤波器的带宽。 仅适用于双极
筛选。 默认值为 0.707q 并给出巴特沃斯响应。


混合具有特定增益级别的通道。 过滤器接受输出通道布局
后跟一组通道定义。

此过滤器还旨在有效地重新映射音频流的通道。

过滤器接受以下形式的参数:"l|超出定义|超出定义|……”

l 输出通道布局或通道数

超出定义
输出通道规范,格式为:
"姓名=[获得*]姓名[+[获得*]姓名...]”

姓名
要定义的输出通道,通道名称(FL、FR 等)或通道编号
(c0、c1 等)

获得
通道的乘法系数,1 保持音量不变

姓名
要使用的输入通道,详见out_name; 不能混合命名和
编号输入通道

如果通道规范中的“=”被“<”替换,则该增益
规范将被重新归一化,使总数为 1,从而避免削波噪声。

搅和 例子

例如,如果您想从立体声混音到单声道,但要考虑更大的因素
左声道:

pan=1c|c0=0.9*c0+0.1*c1

自定义的立体声缩混,可自动用于 3、4、5 和 7 通道
环绕:

泛=立体声| FL < FL + 0.5*FC + 0.6*BL + 0.6*SL | FR < FR + 0.5*FC + 0.6*BR + 0.6*SR

需要注意的是 ffmpeg的 集成了一个默认的下混(和上混)系统,应该是
首选(请参阅“-ac”选项),除非您有非常特殊的需求。

重新映射 例子

当且仅当:

*
*

如果所有这些条件都满足,过滤器将通知用户(“Pure channel
检测到映射”),并使用优化的无损方法进行重新映射。

例如,如果您有一个 5.1 源并希望通过删除额外的
渠道:

pan="立体声| c0=FL | c1=FR"

给定相同的音源,您还可以切换左前和右前声道并保持
输入通道布局:

pan="5.1| c0=c1 | c1=c0 | c2=c2 | c3=c3 | c4=c4 | c5=c5"

如果输入是立体声音频流,您可以将前左声道静音(并且仍然保持
立体声通道布局)具有:

pan="立体声|c1=c1"

仍然带有立体声音频流输入,您可以在左前方复制右声道
对:

pan="立体声| c0=FR | c1=FR"

重播收益
ReplayGain 扫描仪过滤器。 此过滤器将音频流作为输入并输出
不变。 在过滤结束时,它会显示“track_gain”和“track_peak”。

重新采样
转换音频采样格式、采样率和通道布局。 这并不意味着
直接使用。

侧链压缩
该滤波器的作用类似于普通压缩器,但能够压缩检测到的信号
使用第二个输入信号。 它需要两个输入流并返回一个输出流。
第一个输入流将根据第二个流信号进行处理。 过滤的
然后可以在处理的后期阶段使用其他滤波器对信号进行滤波。 看
合并 过滤。

过滤器接受以下选项:

门槛
如果第二个流的信号高于此电平,则会影响增益降低
第一个流。 默认为 0.125。 范围在 0.00097563 和 1 之间。


设置信号减少的比率。 1:2 表示如果电平提高 4dB
高于阈值,降低后仅高于2dB。 默认值为 2。
范围在 1 到 20 之间。

攻击
信号在增益之前必须上升到阈值以上的毫秒数
减少开始。 默认值为 20。范围在 0.01 到 2000 之间。

释放
信号在降低之前必须低于阈值的毫秒数
再次下降。 默认值为 250。范围在 0.01 到 9000 之间。

化妆
通过处理后将放大多少信号来设置量。 默认值为 2。
范围是从 1 到 64。

膝盖
围绕阈值弯曲尖锐的拐点,以更柔和地进入增益降低。
默认值为 2.82843。 范围在 1 到 8 之间。

链接
选择是侧链流的所有通道之间的“平均”电平还是
侧链流的更响亮(“最大”)通道影响减少。 默认是
“平均数”。

发现
在“峰值”的情况下应该采用确切的信号还是在“rms”的情况下采用 RMS 信号。
默认为“rms”,主要是更平滑。

国际私人包机价格项目范例

· 完整的 ffmpeg 示例采用 2 个音频输入,第 1 个输入被压缩,具体取决于
第二个输入的信号和稍后要与第二个输入合并的压缩信号:

ffmpeg -i main.flac -i sidechain.flac -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress[compr];[compr][mix]amerge”

静音检测
检测音频流中的静音。

此过滤器在检测到输入音频音量小于或等于时记录一条消息
持续时间大于或等于最小检测噪声的噪声容限值
持续时间。

打印的时间和持续时间以秒表示。

过滤器接受以下选项:

期间, d
设置静音持续时间直到通知(默认为 2 秒)。

噪声, n
设置噪声容限。 可以以 dB 为单位指定(如果“dB”附加到指定的
值)或幅度比。 默认值为 -60dB 或 0.001。

国际私人包机价格项目范例

· 检测 5 秒静音,-50dB 噪声容限:

静音检测=n=-50dB:d=5

·完整的例子 ffmpeg的 在 0.0001 噪声容限下检测静音
沉默.mp3:

ffmpeg -i 静音.mp3 -af 静音检测=噪音=0.0001 -f 空 -

消除沉默
从音频的开头、中间或结尾删除静音。

过滤器接受以下选项:

开始周期
此值用于指示是否应在音频开头修剪音频。 一种
零值表示不应从一开始就修剪静音。 什么时候
指定一个非零值,它会修剪音频,直到找到非静音。 一般,
从音频的开头修剪静音时 开始周期 将是 1 但它可以
增加到更高的值以将所有音频修剪到特定的非静音计数
期间。 默认值为 0。

开始时间
指定在停止修剪之前必须检测到非静音的时间量
声音的。 通过增加持续时间,噪音的爆发可以被视为沉默和
修剪掉。 默认值为 0。

开始阈值
这指示应将哪个样本值视为静音。 对于数字音频,一个
值 0 可能没问题,但对于从模拟录制的音频,您可能希望增加
考虑背景噪声的值。 可以以 dB 为单位指定(如果“dB”是
附加到指定值)或幅度比。 默认值为 0。

停止周期
设置从音频结尾开始修剪静音的计数。 消除沉默
文件中间,指定一个 停止周期 那是消极的。 然后处理这个值
作为正值并用于指示效果应重新开始处理
开始周期,使其适合消除沉默的时间段
音频的中间。 默认值为 0。

停止持续时间
指定在不再复制音频之前必须存在的静音持续时间。 经过
指定更长的持续时间,可以在音频中保留所需的静音。
默认值为 0。

停止阈值
这和 开始阈值 但用于从音频末尾修剪静音。
可以以 dB 为单位指定(如果“dB”附加到指定值)或幅度
比率。 默认值为 0。

离开_沉默
这表明 停止持续时间 音频的长度应保持不变
每个沉默期的开始。 例如,如果您想删除长时间的停顿
单词之间,但不想完全删除停顿。 默认值为 0。

国际私人包机价格项目范例

· 以下示例展示了如何使用此过滤器来开始录制
不包含通常在按下记录之间发生的开始时的延迟
按钮和表演开始:

静音删除=1:5:0.02

三重
使用两极搁架滤波器提高或降低音频的高音(高音)频率
类似于标准高保真音调控制的响应。 这也被称为
搁置均衡 (EQ)。

过滤器接受以下选项:

收获, g
给出 ~22 kHz 和奈奎斯特频率中较低者的增益。 它的
有用的范围大约是 -20(对于大幅削减)到 +20(对于大幅提升)。 提防
使用正增益时的削波。

频率, f
设置滤波器的中心频率,因此可用于扩展或降低
要提升或削减的频率范围。 默认值为 3000 Hz。

宽度类型
设置方法来指定滤波器的带宽。

h Hz

q Q因子

o 八度

s

宽度, w
确定过滤器的架子过渡的陡峭程度。

体积
调整输入音频音量。

它接受以下参数:

体积
设置音频音量表达。

输出值被裁剪为最大值。

输出音量由以下关系给出:

= *

的默认值 体积 是“1.0”。

精确
该参数表示数学精度。

它确定将允许哪些输入样本格式,这会影响精度
的体积缩放。

固定
8 位定点; 这将输入样本格式限制为 U8、S16 和 S32。

浮动
32 位浮点; 这将输入样本格式限制为 FLT。 (默认)

翻番
64 位浮点; 这将输入样本格式限制为 DBL。

重播收益
选择在输入帧中遇到 ReplayGain 端数据时的行为。

下降
删除 ReplayGain 端数据,忽略其内容(默认)。

忽略
忽略 ReplayGain 端数据,但将其保留在帧中。

跟踪时
首选轨道增益(如果存在)。

专辑
更喜欢专辑增益,如果有的话。

回放增益前置放大器
以 dB 为单位的预放大增益应用于选定的重放增益。

默认值 回放增益前置放大器 是0.0。

评估
在计算体积表达式时设置。

它接受以下值:

一旦
在过滤器初始化期间或当 体积
命令已发送

框架
评估每个传入帧的表达式

默认值为 一旦.

体积表达式可以包含以下参数。

n 帧数(从零开始)

nb_频道
通道数

nb_consumed_samples
过滤器消耗的样本数

nb_样本
当前帧中的样本数

邮寄 文件中的原始帧位置

帧 PTS

采样率
采样率

开始
流开始时的 PTS

开始
流开始的时间

t 帧时间

tb 时间戳时基

体积
最后设置的音量值

请注意,当 评估 被设置为 一旦 只有 采样率tb 变量可用,
所有其他变量将评估为 NAN。

命令

此过滤器支持以下命令:

体积
修改体积表达式。 该命令接受相同的语法
相应的选项。

如果指定的表达式无效,则保持其当前值。

回放增益_noclip
通过限制应用的增益来防止削波。

默认值 回放增益_noclip 是1。

国际私人包机价格项目范例

· 将输入音量减半:

音量=音量=0.5
音量=音量=1/2
音量=音量=-6.0206dB

在上面的所有示例中,命名键为 体积 可以省略,例如:

体积=0.5

· 使用定点精度将输入音频功率提高 6 分贝:

音量=音量=6dB:精度=固定

· 时间 10 后淡出音量,湮灭时间为 5 秒:

volume='if(lt(t,10),1,max(1-(t-10)/5,0))':eval=frame

体积检测
检测输入视频的音量。

过滤器没有参数。 输入未修改。 有关体积的统计信息
当到达输入流结束时打印在日志中。

特别是它将显示平均体积(均方根)、最大体积(在每个
样本基础),以及注册体积值的直方图的开头(从
最大值为样本的累积 1/1000)。

所有音量都以相对于最大 PCM 值的分贝为单位。

国际私人包机价格项目范例

以下是输出的摘录:

[Parsed_volumedetect_0 0xa23120] mean_volume:-27 dB
[Parsed_volumedetect_0 0xa23120] max_volume:-4 dB
[Parsed_volumedetect_0 0xa23120] histogram_4db:6
[Parsed_volumedetect_0 0xa23120] histogram_5db:62
[Parsed_volumedetect_0 0xa23120] histogram_6db:286
[Parsed_volumedetect_0 0xa23120] histogram_7db:1042
[Parsed_volumedetect_0 0xa23120] histogram_8db:2551
[Parsed_volumedetect_0 0xa23120] histogram_9db:4609
[Parsed_volumedetect_0 0xa23120] histogram_10db:8409

这意味着:

· 均方能量约为 -27 dB,或 10^-2.7。

· 最大样本在 -4 dB 处,或更准确地说,介于 -4 dB 和 -5 dB 之间。

· -6 dB 有 4 个样本,-62 dB 有 5 个样本,-286 dB 有 6 个样本,等等。

换句话说,将音量提高 +4 dB 不会导致任何削波,将其提高 +5
dB 导致 6 个样本的削波等。

AUDIO 来源


下面是对当前可用音频源的描述。

缓冲器
缓冲音频帧,并使它们可用于过滤器链。

此源主要用于编程使用,特别是通过界面
定义于 libavfilter/asrc_abuffer.h.

它接受以下参数:

时基
将用于提交帧的时间戳的时基。 它必须是
浮点数或 in 分子/分母 形式。

采样率
传入音频缓冲区的采样率。

样本_fmt
传入音频缓冲区的样本格式。 示例格式名称或其
来自枚举 AVSampleFormat 中的相应整数表示
libavutil/samplefmt.h

频道布局
传入音频缓冲区的通道布局。 来自的通道布局名称
channel_layout_map 中 libavutil/channel_layout.c 或其对应的整数
来自 AV_CH_LAYOUT_* 宏的表示 libavutil/channel_layout.h

通道
传入音频缓冲区的通道数。 如果两者 通道
频道布局 被指定,那么它们必须是一致的。

国际私人包机价格项目范例

abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=立体声

将指示源接受 16Hz 的平面 44100 位带符号立体声。 由于
名称为“s16p”的样本格式对应于数字 6 和“立体声”通道布局
对应于值 0x3,这相当于:

abuffer=sample_rate=44100:sample_fmt=6:channel_layout=0x3

评估源
生成由表达式指定的音频信号。

此源在输入中接受一个或多个表达式(每个通道一个),它们是
评估并用于生成相应的音频信号。

此源接受以下选项:

表达式
为每个单独的通道设置以“|”分隔的表达式列表。 万一
频道布局 选项未指定,所选通道布局取决于
提供的表达式数量。 否则最后指定的表达式将应用于
剩余的输出通道。

频道布局, c
设置频道布局。 指定布局中的通道数必须相等
到指定表达式的数量。

期间, d
设置源音频的最短持续时间。 看 时间 为期 部分 in
ffmpeg 实用程序(1) 手册 对于接受的语法。 请注意,由此产生的持续时间可能
大于指定的持续时间,因为生成的音频总是在
一个完整的帧结束。

如果未指定,或者表示的持续时间为负,则音频应该是
永远生成。

nb_样本, n
设置每个输出帧每个通道的样本数,默认为 1024。

采样率, s
指定采样率,默认为 44100。

中的每个表达式 表达式 可以包含以下常量:

n 评估样本的编号,从0开始

t 评估样本的时间以秒表示,从 0 开始

s 采样率

国际私人包机价格项目范例

· 产生沉默:

aevalsrc=0

· 生成频率为 440 Hz 的 sin 信号,将采样率设置为 8000 Hz:

aevalsrc="/sin(440*2*PI*t):s=8000"

· 生成两个通道的信号,指定通道布局(Front Center + Back
中心)明确:

aevalsrc="/sin(420*2*PI*t)|cos(430*2*PI*t):c=FC|BC"

· 产生白噪声:

aevalsrc="/-2+随机(0)”

· 生成调幅信号:

aevalsrc="/sin(10*2*PI*t)*sin(880*2*PI*t)"

· 在 2.5 Hz 载波上生成 360 Hz 双耳节拍:

aevalsrc="/0.1*sin(2*PI*(360-2.5/2)*t) | 0.1*sin(2*PI*(360+2.5/2)*t)"

空源文件
空音频源,返回未处理的音频帧。 它主要用作模板
并用于分析/调试工具,或作为过滤器的来源
忽略输入数据(例如 sox 合成器过滤器)。

此源接受以下选项:

频道布局, cl
指定通道布局,可以是整数或字符串,表示
渠道布局。 默认值为 频道布局 是“立体声”。

检查 channel_layout_map 定义 libavutil/channel_layout.c 对于映射
在字符串和通道布局值之间。

采样率, r
指定采样率,默认为 44100。

nb_样本, n
设置每个请求帧的样本数。

国际私人包机价格项目范例

· 将采样率设置为 48000 Hz,将通道布局设置为 AV_CH_LAYOUT_MONO。

anullsrc=r=48000:cl=4

· 用更明显的语法做同样的操作:

anullsrc=r=48000:cl=单声道

所有参数都需要明确定义。

FLITE
使用 libflite 库合成语音。

要启用此过滤器的编译,您需要使用以下命令配置 FFmpeg
“--启用-libflite”。

请注意,flite 库不是线程安全的。

过滤器接受以下选项:

列表声音
如果设置为 1,则列出可用语音的名称并立即退出。 默认
值是0。

nb_样本, n
设置每帧的最大样本数。 默认值为 512。

文本文件
设置包含要朗读的文本的文件名。

文本
设置要朗读的文本。

语音, v
设置用于语音合成的语音。 默认值为“kal”。 另见
列表声音 选项。

国际私人包机价格项目范例

· 从文件中读取 语音.txt,并使用标准 flite 语音合成文本:

flite=文本文件=speech.txt

· 选择“slt”语音朗读指定文本:

flite=text='再见,Sub-Sub 的可怜恶魔,我是他的评论员':voice=slt

· 输入文本到ffmpeg:

ffmpeg -f lavfi -i flite=text='再见,Sub-Sub 的可怜恶魔,我是他的评论员':voice=slt

· 制作 ffplay 使用“flite”和“lavfi”设备说出指定的文本:

ffplay -f lavfi flite=text='不要再为你所做的事感到悲伤。'

有关 libflite 的更多信息,请查看:http://www.speech.cs.cmu.edu/flite/>

正弦
生成由振幅为 1/8 的正弦波组成的音频信号。

音频信号是位精确的。

过滤器接受以下选项:

频率, f
设置载波频率。 默认值为 440 Hz。

蜂鸣系数, b
以频率每秒启用周期性哔哔声 哔哔声系数 倍承运人
频率。 默认值为 0,表示禁用哔声。

采样率, r
指定采样率,默认为 44100。

期间, d
指定生成的音频流的持续时间。

每帧样本数
设置每个输出帧的样本数,默认为 1024。

国际私人包机价格项目范例

· 生成一个简单的 440 Hz 正弦波:

正弦

· 生成 220 Hz 正弦波,每秒 880 Hz 蜂鸣声,持续 5 秒:

正弦=220:4:d=5
正弦=f=220:b=4:d=5
正弦=频率=220:beep_factor=4:持续时间=5

AUDIO 沉思


下面是对当前可用的音频接收器的描述。

缓冲接收器
缓冲音频帧,并使它们可用于过滤器链的末端。

此接收器主要用于编程使用,特别是通过接口
定义于 libavfilter/buffersink.h 或选项系统。

它接受一个指向 AVABufferSinkContext 结构的指针,该结构定义了传入的
缓冲区的格式,作为不透明参数传递给“avfilter_init_filter”
初始化。

消沉
空音频接收器; 对输入音频完全不做任何事情。 它主要用作
模板并用于分析/调试工具。

视频中心 滤波器


当您配置 FFmpeg 构建时,您可以使用以下命令禁用任何现有过滤器
“--禁用过滤器”。 配置输出将显示包含在您的视频中的视频过滤器
建立。

下面是对当前可用的视频过滤器的描述。

提取物
从输入中提取 alpha 分量作为灰度视频。 这特别有用
字母合并 过滤。

字母合并
用 a 的灰度值添加或替换主输入的 alpha 分量
第二个输入。 这旨在与 提取物 允许传输或
以不支持 alpha 的格式存储具有 alpha 的帧序列
通道。

例如,要从正常的 YUV 编码视频和单独的
创建的视频 提取物,你可能会使用:

电影=in_alpha.mkv [alpha]; [in][alpha] alphamerge [out]

由于此滤波器是为重建而设计的,因此它对帧序列进行操作而无需
考虑时间戳,并在任一输入到达流末尾时终止。 这会
如果您的编码管道丢帧,则会导致问题。 如果您正在尝试应用图像
作为视频流的叠加,考虑 覆盖 改为过滤。

屁股
与相同 字幕 过滤器,除了它不需要 libavcodec 和 libavformat
工作。 另一方面,它仅限于 ASS(Advanced Substation Alpha)字幕文件。

除了来自
字幕 过滤器:

成型
设置整形引擎

可用值为:

汽车
默认的 libass 整形引擎,这是最好的。

简单
快速、字体不可知的整形器,只能进行替换

复杂
使用 OpenType 进行替换和定位的更慢整形器

默认值为“自动”。

噪声
将自适应时间平均降噪器应用于视频输入。

过滤器接受以下选项:

0a 为第一个平面设置阈值 A。 默认值为 1。 有效范围是 0.02 到 0。

0b 为第一个平面设置阈值 B。 默认值为 1。 有效范围是 0.04 到 0。

1a 为第二个平面设置阈值 A。 默认值为 2。 有效范围是 0.02 到 0。

1b 为第二个平面设置阈值 B。 默认值为 2。 有效范围是 0.04 到 0。

2a 为第三个平面设置阈值 A。 默认值为 3。 有效范围是 0.02 到 0。

2b 为第三个平面设置阈值 B。 默认值为 3。 有效范围是 0.04 到 0。

阈值 A 旨在对输入信号和阈值 B 的突然变化做出反应
旨在对输入信号的连续变化做出反应。

s 设置过滤器将用于平均的帧数。 默认为 33。必须是奇数
在 [5, 129] 范围内。

盒子
计算输入帧亮度平面中非黑色像素的边界框。

此过滤器计算包含具有亮度值的所有像素的边界框
大于最小允许值。 描述边界框的参数是
打印在过滤器日志上。

过滤器接受以下选项:

最小值
设置最小亮度值。 默认值为 16。

黑色检测
检测(几乎)全黑的视频间隔。 可用于检测章节
过渡、广告或无效录音。 输出行包含时间
检测到的黑色间隔的开始、结束和持续时间,以秒表示。

为了显示输出行,您需要至少将日志级别设置为
AV_LOG_INFO 值。

过滤器接受以下选项:

black_min_duration, d
设置以秒表示的最小检测到的黑色持续时间。 它必须是一个非
负浮点数。

默认值为 2.0。

picture_black_ratio_th, 图片
设置考虑图片“黑色”的阈值。 表达最小值
比例:

/

一张图片被认为是黑色的。 默认值为 0.98。

像素_黑色_th, 像素
设置考虑像素“黑色”的阈值。

阈值表示像素的最大像素亮度值
被认为是“黑色”。 提供的值根据以下等式进行缩放:

= + *

亮度_范围_大小亮度_最小值_值 取决于输入的视频格式,
YUV 全范围格式的范围是 [0-255],YUV 非全范围格式的范围是 [16-235]
格式。

默认值为 0.10。

下面的例子将最大像素阈值设置为最小值,并检测
只有 2 秒或更多秒的黑色间隔:

黑色检测=d=2:pix_th=0.00

黑框
检测(几乎)全黑的帧。 可用于检测章节
过渡或广告。 输出行由检测到的帧号组成
帧、黑度百分比、文件中的位置(如果已知)或 -1 以及
以秒为单位的时间戳。

为了显示输出行,您需要至少将日志级别设置为
AV_LOG_INFO 值。

它接受以下参数:


必须低于阈值的像素百分比; 它默认为 98。

临界点, 脱粒
低于该阈值的像素值被视为黑色; 它默认为 32。

混合, 混合
将两个视频帧相互混合。

“混合”过滤器接受两个输入流并输出一个流,第一个输入是
“顶”层,第二个输入是“底”层。 输入最短时输出终止
终止。

“tblend”(时间混合)过滤器从一个流中获取两个连续的帧,并且
输出通过在旧帧之上混合新帧获得的结果。

接受的选项的描述如下。

c0_模式
c1_模式
c2_模式
c3_模式
全模式
为特定像素组件或所有像素组件设置混合模式,以防万一
全模式. 默认值为“正常”。

组件模式的可用值是:

增加


燃烧
变暗
差异
差异128

躲闪
排除
辉光
强光
硬混
减轻
线性光

否定
正常
or
覆盖
凤凰
针灯
反映
屏幕
柔光

亮光
XOR
c0_不透明度
c1_不透明度
c2_不透明度
c3_不透明度
全不透明
为特定像素组件或所有像素组件设置混合不透明度,以防万一
全不透明. 仅与像素组件混合模式结合使用。

c0_表达式
c1_表达式
c2_表达式
c3_表达式
全部表达式
为特定像素分量或所有像素分量设置混合表达式,以防万一
全部表达式. 请注意,如果设置了相关模式选项,则将忽略这些选项。

表达式可以使用以下变量:

N 过滤帧的序号,从 0 开始。

X
Y 当前样本的坐标

W
H 当前过滤平面的宽度和高度

SW
SH 宽度和高度比例取决于当前过滤的平面。 这是比例
在相应的亮度平面像素数和当前平面像素之间。
例如,对于 YUV4:2:0,亮度平面的值为“1,1”,而亮度平面的值为“0.5,0.5”
色度平面。

T 当前帧的时间,以秒表示。

最佳, A
第一个视频帧(顶层)当前位置的像素分量值。

底部, B
第二个视频帧的当前位置像素分量的值(底部
层)。

最短的
当最短输入终止时强制终止。 默认为 0。此选项为
仅为“混合”过滤器定义。

重复最后
在流结束后继续应用最后一个底部帧。 值为 0
到达底层的最后一帧后禁用过滤器。 默认值为 1。
此选项仅针对“混合”过滤器定义。

国际私人包机价格项目范例

· 在前 10 秒内应用从底层到顶层的过渡:

blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10)))'

· 应用 1x1 棋盘格效果:

blend=all_expr='if(eq(mod(X,2),mod(Y,2)),A,B)'

· 应用揭开左效果:

blend=all_expr='if(gte(N*SW+X,W),A,B)'

· 应用揭开羽绒效果:

blend=all_expr='if(gte(YN*SH,0),A,B)'

· 应用揭开左上效果:

blend=all_expr='if(gte(T*SH*40+Y,H)*gte((T*40*SW+X)*W/H,W),A,B)'

· 显示当前帧与上一帧的差异:

tblend=all_mode=差异128

盒子模糊
将 boxblur 算法应用于输入视频。

它接受以下参数:

亮度半径, lr
亮度功率, lp
色度半径, cr
色度功率, cp
阿尔法半径, ar
阿尔法功率, ap

接受的选项的描述如下。

亮度半径, lr
色度半径, cr
阿尔法半径, ar
以像素为单位设置框半径的表达式,用于模糊相应的
输入平面。

半径值必须为非负数,且不得大于该值
亮度和 alpha 平面的表达式“min(w,h)/2”和“min(cw,ch)/2”
对于色度平面。

默认值 亮度半径 是“2”。 如果没有指定, 色度半径阿尔法半径
默认设置为相应的值 亮度半径.

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

w
h 以像素为单位的输入宽度和高度。

cw
ch 以像素为单位的输入色度图像宽度和高度。


虚拟机
水平和垂直色度子样本值。 例如,对于像素
格式“yuv422p”, 是2和 虚拟机 是1。

亮度功率, lp
色度功率, cp
阿尔法功率, ap
指定 boxblur 过滤器应用于相应平面的次数。

默认值 亮度功率 是 2. 如果没有指定, 色度功率阿尔法功率
默认设置为相应的值 亮度功率.

值为 0 将禁用该效果。

国际私人包机价格项目范例

· 应用 boxblur 过滤器,将亮度、色度和 alpha 半径设置为 2:

boxblur=luma_radius=2:luma_power=1
框模糊=2:1

· 将亮度半径设置为 2,将 alpha 和色度半径设置为 0:

框模糊=2:1:cr=0:ar=0

· 将亮度和色度半径设置为视频尺寸的一小部分:

boxblur=luma_radius=min(h\,w)/10:luma_power=1:chroma_radius=min(cw\,ch)/10:chroma_power=1

编解码器视图
可视化某些编解码器导出的信息。

一些编解码器可以使用边数据或其他方式通过帧导出信息。 为了
例如,一些基于 MPEG 的编解码器通过 导出MV 在标记
编解码器 flags2 选项。

过滤器接受以下选项:

mv 设置运动矢量以进行可视化。

可用标志 mv 是:

pf P帧的前向预测MV

bf B帧的前向预测MV

bb B帧的后向预测MV

国际私人包机价格项目范例

· 可视化来自 P 和 B 帧的多向 MV 使用 ffplay:

ffplay -flags2 +export_mvs input.mpg -vf codecview=mv=pf+bf+bb

色彩均衡
修改输入帧的原色(红色、绿色和蓝色)的强度。

过滤器允许在阴影、中间调或高光中调整输入帧
红-青、绿-洋红或蓝-黄平衡的区域。

正调整值将平衡移向原色,负值
朝向互补色。

过滤器接受以下选项:

rs
gs
bs 调整红色、绿色和蓝色阴影(最暗的像素)。

rm
gm
bm 调整红色、绿色和蓝色中间色调(中等像素)。

rh
gh
bh 调整红色、绿色和蓝色高光(最亮的像素)。

允许的选项范围是“[-1.0, 1.0]”。 默认值为 0。

国际私人包机价格项目范例

· 为阴影添加红色偏色:

色彩平衡=rs=.3

色键
RGB 色彩空间颜色键控。

过滤器接受以下选项:

颜色
将被透明度替换的颜色。

相似
与关键颜色的相似度百分比。

0.01 只匹配准确的键颜色,而 1.0 匹配所有颜色。

混合
混合百分比。

0.0 使像素要么完全透明,要么根本不透明。

较高的值导致半透明像素,透明度越高,像素越多
相似的像素颜色是关键颜色。

国际私人包机价格项目范例

· 使输入图像中的每个绿色像素透明:

ffmpeg -i input.png -vf colorkey=green out.png

· 在静态背景图像上叠加绿屏视频。

ffmpeg -i background.png -i video.mp4 -filter_complex "[1:v]colorkey=0x3BBD1E:0.3:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]"输出.flv

色阶
使用级别调整视频输入帧。

过滤器接受以下选项:

瑞敏
吉民
比明
阿敏
调整红色、绿色、蓝色和 alpha 输入黑点。 选项的允许范围是
“[-1.0, 1.0]”。 默认值为 0。

里马克斯
吉马克斯
双极
目标
调整红色、绿色、蓝色和 alpha 输入白点。 选项的允许范围是
“[-1.0, 1.0]”。 默认值为 1。

输入电平用于使高光(亮色调)变亮,使阴影变暗(暗
色调),改变明暗色调的平衡。

罗明
五民
波敏
奥敏
调整红、绿、蓝和 alpha 输出黑点。 选项的允许范围是
“[0, 1.0]”。 默认值为 0。

罗麦克斯
橡胶
博美
最大
调整红、绿、蓝和 alpha 输出白点。 选项的允许范围是
“[0, 1.0]”。 默认值为 1。

输出电平允许手动选择受限的输出电平范围。

国际私人包机价格项目范例

· 使视频输出更暗:

色阶=rimin=0.058:gimin=0.058:bimin=0.058

· 增加对比度:

colorlevels=rimin=0.039:gimin=0.039:bimin=0.039:rimax=0.96:gimax=0.96:bimax=0.96

· 使视频输出更轻:

色阶=rimax=0.902:gimax=0.902:bimax=0.902

· 增加亮度:

色阶=romin=0.5:gomin=0.5:bomin=0.5

颜色通道混合器
通过重新混合颜色通道来调整视频输入帧。

此过滤器通过添加与其他通道关联的值来修改颜色通道
相同的像素。 例如,如果要修改的值为红色,则输出值为:

= * + * + * + *

过滤器接受以下选项:

rr
rg
rb
ra 调整输入红色、绿色、蓝色和 alpha 通道对输出红色的贡献
渠道。 默认为 1 rr和0 for rg, rbra.

gr
gg
gb
ga 调整输入红色、绿色、蓝色和 alpha 通道对输出绿色的贡献
渠道。 默认为 1 gg和0 for gr, gbga.

br
bg
bb
ba 调整输入红色、绿色、蓝色和 alpha 通道对输出蓝色的贡献
渠道。 默认为 1 bb和0 for br, bgba.

ar
ag
ab
aa 调整输入红、绿、蓝和 alpha 通道对输出 alpha 的贡献
渠道。 默认为 1 aa和0 for ar, agab.

允许的选项范围是“[-2.0, 2.0]”。

国际私人包机价格项目范例

· 将源转换为灰度:

colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3

· 模拟棕褐色调:

colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131

颜色矩阵
转换颜色矩阵。

过滤器接受以下选项:

SRC
DST 指定源和目标颜色矩阵。 必须指定这两个值。

接受的值为:

bt709
BT.709

bt601
BT.601

smpte240米
SMPTE-240M

FCC FCC

例如要从 BT.601 转换为 SMPTE-240M,请使用以下命令:

颜色矩阵= bt601:smpte240m

复制
将输入源原样复制到输出。 这主要用于测试目的。

作物
将输入视频裁剪到给定的尺寸。

它接受以下参数:

w, 出_w
输出视频的宽度。 它默认为“iw”。 该表达式仅被评估
一次在过滤器配置期间,或当 w or 出_w 命令已发送。

h, 输出_h
输出视频的高度。 它默认为“ih”。 这个表达式被评估
仅在过滤器配置期间一次,或当 h or 输出_h 命令已发送。

x 输入视频中输出视频左边缘的水平位置。 它
默认为“(in_w-out_w)/2”。 该表达式是按帧计算的。

y 输入视频中输出视频上边缘的垂直位置。 它
默认为“(in_h-out_h)/2”。 该表达式是按帧计算的。

保持方面
如果设置为 1 将强制输出显示纵横比与输入相同,通过
改变输出样本纵横比。 它默认为 0。

出_w, 输出_h, x, y 参数是包含以下常量的表达式:

x
y 的计算值 xy. 它们针对每个新帧进行评估。

在_w
在_h
输入宽度和高度。

iw
ih 这些与 在_w在_h.

出_w
输出_h
输出(裁剪)的宽度和高度。

ow
oh 这些与 出_w输出_h.

a 一样 iw / ih

特区 输入样本纵横比

输入显示纵横比,与(iw / ih)* 特区


虚拟机
水平和垂直色度子样本值。 例如对于像素格式
“yuv422p” 是2和 虚拟机 是1。

n 输入帧的编号,从0开始。

邮寄 输入帧在文件中的位置,如果未知,则为 NAN

t 以秒表示的时间戳。 如果输入时间戳未知,则为 NAN。

表达式为 出_w 可能取决于 输出_h,以及表达式 输出_h
可能取决于 出_w,但他们不能依赖 xy作为 xy 评估后
出_w输出_h.

xy 参数指定左上角位置的表达式
输出(非裁剪)区域。 它们针对每一帧进行评估。 如果评估值
无效,它近似于最接近的有效值。

表达式为 x 可能取决于 y,以及表达式 y 可能取决于 x.

国际私人包机价格项目范例

· 在位置 (100) 处大小为 100x12,34 的裁剪区域。

作物=100:100:12:34

使用命名选项,上面的例子变成:

作物=w=100:h=100:x=12:y=34

· 裁剪大小为 100x100 的中央输入区域:

作物=100:100

· 用输入视频的 2/3 大小裁剪中央输入区域:

作物=2/3*in_w:2/3*in_h

· 裁剪输入视频中心方块:

作物=out_w=in_h
作物=in_h

· 用左上角位于 100:100 位置的矩形和
右下角对应于输入图像的右下角。

作物=in_w-100:in_h-100:100:100

· 从左右边框裁剪 10 像素,从顶部和底部裁剪 20 像素
边界

作物=in_w-2*10:in_h-2*20

· 只保留输入图像的右下四分之一:

作物=in_w/2:in_h/2:in_w/2:in_h/2

· 获得希腊和谐的作物高度:

作物=in_w:1/PHI*in_w

· 应用颤抖效果:

crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(n/10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(n/7)

· 根据时间戳应用不稳定的相机效果:

crop=in_w/2:in_h/2:(in_w-out_w)/2+((in_w-out_w)/2)*sin(t*10):(in_h-out_h)/2 +((in_h-out_h)/2)*sin(t*13)"

· 根据 y 的值设置 x:

crop=in_w/2:in_h/2:y:10+10*sin(n/10)

命令

此过滤器支持以下命令:

w, 出_w
h, 输出_h
x
y 设置输出视频的宽度/高度和输入中的水平/垂直位置
视频。 该命令接受相应选项的相同语法。

如果指定的表达式无效,则保持其当前值。

作物检测
自动检测裁剪尺寸。

它计算必要的裁剪参数并通过以下方式打印推荐的参数
日志系统。 检测到的维度对应于输入的非黑色区域
视频。

它接受以下参数:

限制
设置更高的黑值阈值,可以从无中选择指定 (0)
到所有内容(基于 255 位的格式为 8)。 强度值大于集合
值被认为是非黑色的。 默认为 24​​。您也可以指定一个值
0.0 到 1.0 之间,将根据像素的位深度进行缩放
格式。


宽度/高度应该被整除的值。 默认为 16。偏移量
会自动调整以将视频居中。 使用 2 只获得偶数维度
(需要 4:2:2 视频)。 16 在编码到大多数视频编解码器时是最好的。

重置计数, 重置
设置计数器,该计数器确定在多少帧之后cropdetect 将重置
先前检测到的最大视频区域并重新开始检测当前最佳
作物面积。 默认值为 0。

当频道标志扭曲视频区域时,这会很有用。 0 表示'从不
reset',并返回播放过程中遇到的最大区域。

曲线
使用曲线应用颜色调整。

此过滤器类似于 Adob​​e Photoshop 和 GIMP 曲线工具。 每个组件(红色、
绿色和蓝色)的值定义为 N 使用平滑的方法将关键点相互联系起来
曲线。 x 轴代表来自输入帧的像素值,y 轴代表新的
要为输出帧设置的像素值。

默认情况下,组件曲线由两点定义 (0;0)(1;1)。 这创建了一个
每个原始像素值被“调整”到它自己的值的直线,这意味着
图像没有变化。

过滤器允许您重新定义这两个点并添加更多点。 一条新曲线(使用
自然三次样条插值)将被定义为平滑地通过所有这些新的
坐标。 新定义的点需要在 x 轴上严格增加,并且
xy 值必须在 [0;1] 间隔。 如果计算出的曲线碰巧
在向量空间之外,这些值将被相应地裁剪。

如果“x=0”中没有定义关键点,过滤器会自动插入一个 (0;0)
观点。 同理,如果“x=1”中没有定义关键点,过滤器将
自动插入一个 (1;1) 点。

过滤器接受以下选项:

预设
选择一种可用的颜色预设。 除了可以使用此选项
r, g, b 参数; 在这种情况下,后面的选项优先于预设
值。 可用的预设有:

没有
负色
跨进程

增加对比度
打火机
线性对比
中等对比度

强烈对比
酿酒

默认为“无”。

主, m
设置主关键点。 这些点将定义第二遍映射。 这是
有时称为“亮度”或“值”映射。 它可以与 r, g, b or 所有
因为它就像一个后处理 LUT。

红, r
设置红色组件的关键点。

绿色, g
设置绿色组件的关键点。

蓝色, b
设置蓝色组件的关键点。

所有 设置所有组件的关键点(不包括主)。 可以另外使用
到其他关键点组件选项。 在这种情况下,未设置的组件将
对此的后备 所有 设置。

ps文件
指定要从中导入设置的 Photoshop 曲线文件(“.asv”)。

为了避免一些 filtergraph 语法冲突,需要使用定义每个关键点列表
以下语法:“x0/y0 x1/y1 x2/y2 ...”。

国际私人包机价格项目范例

· 稍微增加蓝色的中间等级:

曲线=蓝色='0.5/0.58'

· 复古效果:

curves=r='0/0.11 .42/.51 1/0.95':g='0.50/0.48':b='0/0.22 .49/.44 1/0.8'

在这里,我们为每个组件获得以下坐标:

红色 "(0;0.11) (0.42;0.51) (1;0.95)"

墨绿色
"(0;0) (0.50;0.48) (1;1)"

蓝色
"(0;0.22) (0.49;0.44) (1;0.80)"

· 前面的例子也可以通过相关的内置预设来实现:

曲线=预设=复古

· 或者简单地说:

曲线=复古

· 使用 Photoshop 预设并重新定义绿色组件的点:

曲线=psfile='MyCurvesPresets/purple.asv':green='0.45/0.53'

dctdnoiz
使用 2D DCT(频域滤波)去噪帧。

此过滤器不是为实时设计的。

过滤器接受以下选项:

西格玛, s
设置噪声西格玛常数。

本篇 西格玛 定义了“3 * sigma”的硬阈值; 每个 DCT 系数(绝对
值)低于此阈值并被丢弃。

如果您需要更高级的过滤,请参阅 表达式.

预设为0。

交叠
为每个块设置重叠像素数。 由于过滤器可能很慢,您可能
想要降低这个值,代价是过滤器效率低下和风险
各种文物。

如果重叠值不允许处理整个输入宽度或高度,则
将显示警告,并且不会对边框进行降噪。

默认值为 块大小-1,这是可能的最佳设置。

表达式, e
设置系数因子表达式。

对于 DCT 块的每个系数,此表达式将被评估为乘数
系数的值。

如果设置了此选项,则 西格玛 选项将被忽略。

系数的绝对值可以通过 c 变量。

n 设置 块大小 使用位数。 “1<n" 定义 块大小, 哪一个是
处理块的宽度和高度。

默认值为 3 (8x8) 并且可以提升到 4 查阅 块大小 16x16。 笔记
更改此设置会对速度处理产生巨大影响。 也
更大的块大小并不一定意味着更好的去噪。

国际私人包机价格项目范例

应用降噪 西格玛 4.5:

dctdnoiz=4.5

使用表达式系统可以实现相同的操作:

dctdnoiz=e='gte(c, 4.5*3)'

使用块大小为“16x16”的暴力去噪:

dctdnoiz=15:n=4

解带
从输入视频中去除条带伪影。 它的工作原理是将带状像素替换为
参考像素的平均值。

过滤器接受以下选项:

第 1 个
第 2 个
第 3 个
第 4 个
为每个平面设置条带检测阈值。 默认值为 0.02。 有效范围是
0.00003 到 0.5。 如果当前像素和参考像素之间的差异小于
阈值,它将被视为带状。

范围内, r
条带检测范围(以像素为单位)。 默认为 16。如果为正,则范围内的随机数
0 将使用设置值。 如果为负,将使用精确的绝对值。 这
范围定义了当前像素周围的四个像素的正方形。

方向, d
以弧度为单位设置方向,从中比较四个像素。 如果为正,则随机
将选取从 0 到设置方向的方向。 如果为负,则为绝对值的精确值
将被选中。 例如方向 0、-PI 或 -2*PI 弧度将仅选取像素
同一行和 -PI/2 将仅选择同一列上的像素。

模糊
如果启用,当前像素将与所有四个周围的平均值进行比较
像素。 默认是启用的。 如果禁用的当前像素与所有四个进行比较
周围的像素。 如果只有所有四个差异与
周围像素小于阈值。

抽取
定期丢弃重复的帧。

过滤器接受以下选项:

周期
设置将被丢弃的帧数。 将此设置为 N 意味着一个
每批中的帧 N 帧将被丢弃。 默认值为 5。

脱粒
设置重复检测的阈值。 如果帧的差异度量是
小于或等于此值,则将其声明为重复项。 默认为 1.1

阈值
设置场景变化阈值。 默认值为 15。

块x
短而结实的
设置度量计算期间使用的 x 和 y 轴块的大小。 更大
块提供更好的噪声抑制,但也提供更差的小检测
运动。 必须是二的幂。 默认值为 32。

源文件
将主输入标记为预处理输入并激活干净的源输入流。 这个
允许使用各种过滤器对输入进行预处理以帮助衡量指标
计算,同时保持帧选择无损。 设置为 1 时,第一个
流用于预处理输入,第二个流是来自
选择保留的帧的位置。 默认值为 0。

浓度
设置是否在度量计算中考虑色度。 默认值为 1。

放气
对视频应用放气效果。

此过滤器将像素替换为 本地(3x3) 平均只考虑
值低于像素。

它接受以下选项:

阈值0
阈值1
阈值2
阈值3
限制每个平面的最大变化,默认为 65535。如果为 0,平面将保持不变
不变。

判断
消除部分隔行电视转换内容产生的抖动。

例如,可以通过以下方式引入颤动 拉起 筛选。 如果原始来源是
部分电视转换内容,那么“pullup,dejudder”的输出将有一个变量
帧率。 可能会更改容器的记录帧速率。 除了这个变化,
此过滤器不会影响恒定帧率视频。

此过滤器中可用的选项是:

周期
指定抖动重复的窗口长度。

接受任何大于 1 的整数。有用的值是:

4 如果原件从 24 到 30 fps(电影到 NTSC)进行电视转换。

5 如果原件从 25 到 30 fps(PAL 到 NTSC)进行电视转换。

20 如果两者混合。

默认是 4.

标志
通过对周围像素的简单插值来抑制电视台徽标。 只需设置一个
矩形覆盖徽标并看着它消失(有时甚至更丑
出现 - 您的里程可能会有所不同)。

它接受以下参数:

x
y 指定徽标的左上角坐标。 必须指定它们。

w
h 指定要清除的徽标的宽度和高度。 必须指定它们。

带, t
指定矩形模糊边缘的粗细(添加到 wh)。 该
默认值为 4。

显示
设置为 1 时,会在屏幕上绘制一个绿色矩形以简化找到正确的
x, y, wh 参数。 默认值为 0。

矩形绘制在最外面的像素上,将(部分)替换为
插值。 紧邻此矩形外的下一个像素的值
在每个方向将用于计算内插像素值
长方形。

国际私人包机价格项目范例

· 设置一个矩形覆盖左上角坐标为 0,0 和大小的区域
100x77 和 10 号带:

delogo=x=0:y=0:w=100:h=77:band=10

摇晃
尝试修复水平和/或垂直移位的微小变化。 此过滤器有助于去除
手持相机、碰撞三脚架、在车辆上移动等引起的相机抖动。

过滤器接受以下选项:

x
y
w
h 指定限制运动矢量搜索的矩形区域。 如果需要
对运动矢量的搜索可以限制在帧的矩形区域
由其左上角、宽度和高度定义。 这些参数相同
意思是可用于可视化位置的 drawbox 过滤器
边界框。

当对象在框架内同时移动时,这很有用
通过运动矢量搜索混淆了相机运动。

如果任何或所有 x, y, wh 设置为 -1 然后使用全帧。 这允许
稍后要设置的选项而不指定运动矢量的边界框
搜索。

默认 - 搜索整个框架。

rx
ry 在 0-64 像素范围内指定 x 和 y 方向的最大移动范围。
默认 16。

边缘
指定如何生成像素以填充帧边缘的空白。 可用的
值是:

空白的, 0
在空白位置填零

原始的 1
空白位置的原始图像

钳, 2
空白位置的挤压边缘值

镜子, 3
空白位置的镜像边缘

默认值为 镜面.

块大小
指定用于运动搜索的块大小。 范围 4-128 像素,默认 8。

对比
指定块的对比度阈值。 只有超过指定的块
对比度(最暗和最亮像素之间的差异)将被考虑。 范围
1-255,默认 125。

搜索、
指定搜索策略。 可用值为:

详尽无遗, 0
设置穷举搜索

减, 1
设置不那么详尽的搜索。

默认值为 全面.

文件名
如果设置,则运动搜索的详细日志将写入指定文件。

OpenCL的
如果设置为 1,则指定使用 OpenCL 功能,仅当 FFmpeg 为
配置了“--enable-opencl”。 默认值为 0。

电视电影
应用与电视电影操作完全相反的操作。 它需要一个预定义的模式
使用模式选项指定,该选项必须与传递给电视电影的选项相同
过滤。

此过滤器接受以下选项:

第一个字段
最佳, t
先上场

底部, b
底部字段优先 默认值为“顶部”。

模式
一串数字,代表您要应用的下拉模式。 默认的
值是23。

起始帧
表示第一帧相对于电视电影的位置的数字
图案。 如果流被切断,这将被使用。 默认值为 0。

扩张
对视频应用扩张效果。

此过滤器将像素替换为 本地(3x3) 最大。

它接受以下选项:

阈值0
阈值1
阈值2
阈值3
限制每个平面的最大变化,默认为 65535。如果为 0,平面将保持不变
不变。

坐标
指定要引用的像素的标志。 默认值为 255,即所有八个像素都是
用过的。

标记到本地 3x3 坐标映射如下:

1 2 3
4 5
6 7 8

抽奖箱
在输入图像上绘制一个彩色框。

它接受以下参数:

x
y 指定框左上角坐标的表达式。 它默认
到0。

宽度, w
高度, h
指定框的宽度和高度的表达式; 如果 0 他们是
解释为输入宽度和高度。 它默认为 0。

颜色, c
指定要写入的框的颜色。 有关此选项的一般语法,请检查
ffmpeg-utils 手册中的“颜色”部分。 如果使用特殊值“invert”,
框边缘颜色与具有倒置亮度的视频相同。

厚度, t
设置框边缘厚度的表达式。 默认值为 3。

请参阅下面的可接受常量列表。

参数为 x, y, wht 是包含以下常量的表达式:

输入显示纵横比,与(w / h)* 特区.


虚拟机
水平和垂直色度子样本值。 例如对于像素格式
“yuv422p” 是2和 虚拟机 是1。

在_h, ih
在_w, iw
输入宽度和高度。

特区 输入样本纵横比。

x
y 绘制框的 x 和 y 偏移坐标。

w
h 绘制框的宽度和高度。

t 绘制框的厚度。

这些常数允许 x, y, w, ht 表达相互引用,所以你
例如可以指定“y=x/dar”或“h=w/dar”。

国际私人包机价格项目范例

· 在输入图像的边缘画一个黑框:

抽奖箱

· 绘制一个颜色为红色且不透明度为 50% 的框:

拉箱=10:20:200:60:[电子邮件保护]

前面的示例可以指定为:

画框=x=10:y=20:w=200:h=60:color=[电子邮件保护]

· 用粉红色填充盒子:

画框=x=10:y=10:w=100:h=100:color=[电子邮件保护]:t=最大

·绘制一个2像素的红色2.40:1蒙版:

drawbox=x=-t:y=0.5*(ih-iw/2.4)-t:w=iw+t*2:h=iw/2.4+t*2:t=2:c=red

绘图, 绘图仪
使用输入视频或音频元数据绘制图形。

它接受以下参数:

m1 设置元数据值将用于绘制图形的第一帧元数据键。

fg1 设置第一个前景色表达式。

m2 设置第二帧元数据键,元数据值将用于绘制图形。

fg2 设置第二个前景色表达式。

m3 设置第三帧元数据键,元数据值将用于绘制图形。

fg3 设置第三个前景色表达式。

m4 设置第 4 帧元数据键,元数据值将用于绘制图形。

fg4 设置第 4 个前景色表达式。

分钟 设置元数据值的最小值。

最大 设置元数据值的最大值。

bg 设置图形背景颜色。 默认为白色。

模式
设置图形模式。

模式的可用值为:

酒吧

线

默认为“线”。


设置滑动模式。

幻灯片的可用值为:

框架
到达右边框时绘制新框架。

更换
用新列替换旧列。

滚动
从右向左滚动。

滚动
从左到右滚动。

默认为“框架”。

尺寸
设置图形视频的大小。 有关此选项的语法,请检查 “视频 尺寸” 部分
in ffmpeg 实用程序 手册. 默认值为“900x256”。

前景色表达式可以使用以下变量:

元数据值的最小值。

最大 元数据值的最大值。

VAL 当前元数据键值。

颜色定义为 0xAABBGGRR。

使用元数据的示例来自 信号统计 过滤器:

signalstats,drawgraph=lavfi.signalstats.YAVG:最小值= 0:最大值= 255

使用元数据的示例来自 ebur128 过滤器:

ebur128=metadata=1,adrawgraph=lavfi.r128.M:min=-120:max=5

drawgrid
在输入图像上绘制网格。

它接受以下参数:

x
y 指定网格交点某点坐标的表达式
(用于配置偏移量)。 两者都默认为 0。

宽度, w
高度, h
指定网格单元格宽度和高度的表达式,如果为 0 它们是
分别解释为输入宽度和高度减去“厚度”,因此图像
被陷害。 默认为 0。

颜色, c
指定网格的颜色。 有关此选项的一般语法,请检查
ffmpeg-utils 手册中的“颜色”部分。 如果使用特殊值“invert”,则
网格颜色与具有反转亮度的视频相同。

厚度, t
设置网格线粗细的表达式。 默认值为 1。

请参阅下面的可接受常量列表。

参数为 x, y, wht 是包含以下常量的表达式:

输入显示纵横比,与(w / h)* 特区.


虚拟机
水平和垂直色度子样本值。 例如对于像素格式
“yuv422p” 是2和 虚拟机 是1。

在_h, ih
在_w, iw
输入网格单元格宽度和高度。

特区 输入样本纵横比。

x
y 网格交点的某个点的 x 和 y 坐标(用于配置
抵消)。

w
h 绘制单元格的宽度和高度。

t 绘制单元格的厚度。

这些常数允许 x, y, w, ht 表达相互引用,所以你
例如可以指定“y=x/dar”或“h=w/dar”。

国际私人包机价格项目范例

· 绘制一个单元格100x100像素,厚度2像素,颜色为红色和一个网格
不透明度 50%:

拉格=宽度=100:高度=100:厚度=2:颜色=[电子邮件保护]

· 绘制一个不透明度为 3% 的白色 3x50 网格:

画格=w=iw/3:h=ih/3:t=2:c=[电子邮件保护]

画图
使用 libfreetype 从视频顶部的指定文件中绘制文本字符串或文本
图书馆。

要启用此过滤器的编译,您需要使用以下命令配置 FFmpeg
“--enable-libfreetype”。 启用默认字体回退和 字体 你需要的选项
使用“--enable-libfontconfig”配置 FFmpeg。 要启用 文字整形 选项,你
需要使用“--enable-libfribidi”配置FFmpeg。

句法

它接受以下参数:

用于使用背景颜色在文本周围绘制一个框。 该值必须为 1
(启用)或 0(禁用)。 默认值为 是0。

盒子边框
使用设置在框周围绘制边框的宽度 盒子颜色。 默认值
价值 盒子边框 是0。

盒子颜色
用于在文本周围绘制框的颜色。 有关此选项的语法,请检查
ffmpeg-utils 手册中的“颜色”部分。

默认值为 盒子颜色 是“白”。

边框
使用设置在文本周围绘制边框的宽度 边框颜色。 该
默认值 边框 是0。

边框颜色
设置用于在文本周围绘制边框的颜色。 对于这个语法
选项,请检查 ffmpeg-utils 手册中的“颜色”部分。

默认值为 边框颜色 是“黑”。

扩张
选择如何 文本 被扩展。 可以是“none”、“strftime”(已弃用)或
“正常”(默认)。 见 drawtext_expansion, 文本 扩张 以下部分为
细节。

固定边界
如果为 true,请检查并修复文本坐标以避免剪切。

字体颜色
用于绘制字体的颜色。 有关此选项的语法,请检查
ffmpeg-utils 手册中的“颜色”部分。

默认值为 字体颜色 是“黑”。

字体颜色表达式
以相同方式扩展的字符串 文本 获得动态 字体颜色 价值。 经过
默认此选项为空值且不被处理。 设置此选项后,它
覆盖 字体颜色 选项。

字体
用于绘制文本的字体系列。 默认 Sans。

字体文件
用于绘制文本的字体文件。 必须包括路径。 这个参数
如果禁用了 fontconfig 支持,则是强制性的。


此选项不存在,请查看时间线系统

阿尔法
使用 alpha 混合绘制文本。 该值可以是介于 0.0 之间的数字
和 1.0 表达式接受相同的变量 x, y 做。 默认值为 1。
请参阅 fontcolor_expr

字体大小
用于绘制文本的字体大小。 默认值为 字体大小 是16。

文字整形
如果设置为 1,则尝试调整文本形状(例如,颠倒从右到
在绘制之前留下文本并加入阿拉伯字符)。 否则,只需绘制
文本完全按照给定。 默认为 1(如果支持)。

ft_load_flags
用于加载字体的标志。

flags 映射 libfreetype 支持的相应标志,是一个组合
以下值中的一个:

默认
无规模
没有提示
给予
无位图
垂直布局
强制自动提示
作物位图
迂腐
忽略全局提前宽度
无递归
忽略转换
单色
线性设计
没有自动提示

默认值为“默认”。

有关更多信息,请参阅 FT_LOAD_* libfreetype 标志的文档。

阴影颜色
用于在绘制文本后面绘制阴影的颜色。 对于语法
此选项,请检查 ffmpeg-utils 手册中的“颜色”部分。

默认值为 阴影颜色 是“黑”。

影子
阴暗的
文本阴影位置的 x 和 y 偏移量相对于
文本。 它们可以是正值或负值。 两者的默认值都是
“ 0年XNUMX月XNUMX日”。

起始编号
n/frame_num 变量的起始帧编号。 默认值为“0”。

标签大小
用于呈现选项卡的空格数大小。 默认值为 4。

时间码
以“hh:mm:ss[:;.]ff”格式设置初始时间码表示。 可以使用
带或不带文本参数。 时间码率 必须指定选项。

时间码率, 率, r
设置时间码帧速率(仅限时间码)。

文本
要绘制的文本字符串。 文本必须是 UTF-8 编码字符序列。
如果该参数没有指定文件,则该参数为必填项 文本文件.

文本文件
包含要绘制的文本的文本文件。 文本必须是 UTF-8 编码的序列
字符。

如果参数中没有指定文本字符串,则该参数是必需的 文本.

如果两者 文本文本文件 指定,则抛出错误。

重载
如果设置为 1,则 文本文件 将在每一帧之前重新加载。 一定要更新
原子地,或者它可能被部分读取,甚至失败。

x
y 指定将在视频中绘制文本的偏移量的表达式
框架。 它们相对于输出图像的上/左边框。

默认值为 xy 是“0”。

有关可接受的常量和函数的列表,请参见下文。

参数为 xy 是包含以下常量的表达式和
职能:

输入显示纵横比,与(w / h)* 特区


虚拟机
水平和垂直色度子样本值。 例如对于像素格式
“yuv422p” 是2和 虚拟机 是1。

行_h, lh
每个文本行的高度

主_h, h, H
输入高度

主w, w, W
输入宽度

最大字形a, 上升
从基线到最高/上网格坐标的最大距离,用于
为所有渲染的字形放置一个字形轮廓点。 这是一个正值,由于
Y 轴向上的网格方向。

最大字形_d, 降落
从基线到用于放置一个的最低网格坐标的最大距离
字形轮廓点,用于所有渲染的字形。 这是一个负值,因为
网格的方向,Y 轴向上。

最大字形 h
最大字形高度,即包含在
渲染的文本,它相当于 上升 - 降落.

最大字形宽度
最大字形宽度,即包含在其中的所有字形的最大宽度
呈现的文本

n 输入帧数,从0开始

兰特(分钟, 最大限度)
返回包含在两者之间的随机数 分钟最大

特区 输入样本纵横比。

t 时间戳以秒表示,如果输入时间戳未知,则为 NAN

文本_h, th
渲染文本的高度

文本_w, tw
渲染文本的宽度

x
y 绘制文本的 x 和 y 偏移坐标。

这些参数允许 xy 表达式来相互引用,所以你可以
例如指定“y=x/dar”。

文本 扩张

If 扩张 设置为“strftime”,过滤器识别 时间() 中的序列
提供文本并相应地扩展它们。 检查文档 时间()。 这
功能已弃用。

If 扩张 设置为“无”,文本逐字打印。

If 扩张 设置为“正常”(这是默认值),以下扩展机制
用来。

反斜杠字符 \,后跟任何字符,总是扩展到第二个
字符。

"%{...}" 形式的序列被扩展。 大括号之间的文本是一个函数
名称,可能后跟由“:”分隔的参数。 如果参数包含特殊
字符或分隔符(':' 或 '}'),它们应该被转义。

请注意,它们可能也必须作为 文本 在选项
过滤器参数字符串并作为过滤器图描述中的过滤器参数,以及
可能也适用于外壳,最多可以进行四个级别的转义; 使用文本文件
避免了这些问题。

可以使用以下功能:

表达式, e
表达式评估结果。

它必须接受一个参数来指定要评估的表达式,它接受
相同的常数和函数 xy 值。 请注意,并非所有常量都应该
使用,例如在评估表达式时文本大小是未知的,因此
常数 文本_w文本_h 将有一个未定义的值。

expr_int_format, 指数
评估表达式的值并输出为格式化整数。

第一个参数是要计算的表达式,就像 表达式 功能。
第二个参数指定输出格式。 允许的值为 x, X, du.
它们的处理方式与“printf”函数中的完全相同。 第三个参数是可选的
并设置输出所采用的位置数。 它可用于添加填充
左边是零。

准时
过滤器运行的时间,以 UTC 表示。 它可以接受一个参数:
a 时间() 格式字符串。

当地时间
过滤器运行的时间,以本地时区表示。 它可以
接受一个论点:a 时间() 格式字符串。

元数据
帧元数据。 它必须采用一个参数来指定元数据键。

n, 帧数
帧编号,从 0 开始。

图片类型
当前图片类型的 1 个字符描述。

当前帧的时间戳。 它最多可以接受两个参数。

第一个参数是时间戳的格式; 它默认为“flt”几秒钟
具有微秒精度的十进制数; “hms”代表格式化的
[-]HH:MM:SS.mmm 毫秒精度的时间戳。

第二个参数是添加到时间戳的偏移量。

国际私人包机价格项目范例

· 使用字体 FreeSerif 绘制“测试文本”,使用可选的默认值
参数。

drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text'"

· 在位置 x=24 和 y=100(计数
从屏幕的左上角),文本是黄色的,周围有一个红色的框。 两个都
文本和框的不透明度为 20%。

drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf: text='Test Text':\
x=100:y=50:字体大小=24:字体颜色=[电子邮件保护]:框=1:框颜色=[电子邮件保护]"

请注意,如果在空格内未使用空格,则不需要双引号
参数列表。

· 在视频帧的中心显示文本:

drawtext="fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=(w-text_w)/2:y=(h-text_h)/2"

· 在视频帧的最后一行显示从右向左滑动的文本行。 这
文件 LONG_LINE 假定包含没有换行符的单行。

drawtext="fontsize=15:fontfile=FreeSerif.ttf:text=LONG_LINE:y=h-line_h:x=-50*t"

· 显示文件内容 鸣谢 离开框架底部并向上滚动。

drawtext="fontsize=20:fontfile=FreeSerif.ttf:textfile=CREDITS:y=h-20*t"

· 在输入视频的中心绘制一个绿色字母“g”。 字形基线
放置在屏幕高度的一半处。

drawtext="fontsize=60:fontfile=FreeSerif.ttf:fontcolor=green:text=g:x=(w-max_glyph_w)/2:y=h/2-ascent"

· 每 1 秒显示 3 秒文本:

drawtext="fontfile=FreeSerif.ttf:fontcolor=white:x=100:y=x/dar:enable=lt(mod(t\,3)\,1):text='blink'"

· 使用fontconfig 设置字体。 请注意,冒号需要转义。

drawtext='fontfile=Linux Libertine O-40\:style=Semibold:text=FFmpeg'

· 打印实时编码的日期(见 时间(3)):

drawtext='fontfile=FreeSans.ttf:text=%{localtime\:%a %b %d %Y}'

· 显示文本淡入淡出(出现/消失):

#!/ bin / sh的
DS=1.0 #显示开始
DE=10.0 #显示结束
FID=1.5 # 淡入持续时间
FOD=5 # 淡出持续时间
ffplay -f lavfi "color,drawtext=text=TEST:fontsize=50:fontfile=FreeSerif.ttf:fontcolor_expr=ff0000%{eif\\\\:clip(255*(1*between(t\\, $DS + $FID\\, $DE - $FOD) + ((t - $DS)/$FID)* between(t\\, $DS\\, $DS + $FID) + (-(t - $DE) /$FOD)*(t\\, $DE - $FOD\\, $DE) )\\, 0\\, 255) \\\\: x\\\\: 2 }"

有关 libfreetype 的更多信息,请查看:http://www.freetype.org/>.

有关 fontconfig 的更多信息,请查看:
<http://freedesktop.org/software/fontconfig/fontconfig-user.html>.

有关 libfribidi 的更多信息,请查看:http://fribidi.org/>.

边缘检测
检测和绘制边缘。 过滤器使用 Canny 边缘检测算法。

过滤器接受以下选项:



设置 Canny 阈值算法使用的低阈值和高阈值。

高阈值选择“强”边缘像素,然后通过连接
8-与低阈值选择的“弱”边缘像素的连接。

必须在 [0,1] 范围内选择阈值,并且 应该
小于或等于 .

默认值 是“20/255”,默认值为 是“50/255”。

模式
定义绘图模式。

电线
在黑色背景上绘制白色/灰色电线。

混色
混合颜色以创建油漆/卡通效果。

默认值为 电线.

国际私人包机价格项目范例

· 具有自定义迟滞阈值的标准边缘检测:

边缘检测=低=0.1:高=0.4

· 无阈值的绘画效果:

边缘检测=模式=颜色混合:高=0

eq
设置亮度、对比度、饱和度和近似伽玛调整。

过滤器接受以下选项:

对比
设置对比度表达式。 该值必须是“-2.0”到 2.0 范围内的浮点值。
默认值为“0”。

亮度
设置亮度表达式。 该值必须是“-1.0”到 1.0 范围内的浮点值。
默认值为“0”。

饱和
设置饱和度表达式。 该值必须是 0.0 到 3.0 范围内的浮点数。 这
默认值为“1”。

伽玛
设置伽马表达式。 该值必须是 0.1 到 10.0 范围内的浮点数。 默认的
值为“1”。

伽马_r
设置红色的伽马表达式。 该值必须是 0.1 到 10.0 范围内的浮点数。 这
默认值为“1”。

伽马_g
设置绿色的伽马表达式。 该值必须是 0.1 到 10.0 范围内的浮点数。
默认值为“1”。

伽马_b
设置蓝色的伽马表达式。 该值必须是 0.1 到 10.0 范围内的浮点数。 这
默认值为“1”。

伽马_权重
设置伽马权重表达式。 它可用于减少高伽马的影响
明亮图像区域的价值,例如防止它们过度放大和简单
白色的。 该值必须是 0.0 到 1.0 范围内的浮点数。 0.0 的值会改变伽玛
一直向下修正,而 1.0 则使其处于最大强度。 默认值为“1”。

评估
设置亮度、对比度、饱和度和伽马表达式的表达式
被评估。

它接受以下值:

初始化
仅在过滤器初始化期间或命令时对表达式求值一次
被处理

框架
评估每个传入帧的表达式

默认值为 初始化.

表达式接受以下参数:

n 输入帧的帧数从 0 开始

邮寄 输入文件中相应数据包的字节位置,如果未指定,则为 NAN

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

t 时间戳以秒表示,如果输入时间戳未知,则为 NAN

命令

过滤器支持以下命令:

对比
设置对比度表达式。

亮度
设置亮度表达式。

饱和
设置饱和度表达式。

伽玛
设置伽马表达式。

伽马_r
设置 gamma_r 表达式。

伽马_g
设置 gamma_g 表达式。

伽马_b
设置 gamma_b 表达式。

伽马_权重
设置 gamma_weight 表达式。

该命令接受相应选项的相同语法。

如果指定的表达式无效,则保持其当前值。

糜烂
对视频应用侵蚀效果。

此过滤器将像素替换为 本地(3x3) 最低。

它接受以下选项:

阈值0
阈值1
阈值2
阈值3
限制每个平面的最大变化,默认为 65535。如果为 0,平面将保持不变
不变。

坐标
指定要引用的像素的标志。 默认值为 255,即所有八个像素都是
用过的。

标记到本地 3x3 坐标映射如下:

1 2 3
4 5
6 7 8

提取平面
从输入视频流中提取颜色通道分量到单独的灰度视频中
流。

过滤器接受以下选项:

飞机
设置要提取的平面。

平面的可用值是:

y
u
v
a
r
g
b

选择输入中不可用的平面将导致错误。 那意味着你
不能同时选择“r”、“g”、“b”平面和“y”、“u”、“v”平面。

国际私人包机价格项目范例

· 将输入视频帧中的亮度、u 和 v 颜色通道分量提取为 3 个灰度
输出:

ffmpeg -i video.avi -filter_complex 'extractplanes=y+u+v[y][u][v]' -map '[y]' y.avi -map '[u]' u.avi -map '[ v]' v.avi

电子书
使用 ELBG(增强 LBG)算法应用分色效果。

对于每个输入图像,过滤器将计算从输入到
给定码本长度的输出,即不同输出颜色的数量。

此过滤器接受以下选项。

码本_长度, l
设置码本长度。 该值必须是正整数,并表示数字
不同的输出颜色。 默认值为 256。

nb_steps, n
设置用于计算最优映射的最大迭代次数。 这
值越高,结果越好,计算时间越长。 默认
值是1。

种子, s
设置一个随机种子,必须是一个介于 0 和 UINT32_MAX 之间的整数。 如果不
指定,或者如果明确设置为 -1,过滤器将尝试使用一个好的随机种子
在尽最大努力的基础上。

pal8
设置 pal8 输出像素格式。 此选项不适用于更大的码本长度
大于256。

褪色
对输入视频应用淡入/淡出效果。

它接受以下参数:

类型, t
效果类型可以是“in”(淡入)或“out”(淡出效果)。
默认为“在”。

开始帧, s
指定开始应用淡入淡出效果的帧数。 默认值为 0。

nb_frames, n
淡入淡出效果持续的帧数。 在淡入效果结束时,
输出视频将具有与输入视频相同的强度。 在褪色结束时——
out 过渡,输出视频将填充选定的 颜色。 默认为
25.

阿尔法
如果设置为 1,则仅淡化 Alpha 通道(如果输入中存在)。 默认值为 0。

开始时间, st
指定开始应用淡入淡出效果的帧的时间戳(以秒为单位)。 如果
start_frame 和 start_time 都已指定,淡入淡出将从中开始
最后的。 默认值为 0。

期间, d
淡入淡出效果必须持续的秒数。 在淡入结束时
效果输出视频将具有与输入视频相同的强度,在结束时
输出视频的淡出过渡将填充选定的 颜色。 如果
指定持续时间和 nb_frames,使用持续时间。 默认值为 0 (nb_frames
默认使用)。

颜色, c
指定淡入淡出的颜色。 默认为“黑色”。

国际私人包机价格项目范例

· 淡入视频的前 30 帧:

淡入淡出:0:30

上面的命令等效于:

淡入淡出=t=in:s=0:n=30

·淡出45帧视频的最后200帧:

淡出=淡出:155:45
淡出=类型=输出:start_frame=155:nb_frames=45

· 淡入 25 帧视频的前 25 帧并淡出后 1000 帧:

淡入淡出:0:25,淡出=淡出:975:25

· 将前 5 个帧设为黄色,然后从第 5-24 帧淡入:

淡入淡出:5:20:颜色=黄色

· Alpha 在前 25 帧视频中淡入淡出:

淡入淡出:0:25:alpha=1

· 使前 5.5 秒变黑,然后淡入 0.5 秒:

淡入淡出=t=in:st=5.5:d=0.5

过滤器
将任意表达式应用于频域中的样本

直流_Y
调整图像亮度平面的直流值(增益)。 过滤器接受一个
0 到 1000 范围内的整数值。默认值设置为 0。

直流_U
调整图像第一个色度平面的直流值(增益)。 过滤器接受一个
0 到 1000 范围内的整数值。默认值设置为 0。

直流电压
调整图像第二色度平面的直流值(增益)。 过滤器接受一个
0 到 1000 范围内的整数值。默认值设置为 0。


设置亮度平面的频域权重​​表达式。

重量_U
设置第一个色度平面的频域权重​​表达式。

权重_V
设置第二色度平面的频域权重​​表达式。

过滤器接受以下变量:

X
Y 当前样本的坐标。

W
H 图像的宽度和高度。

国际私人包机价格项目范例

· 高通:

fftfilt=dc_Y=128:weight_Y='squish(1-(Y+X)/100)'

· 低通:

fftfilt=dc_Y=0:weight_Y='squish((Y+X)/100-1)'

· 锐化:

fftfilt=dc_Y=0:weight_Y='1+squish(1-(Y+X)/100)'

部分
使用步幅算法从隔行扫描图像中提取单个字段以避免浪费
CPU时间。 输出帧被标记为非隔行。

过滤器接受以下选项:

类型
指定是否提取顶部(如果值为 0 或“顶部”)或底部字段
(如果值为 1 或“底部”)。

现场比赛
用于反向电视电影的场匹配滤波器。 它旨在重建进步的
来自电视转换流的帧。 过滤器不会丢弃重复的帧,因此要实现
一个完整的逆电视电影“场匹配”需要跟随一个抽取滤波器,例如
as 抽取 在过滤器图中。

场匹配和抽取的分离主要是由
在两者之间插入去隔行过滤器回退的可能性。 如果来源
混合了电视电影和真实隔行扫描内容,“fieldmatch”将无法匹配
交错部分的字段。 但是这些剩余的梳理帧将被标记为
隔行扫描,因此可以通过稍后的过滤器进行去隔行扫描,例如 亚迪夫 before
抽取。

除了各种配置选项之外,“fieldmatch”还可以选择第二个
流,通过激活 源文件 选项。 如果启用,帧重建将是
基于来自第二个流的字段和帧。 这允许第一个输入是
预处理以帮助过滤器的各种算法,同时保持
输出无损(假设字段匹配正确)。 通常,现场感知
降噪器或亮度/对比度调整可以提供帮助。

请注意,此过滤器使用与 TIVTC/TFM(AviSynth 项目)相同的算法,并且
VIVTC/VFM(VapourSynth 项目)。 后者是 TFM 的轻量克隆,其中“字段匹配”
是基于。 虽然语义和用法非常接近,但一些行为和选项名称
可以不同。

抽取 过滤器目前仅适用于恒定帧速率输入。 如果您的输入有
混合电视转换 (30fps) 和具有较低帧率(如 24fps)的渐进式内容使用
以下过滤器链以生成必要的 cfr 流:
“dejudder,fps=30000/1001,fieldmatch,decimate”。

过滤器接受以下选项:

秩序
指定输入流的假定字段顺序。 可用值为:

汽车
自动检测奇偶校验(使用 FFmpeg 的内部奇偶校验值)。

BFF 首先假设底场。

tff 首先假设顶场。

请注意,有时建议不要相信流宣布的奇偶校验。

默认值为 汽车.

模式
设置要使用的匹配模式或策略。 pc 模式是最安全的,因为它
在可能的情况下不会因为重复帧而冒着产生抖动的风险,但如果有
糟糕的编辑或混合场,它最终会在匹配良好时输出梳理帧
可能真的存在。 另一方面, pcn_ub 模式是最危险的
产生抖动,但如果有的话,几乎总能找到一个好的框架。 这
其他值都介于两者之间 pcpcn_ub 在冒抽搐的风险方面
创建重复的帧而不是在编辑不好的部分中找到好的匹配,
孤立字段、混合字段等。

有关 p/c/n/u/b 的更多详细信息,请参阅 p/c/n/u/b 部分。

可用值为:

pc 2 路匹配 (p/c)

电脑号
2 路匹配,如果仍然梳理,则尝试第 3 次匹配 (p/c + n)

电脑_u
2 路匹配,如果仍然梳理 (p/c + u),则尝试第 3 次匹配(相同顺序)

pc_n_ub
2 路匹配,如果仍然梳理,则尝试第 3 次匹配,如果仍尝试第 4/5 次匹配
仍然精梳 (p/c + n + u/b)

PCN 三路匹配 (p/c/n)

pcn_ub
3 路匹配,如果所有 4 个原始匹配都匹配,则尝试第 5/3 个匹配
检测为精梳 (p/c/n + u/b)

最后的括号表示将用于该模式的匹配项
假设 秩序=tff (和 部分 on 汽车 or 最佳).

在速度方面 pc 模式是迄今为止最快和 pcn_ub 是最慢的。

默认值为 电脑号.

源文件
将主输入流标记为预处理输入,并启用辅助输入
流作为干净的源来选择字段。 见过滤器介绍
更多细节。 它类似于 clip2 来自 VFM/TFM 的功能。

默认值为 0(禁用)。

部分
设置要匹配的字段。 建议将此设置为与 秩序
除非您遇到与该设置匹配的失败。 在某些情况下
更改用于匹配的字段会对匹配产生很大影响
表现。 可用值为:

汽车
自动(与 秩序).

底部
从底场匹配。

最佳 从顶场比赛。

默认值为 汽车.

色度
设置在匹配比较期间是否包括色度。 大多数情况下它
建议启用此功能。 仅当您的剪辑具有
糟糕的色度问题,例如严重的彩虹色或其他伪影。 将此设置为 0
也可以用来加快速度,但会牺牲一些准确性。

默认值为 1。

y0
y1 这些定义了一个排除带,排除了之间的线 y0y1 从存在
包含在字段匹配决策中。 排除带可用于忽略
字幕、徽标或其他可能会干扰匹配的内容。 y0 设置
开始扫描线和 y1 设置结束线; 中间的所有线 y0y1
(包括 y0y1) 将被忽略。 环境 y0y1 到相同的值将
禁用该功能。 y0y1 默认为 0。

阈值
将场景变化检测阈值设置为亮度最大变化的百分比
飞机。 好的值在“[8.0, 14.0]”范围内。 场景变化检测只是
相关的情况 组合匹配=sc. 范围为 阈值 是“[0.0, 100.0]”。

默认值为 12.0。

组合匹配
什么时候 战斗 是不是 没有, "fieldmatch" 会考虑到
在决定使用哪个匹配作为最终匹配时匹配。 可用值为:

没有
没有基于梳理分数的最终匹配。

sc 梳理分数仅在检测到场景变化时使用。


一直使用精梳乐谱。

默认是 sc.

梳妆台
强制“fieldmatch”计算某些匹配项的梳理指标并打印它们。
此设置称为 微输出 在 TFM/VFM 词汇中。 可用值为:

没有
没有强制计算。

PCN 强制 p/c/n 计算。

网吧
强制 p/c/n/u/b 计算。

默认值为 没有.

阈值
这是用于梳状帧检测的区域梳状阈值。 这本质上
控制必须检测的“强”或“可见”梳理。 较大的值意味着
梳理必须更明显,较小的值意味着梳理可以不那么明显或
强,仍然被发现。 有效设置来自“-1”(每个像素都将
检测为梳理)到 255(没有像素将被检测为梳理)。 这基本上是一个
像素差值。 一个好的范围是“[8, 12]”。

默认值为 9。

浓度
设置是否在梳帧决策中考虑色度。 仅禁用
如果您的源有导致问题的色度问题(彩虹等)
用于启用色度的梳状帧检测。 实际上,使用 浓度=0 is
通常更可靠,除了色度只在组合中的情况
资源。

默认值为 0。

块x
短而结实的
分别设置梳框时使用的窗口的x轴和y轴大小
检测。 这与所在区域的大小有关 强迫 像素是
需要被检测为已梳理才能声明为已梳理的帧。 见 强迫
参数说明以获取更多信息。 可能的值是作为幂的任何数字
2 个,从 4 开始一直到 512。

默认值为 16。

强迫
任何一个内部的梳状像素数 短而结实的 by 块x 大小块
frame 用于检测为已梳理的帧。 尽管 阈值 控制“可见”的程度
梳理必须是,此设置控制“多少”梳理必须在任何
局部区域(由 块x短而结实的 设置)在框架上。
最小值为 0,最大值为“blocky x blockx”(此时没有帧将
曾经被检测为梳理过)。 此设置称为 MI 在 TFM/VFM 词汇中。

默认值为 80。

p/c/n/u/b

成本/成本/成本

我们假设以下电视转换流:

热门字段:1 2 2 3 4
底部字段:1 2 3 4 4

数字对应于字段相关的逐行帧。 在这里,前两个
帧是渐进的,第 3 和第 4 帧是梳理的,依此类推。

当“fieldmatch”配置为从底部运行匹配时(部分=底部) 就是这样
这个输入流被转换:

输入流:
电话 1 2 2 3 4
B 1 2 3 4 4 <--匹配参考

比赛: ccnnc

输出流:
电话 1 2 3 4 4
乙 1 2 3 4 4

作为场匹配的结果,我们可以看到一些帧被重复。 去表演
一个完整的逆电视电影,你需要在这个操作之后依赖一个抽取滤波器。
参见例如 抽取 过滤。

现在从顶级字段匹配相同的操作 (部分=最佳)如下所示:

输入流:
T 1 2 2 3 4 <--匹配参考
乙 1 2 3 4 4

比赛: ccppc

输出流:
电话 1 2 2 3 4
乙 1 2 2 3 4

在这些例子中,我们可以看到 p, cn 意思; 基本上,他们指的是框架和
对偶的领域:

*<p 匹配前一帧中相反奇偶校验的字段>
*<c 匹配当前帧中相反奇偶校验的字段>
*<n 匹配下一帧中相反奇偶校验的字段>

u/b

ub 匹配有点特殊,因为它们从相反的方向匹配
平价标志。 在下面的例子中,我们假设我们当前正在匹配第二个
框架(顶部:2,底部:2)。 根据匹配,“x”放置在每个的上方和下方
匹配的字段。

与底部匹配(部分=底部):

匹配:cpnbu

xxxxxx
顶部 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
底部 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
xxxxxx

输出帧:
2 1 2 2 2
2 2 2 1 3

与顶级匹配 (部分=最佳):

匹配:cpnbu

xxxxxx
顶部 1 2 2 1 2 2 1 2 2 1 2 2 1 2 2
底部 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
xxxxxx

输出帧:
2 2 2 1 2
2 1 3 2 2

国际私人包机价格项目范例

顶场第一电视转换流的简单 IVTC:

fieldmatch=order=tff:combmatch=none,抽取

高级 IVTC,回退 亚迪夫 对于仍然梳理的框架:

fieldmatch=order=tff:combmatch=full, yadif=deint=interlaced, 抽取

场序
转换输入视频的场序。

它接受以下参数:

秩序
输出字段顺序。 有效值为 tff 前场优先或 BFF 底部
场第一。

默认值为 tff.

转换是通过将图片内容向上或向下移动一行来完成的,并且
用适当的图片内容填充剩余的行。 这个方法是一致的
大多数广播场序转换器。

如果输入视频没有被标记为隔行扫描,或者它已经被标记为隔行扫描
所需的输出场顺序,则此过滤器不会改变传入的视频。

在与 PAL DV 素材相互转换时非常有用,即底场优先。

例如:

ffmpeg -i in.vob -vf "fieldorder=bff" out.dv

FIFO
缓冲输入图像并在需要时发送它们。

它主要在由 libavfilter 框架自动插入时有用。

它不带参数。

查找矩形
找一个矩形物体

它接受以下选项:

对象
对象图像的文件路径,需要为灰色8。

门槛
检测阈值,默认为 0.5。

mipmap
mipmap 的数量,默认为 3。

最小, 伊敏, 最大, 最大值
指定要搜索的矩形。

国际私人包机价格项目范例

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

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

封面_rect
覆盖一个矩形物体

它接受以下选项:

外壳
可选封面图片的文件路径,需要在yuv420。

模式
设置覆盖模式。

它接受以下值:

外壳
用提供的图像覆盖它

模糊
通过插入周围的像素来覆盖它

默认值为 模糊.

国际私人包机价格项目范例

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

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

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

它接受以下参数:

像素_fmts
以“|”分隔的像素格式名称列表,例如“pix_fmts=yuv420p|monow|rgb24”。

国际私人包机价格项目范例

· 将输入视频转换为 yuv420p 格式

格式=pix_fmts=yuv420p

将输入视频转换为列表中的任何格式

格式=pix_fmts=yuv420p|yuv444p|yuv410p

FPS
通过复制或丢弃帧将视频转换为指定的恒定帧速率
必要。

它接受以下参数:

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


舍入法。

可能的值为:


零向 0 舍入

inf 从 0 开始舍入

向下
向无穷大圆

up 向+无穷大舍入


四舍五入到最近

默认为“附近”。

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

或者,可以将选项指定为扁平字符串: FPS[:].

另见 设置 过滤。

国际私人包机价格项目范例

· 将 fps 设置为 25 的典型用法:

每秒帧数=每秒帧数=25

·将fps设置为24,使用缩写和四舍五入的方法四舍五入到最接近:

fps=fps=电影:圆形=近

框架包
将两个不同的视频流打包成一个立体视频,设置适当的元数据
支持的编解码器。 两个视图应该具有相同的大小和帧率和处理
当较短的视频结束时将停止。 请注意,您可以方便地调整视图
属性与 规模FPS 过滤器。

它接受以下参数:

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

SBS 视图彼此相邻(默认)。

标签 视图彼此重叠。

线
视图按行打包。


视图按列打包。

帧序列
这些视图在时间上是交错的。

一些例子:

# 将左右视图转换为帧序列视频
ffmpeg -i 左 -i 右 -filter_complex framepack=frameseq 输出

# 将视图转换为与输入具有相同输出分辨率的并排视频
ffmpeg -i 左 -i 右 -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs输出

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

此过滤器并非设计为与隔行媒体一起正常工作。 如果你想
更改隔行媒体的帧速率,然后您需要在此之前进行反隔行扫描
过滤并在此过滤后重新隔行。

接受的选项的描述如下。

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

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

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

现场
将检测到场景变化的级别指定为 0 到 100 之间的值
表示新的场景; 低值反映当前帧的低概率
引入一个新场景,而更高的值意味着当前帧更有可能
成为一个。 默认值为 7。

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

可用值 标志 是:

场景变化检测, SCD
使用选项的值启用场景变化检测 现场. 这个标志是
默认启用。

帧步
每第 N 帧选择一帧。

此过滤器接受以下选项:


在每个“步骤”帧之后选择帧。 允许的值是更高的正整数
大于 0。默认值为 1。

自由
对输入视频应用 frei0r 效果。

要启用此过滤器的编译,您需要安装 frei0r 头文件和
使用“--enable-frei0r”配置 FFmpeg。

它接受以下参数:

过滤器名称
要加载的 frei0r 效果的名称。 如果环境变量 FREI0R_PATH is
定义后,在指定的每个目录中搜索 frei0r 效果
以冒号分隔的列表 自由路径. 否则,标准的 frei0r 路径是
搜索,按以下顺序: 首页/.frei0r-1/lib/, /usr/local/lib/frei0r-1/,
/usr/lib/frei0r-1/.

过滤参数
要传递给 frei0r 效果的以“|”分隔的参数列表。

frei0r 效果参数可以是布尔值(其值为“y”或“n”)、双精度值、
颜色(指定为 R/G/B,其中 R, GB 是介于 0.0 和
1.0,包括)或通过在 ffmpeg- 的“颜色”部分中指定的颜色描述
utils 手册),一个位置(指定为 X/Y,其中 XY 是浮点数)
和/或字符串。

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

国际私人包机价格项目范例

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

frei0r=filter_name= Distortion0r:filter_params=0.5|0.01

· 应用colordistance效果,以颜色为第一个参数:

frei0r=颜色距离:0.2/0.3/0.4
frei0r=颜色距离:紫色
frei0r=颜色距离:0x112233

· 应用透视效果,指定左上角和右上角的图像位置:

frei0r=perspective:0.2/0.2|0.8/0.2

有关更多信息,请参阅http://frei0r.dyne.org>

文件名
应用快速简单的后处理。 这是一个更快的版本 .

它将 (I)DCT 拆分为水平/垂直通道。 不同于简单的后期处理
过滤器,其中之一是每个块执行一次,而不是每个像素。 这允许很多
更高的速度。

过滤器接受以下选项:

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

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

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

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

eq
过滤器接受以下选项:

lum_expr, LUM
设置亮度表达式。

cb_表达式, cb
设置色度蓝色表达式。

cr_表达式, cr
设置色度红色表达式。

alpha_expr, a
设置 alpha 表达式。

红色表达式, r
设置红色表达式。

绿色表达式, g
设置绿色表达式。

蓝色表达式, b
设置蓝色表达式。

根据指定的选项选择色彩空间。 如果其中之一 lum_expr,
cb_表达式cr_表达式 选项被指定,过滤器将自动选择一个 YCbCr
色彩空间。 如果其中之一 红色表达式, 绿色表达式蓝色表达式 选项被指定,它将
选择一个 RGB 色彩空间。

如果色度表达式中的一个未定义,则返回到另一个。 如果不
指定了 alpha 表达式,它将评估为不透明值。 如果没有色度
表达式被指定,它们将计算为亮度表达式。

表达式可以使用以下变量和函数:

N 过滤帧的序号,从 0 开始。

X
Y 当前样本的坐标。

W
H 图像的宽度和高度。

SW
SH 宽度和高度比例取决于当前过滤的平面。 这是比例
在相应的亮度平面像素数和当前平面像素之间。 例如
对于 YUV4:2:0,亮度平面的值为“1,1”,色度平面的值为“0.5,0.5”。

T 当前帧的时间,以秒表示。

p(x, y)
返回位置(x,y) 的当前平面。

流明(x, y)
返回位置(x,y) 的亮度平面。

CB(x, y)
返回位置(x,y) 的蓝差色度平面。
如果没有这样的平面,则返回 0。

cr(x, y)
返回位置(x,y) 的红差色度平面。
如果没有这样的平面,则返回 0。

r(x, y)
g(x, y)
b(x, y)
返回位置(x,y) 的红/绿/蓝分量。
如果没有这样的组件,则返回 0。

阿尔法(x, y)
返回位置(x,y) 的 alpha 平面。 如果存在则返回 0
没有这样的飞机。

对于函数,如果 xy 在区域之外,该值将被自动剪裁到
较近的边缘。

国际私人包机价格项目范例

· 水平翻转图像:

geq=p(WX\,Y)

· 生成一个二维正弦波,角度为“PI/3”,波长为 100 个像素:

geq=128 + 100*sin(2*(PI/100)*(cos(PI/3)*(X-50*T) + sin(PI/3)*Y)):128:128

· 生成一个奇特的神秘移动灯:

nullsrc=s=256x256,geq=随机(1)/hypot(X-cos(N*0.07)*W/2-W/2\,Y-sin(N*0.09)*H/2-H/2)^2*1000000*sin(N*0.02):128:128

· 生成快速浮雕效果:

格式=灰色​​,geq=lum_expr='(p(X,Y)+(256-p(X-4,Y-4)))/2'

· 根据像素位置修改RGB分量:

geq=r='X/W*r(X,Y)':g='(1-X/W)*g(X,Y)':b='(HY)/H*b(X,Y) )'

· 创建一个与输入大小相同的径向渐变(另见 小插图
筛选):

geq=lum=255*gauss((X/W-0.5)*3)*gauss((Y/H-0.5)*3)/高斯(0)/高斯(0),格式=灰色

· 创建一个线性渐变用作另一个过滤器的蒙版,然后与
覆盖. 在这个例子中,视频将从顶部逐渐变得更加模糊
由线性梯度定义的 y 轴底部:

ffmpeg -i input.mp4 -filter_complex "geq=lum=255*(Y/H),format=gray[grad];[0:v]boxblur=4[blur];[blur][grad]alphamerge[alpha] ;[0:v][alpha]overlay" output.mp4

毕业乐趣
修复有时被引入近乎平坦区域的条带伪影
截断为 8 位色深。 内插应该到达波段的梯度
是,并抖动它们。

它专为播放而设计。 不要在有损压缩之前使用它,因为
压缩往往会失去抖动并带回乐队。

它接受以下参数:

实力
过滤器将改变任何一个像素的最大量。 这也是
检测几乎平坦区域的阈值。 可接受的值范围从 51 到 64;
默认值为 1.2。 超出范围的值将被剪裁到有效范围内。

半径
适合梯度的邻域。 更大的半径使梯度更平滑,
但也可以防止过滤器修改细节区域附近的像素。
可接受的值为 8-32; 默认值为 16。超出范围的值将是
剪裁到有效范围。

或者,可以将选项指定为扁平字符串: 实力[:半径]

国际私人包机价格项目范例

· 应用强度为 3.5,半径为 8 的过滤器:

毕业=3.5:8

· 指定半径,省略强度(将回退到默认值):

gradfun=半径=8

贫民窟
将 Hald CLUT 应用于视频流。

第一个输入是要处理的视频流,第二个是 Hald CLUT。 哈德
CLUT 输入可以是简单的图片或完整的视频流。

过滤器接受以下选项:

最短的
当最短输入终止时强制终止。 默认值为 0。

重复最后
在流结束后继续应用最后一个 CLUT。 值为 0 禁用
在达到 CLUT 的最后一帧后进行过滤。 默认值为 1。

“haldclut”也具有与相同的插值选项 卢特3D (两个过滤器共享相同的
内部)。

有关 Hald CLUT 的更多信息,请访问 Eskil Steenberg 的网站 (Hald CLUT
作者)在http://www.quelsolaar.com/technology/clut.html>.

工作流程 例子

暂停 CLUT 视频流

生成具有各种效果的标识 Hald CLUT 流:

ffmpeg -f lavfi -i B =8 -vf "hue=H=2*PI*t:s=sin(2*PI*t)+1,曲线=cross_process" -t 10 -c:v ffv1 clut.nut

注意:确保您使用无损编解码器。

然后将它与“haldclut”一起使用以将其应用于一些随机流:

ffmpeg -f lavfi -i mandelbrot -i clut.nut -filter_complex '[0][1] haldclut' -t 20 mandelclut.mkv

Hald CLUT 将应用于前 10 秒(持续时间为 螺母),然后
该 CLUT 流的最新图片将应用于剩余的帧
“mandelbrot”流。

使用预览暂停 CLUT

Hald CLUT 应该是“Level*Level*Level”的平方图像
“级别*级别*级别”像素。 对于给定的 Hald CLUT,FFmpeg 将选择最大的可能
从图片左上角开始的正方形。 剩余的填充像素(底部或
正确)将被忽略。 该区域可用于添加 Hald CLUT 的预览。

通常,“haldclut”过滤器将支持以下生成的 Hald CLUT:

ffmpeg -f lavfi -i B =8 -vf"
垫=iw+320 [padded_clut];
smptebars=s=320x256, 拆分 [a][b];
[padded_clut][a]overlay=W-320:h,曲线=color_negative [main];
[main][b]overlay=W-320" -frames:v 1 clut.png

它包含 CLUT 效果的原始和预览:SMPTE 彩条是
显示在右上方,下方是经过颜色变化处理的相同颜色条。

然后,这个 Hald CLUT 的效果可以通过以下方式可视化:

ffplay input.mkv -vf "movie=clut.png, [in] haldclut"

翻转
水平翻转输入视频。

例如,要水平翻转输入视频 ffmpeg的:

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

组织
此过滤器在每帧基础上应用全局颜色直方图均衡。

它可用于校正具有压缩像素强度范围的视频。 这
过滤器重新分配像素强度以均衡它们在整个
强度范围。 它可以被视为“自动调整对比度过滤器”。 这个
过滤器仅用于校正质量下降或捕获不佳的源视频。

过滤器接受以下选项:

实力
确定要应用的均衡量。 随着强度的降低,
像素强度的分布越来越接近输入帧的分布。
该值必须是 [0,1] 范围内的浮点数,默认为 0.200。

强度
设置可以生成和缩放输出值的最大强度
适当地。 强度应根据需要设置,然后强度可以
如果需要,请限制以避免冲洗。 该值必须是范围内的浮点数
[0,1] 并默认为 0.210。

反带
设置抗条带级别。 如果启用过滤器将随机改变亮度
输出少量像素以避免直方图的条带化。 可能的值为
“无”、“弱”或“强”。 它默认为“无”。

直方图
计算并绘制输入视频的颜色分布直方图。

计算出的直方图是颜色分量分布的表示
图片。

过滤器接受以下选项:

模式
设置直方图模式。

它接受以下值:

各级
显示图像中颜色分量分布的标准直方图。
显示每个颜色分量的颜色图。 显示 Y、U、V 的分布,
当前帧中的 A 或 R、G、B 分量,具体取决于输入格式。 以下
每个图形都显示了一个颜色分量刻度表。

颜色
在二维图形中显示色度值(U/V 颜色位置)(即
称为矢量镜)。 矢量示波器中的像素越亮,其像素越多
输入帧对应于该像素(即,更多像素具有此色度
价值)。 V 分量显示在水平 (X) 轴上,最左侧
一侧为 V = 0,最右侧为 V = 255。U 分量为
显示在垂直 (Y) 轴上,顶部代表 U = 0,底部代表
代表 U = 255。

图中白色像素的位置对应于a的色度值
输入剪辑的像素。 因此,该图可用于读取色调(颜色
风味)和饱和度(色调在颜色中的主导地位)。 作为色调
颜色发生变化,它会在正方形周围移动。 在广场的中心,
饱和度为零,这意味着相应的像素没有颜色。 如果
增加特定颜色的数量(同时保持其他颜色不变)
饱和度增加,指标向正方形边缘移动。

color2
矢量示波器中的色度值,类似于“颜色”,但实际色度值是
显示。

波形
每行/列颜色分量图。 在行模式下,左侧的图形
表示颜色分量值 0,右侧表示值 = 255。
列模式,顶边代表颜色分量值=0,底边
表示值 = 255。

默认值为“级别”。

水平高度
在“级别”中设置级别的高度。 默认值为 200。允许的范围为 [50, 2048]。

比例高度
在“级别”中设置色阶的高度。 默认值为 12。允许的范围为 [0, 40]。


为“波形”模式设置步长。 较小的值有助于找出有多少个值
相同的亮度分布在输入行/列上。 默认值为 10。
允许的范围是 [1, 255]。

波形模式
为“波形”设置模式。 可以是“行”或“列”。 默认为“行”。

波形镜像
为“波形”设置镜像模式。 0 表示未镜像,1 表示镜像。 在镜像中
模式,较高的值将在“行”模式的左侧和顶部表示
对于“列”模式。 默认值为 0(未镜像)。

显示模式
设置“波形”和“电平”的显示模式。 它接受以下值:

阅兵
在“行”波形中并排显示颜色分量的单独图形
模式或“列”波形模式中“波形”直方图的一个低于另一个
模式。 对于“级别”直方图模式,每个颜色分量图都放在下面
彼此。

在“波形”直方图模式下使用这种显示模式可以很容易地专色
通过比较图像的轮廓来投射图像的高光和阴影
每个波形的顶部和底部图形。 因为白色、灰色和黑色是
特点是完全相等的红色、绿色和蓝色,中性区域
图片应显示宽度/高度大致相等的三个波形。 如果不,
通过对三个波形进行电平调整,可以很容易地进行校正。

覆盖
呈现与“游行”中相同的信息,除了图表
代表颜色分量直接相互叠加。

“波形”直方图模式中的这种显示模式可以更容易地发现相对
颜色分量重叠区域的差异或相似之处
应该是相同的,例如中性的白色、灰色或黑色。

默认为“游行”。

水平模式
为“级别”设置模式。 可以是“线性”或“对数”。 默认为“线性”。

组件
设置要为模式“级别”显示的颜色组件。 默认值为 7。

国际私人包机价格项目范例

· 计算并绘制直方图:

ffplay -i 输入 -vf 直方图

HQDN3D.
这是一个高精度/高质量的 3d 降噪滤波器。 它旨在减少图像噪声,
产生平滑的图像并使静止图像真正静止。 应该加强
可压缩性。

它接受以下可选参数:

亮度空间
指定空间亮度强度的非负浮点数。 它
默认为 4.0。

色度空间
指定空间色度强度的非负浮点数。 它
默认为 3.0*亮度空间/ 4.0。

亮度_tmp
指定亮度时间强度的浮点数。 它默认为
6.0 *亮度空间/ 4.0。

色度_tmp
指定色度时间强度的浮点数。 它默认为
亮度_tmp*色度空间/亮度空间.

q
应用专为像素艺术设计的高质量放大滤镜。 这个过滤器是
最初由 Maxim Stepin 创建。

它接受以下选项:

n 设置缩放尺寸:“hq2x”为 2,“hq3x”为 3,“hq4x”为 4。 默认值为 3。

堆栈
水平堆叠输入视频。

所有流必须具有相同的像素格式和相同的高度。

请注意,此过滤器比使用更快 覆盖 过滤以创建相同的输出。

过滤器接受以下选项:

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

色调
修改输入的色调和/或饱和度。

它接受以下参数:

h 将色调角指定为度数。 它接受一个表达式,并默认
到“0”。

s 在 [-10,10] 范围内指定饱和度。 它接受一个表达式并默认为
“ 1年XNUMX月XNUMX日”。

H 将色调角指定为弧度数。 它接受一个表达式,并默认
到“0”。

b 在 [-10,10] 范围内指定亮度。 它接受一个表达式并默认为
“ 0年XNUMX月XNUMX日”。

hH 是互斥的,不能同时指定。

b, h, Hs 选项值是包含以下常量的表达式:

n 输入帧的帧数从 0 开始

以时基单位表示的输入帧的呈现时间戳

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

t 时间戳以秒表示,如果输入时间戳未知,则为 NAN

tb 输入视频的时基

国际私人包机价格项目范例

· 将色调设置为 90 度,将饱和度设置为 1.0:

色调=h=90:s=1

· 相同的命令,但以弧度表示色调:

色调=H=PI/2:s=1

· 旋转色调并使饱和度在 0 秒内在 2 和 1 之间摆动:

色调="H=2*PI*t: s=sin(2*PI*t)+1"

· 从 3 开始应用 0 秒饱和淡入效果:

色调="s=min(t/3\,1)"

一般的淡入表达式可以写成:

色调="s=min(0\, max((t-START)/DURATION\, 1))"

· 从 3 秒开始应用 5 秒饱和淡出效果:

Hue="s=max(0\, min(1\, (8-t)/3))"

一般的淡出表达式可以写成:

Hue="s=max(0\, min(1\, (START+DURATION-t)/DURATION))"

命令

此过滤器支持以下命令:

b
s
h
H 修改输入视频的色调和/或饱和度和/或亮度。 这
命令接受相应选项的相同语法。

如果指定的表达式无效,则保持其当前值。

意识形态
检测视频隔行类型。

此过滤器尝试检测输入帧是隔行、逐行、顶部还是底部
场第一。 它还将尝试检测相邻帧之间重复的字段
(电视电影的标志)。

单帧检测在对每个帧进行分类时仅考虑直接相邻的帧
框架。 多帧检测结合了以前的分类历史
框架。

过滤器将记录这些元数据值:

single.current_frame
使用单帧检测检测当前帧的类型。 其中之一:“tff”(顶部
field first)、“bff”(底部字段优先)、“progressive”或“undetermined”

单个.tff
使用单帧检测首先检测为顶场的累积帧数。

多个.tff
使用多帧首先检测为顶场的累积帧数
检测。

单身.bff
使用单帧首先检测为底场的累积帧数
检测。

多个.current_frame
使用多帧检测检测当前帧的类型。 其中之一:“tff”(顶部
field first)、“bff”(底部字段优先)、“progressive”或“undetermined”

多个bff
使用多帧首先检测为底场的累积帧数
检测。

单渐进
使用单帧检测检测为渐进的累积帧数。

多重渐进
使用多帧检测检测为渐进的累积帧数。

未定
使用单帧检测无法分类的累积帧数。

多重未定
无法使用多帧分类的累积帧数
检测。

重复.current_frame
当前帧中的哪个字段从最后一个重复。 “都不是”之一,
“顶部”或“底部”。

重复。都没有
没有重复场的累积帧数。

重复.top
从前一帧的顶部重复顶部场的累积帧数
领域。

重复底部
与前一帧重复的底场的累积帧数
底场。

过滤器接受以下选项:

国际阈值
设置隔行阈值。

程序阈值
设置渐进阈值。

重复阈值
重复场检测的阈值。

半衰期
给定帧对统计的贡献减半后的帧数
(即,它仅对其分类贡献 0.5)。 默认值 0 表示
看到的所有帧都被赋予 1.0 的完整权重。

分析交错标记
当这不是 0 时,idet 将使用指定的帧数来确定
隔行标志是准确的,它不会计算未确定的帧。 如果国旗
被发现是准确的,它将被使用而无需任何进一步的计算,如果它是
如果发现不准确,它将被清除而无需任何进一步的计算。 这个
允许插入 idet 过滤器作为一种低计算方法来清理
交错旗

il
去交错或交错字段。

该过滤器允许处理隔行图像字段而不对其进行去隔行。
去交织将输入帧分成 2 个场(所谓的半图)。 奇数行
被移动到输出图像的上半部分,甚至行到下半部分。 你可以
独立处理(过滤)它们,然后重新交错它们。

过滤器接受以下选项:

亮度模式, l
色度模式, c
阿尔法模式, a
可用值 亮度模式, 色度模式阿尔法模式 是:

没有
没做什么。

去交错, d
去交错字段,将一个放在另一个之上。

交错, i
交错字段。 反转解交织的效果。

默认值为“无”。

亮度交换, ls
色度交换, cs
阿尔法交换, as
交换亮度/色度/阿尔法字段。 交换偶数和奇数行。 默认值为 0。

膨胀
对视频应用膨胀效果。

此过滤器将像素替换为 本地(3x3) 平均只考虑
值高于像素。

它接受以下选项:

阈值0
阈值1
阈值2
阈值3
限制每个平面的最大变化,默认为 65535。如果为 0,平面将保持不变
不变。

交错
来自渐进式内容的简单隔行过滤器。 这交错上(或下)
来自奇数帧的行与来​​自偶数帧的较低(或较高)行,将帧速率减半
并保留图像高度。

原装原装新架
帧 'j' 帧 'j+1' (tff)
========================================
第 0 行 --------------------> 帧 'j' 第 0 行
第 1 行 第 1 行 ----> 帧 'j+1' 第 1 行
第 2 行 ---------------------> 帧 'j' 第 2 行
第 3 行 第 3 行 ----> 帧 'j+1' 第 3 行
...... ......
新的 Frame + 1 将由 Frame 'j+2' 和 Frame 'j+3' 等生成

它接受以下可选参数:

浏览
这决定了隔行帧是从偶数(tff - 默认)还是
渐进帧的奇数 (bff) 行。

低通
启用(默认)或禁用垂直低通滤波器以避免 Twitter 隔行扫描
并减少莫尔条纹。

内核态
通过应用 Donald Graft 的自适应内核去隔行对输入视频进行去隔行。 从事于
视频的交错部分以产生逐行帧。

接受的参数的描述如下。

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

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

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

尖锐
如果设置为 1,则启用额外锐化。默认值为 0。

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

国际私人包机价格项目范例

· 应用默认值:

kerndeint=thresh=10:map=0:order=0:sharp=0:twoway=0

· 启用额外锐化:

核心=尖锐=1

· 将处理过的像素涂成白色:

内核定义=地图=1

镜片矫正
校正径向镜头畸变

该滤波器可用于校正由于使用
广角镜头,从而重新校正图像。 要找到正确的参数,可以
使用可用的工具,例如作为 opencv 的一部分或简单的试错法。 使用
opencv 使用来自 opencv 源的校准样本(在 samples/cpp 下)并提取
来自结果矩阵的 k1 和 k2 系数。

请注意,开源工具 Krita 和
来自 KDE 项目的 Digikam。

与之相反 小插图 滤光片,也可用于补偿镜头误差,这
过滤器校正图像的失真,而 小插图 校正亮度
分布,因此您可能希望在某些情况下同时使用两个过滤器,尽管您
将不得不照顾订购,即是否应在之前或之前应用渐晕
镜头校正后。

附加选项

过滤器接受以下选项:

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

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

k1 二次修正项的系数。 0.5 表示没有校正。

k2 双二次校正项的系数。 0.5 表示没有校正。

产生修正的公式是:

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

哪里 r_0 是图像对角线的一半并且 r_srcr_tgt 是距离
分别在源图像和目标图像中的焦点。

卢特3D
将 3D LUT 应用于输入视频。

过滤器接受以下选项:

文件
设置 3D LUT 文件名。

目前支持的格式:

3dl 后遗症

立方体
伊里达斯

DAT 达芬奇

m3d Pandora

插曲
选择插值模式。

可用值为:

最近的
使用最近的定义点的值。

三线
使用定义立方体的 8 个点插入值。

四面体
使用四面体插入值。

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

卢秋夫 将查找表应用于 YUV 输入视频, 卢特格布 到 RGB 输入视频。

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

c0 设置第一个像素分量表达式

c1 设置第二个像素分量表达式

c2 设置第三个像素分量表达式

c3 设置第四个像素分量表达式,对应alpha分量

r 设置红色分量表达式

g 设置绿色组件表达式

b 设置蓝色分量表达式

a alpha 分量表达式

y 设置 Y/亮度分量表达式

u 设置 U/Cb 分量表达式

v 设置 V/Cr 分量表达式

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

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

lut 过滤器在输入中需要 YUV 或 RGB 像素格式, 卢特格布 需要RGB
输入中的像素格式,以及 卢秋夫 需要 YUV。

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

w
h 输入宽度和高度。

VAL 像素组件的输入值。

裁剪值
输入值,裁剪到 最小-MAXVAL 的特点。

MAXVAL
像素分量的最大值。

最小
像素分量的最小值。

内格瓦尔
像素分量值的否定值,剪裁到 最小-MAXVAL 范围;
它对应于表达式“maxval-clipval+minval”。

剪辑(val)
中的计算值 VAL,剪辑到 最小-MAXVAL 的特点。

伽马值(伽马)
计算出的像素分量值的伽马校正值,剪裁到
最小-MAXVAL 范围。 它对应于表达式
"pow((clipval-minval)/(maxval-minval)\,伽玛)*(maxval-minval)+minval"

所有表达式默认为“val”。

国际私人包机价格项目范例

· 否定输入视频:

lutrgb="r=maxval+minval-val:g=maxval+minval-val:b=maxval+minval-val"
lutyuv="y=maxval+minval-val:u=maxval+minval-val:v=maxval+minval-val"

上面是一样的:

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

· 否定亮度:

lutyuv=y=负值

· 去除色度分量,将视频变成灰度图像:

lutyuv="u=128:v=128"

· 应用亮度燃烧效果:

lutyuv="y=2*val"

· 去除绿色和蓝色成分:

lutrgb="g=0:b=0"

· 在输入上设置一个恒定的 alpha 通道值:

格式=rgba,lutrgb=a="maxval-minval/2"

· 校正亮度伽玛系数 0.5:

lutyuv=y=gammaval(0.5)

· 丢弃亮度的最低有效位:

lutyuv=y='bitand(val, 128+64+32)'

合并平面
合并来自多个视频流的颜色通道组件。

过滤器最多接受 4 个输入流,并将选定的输入平面合并到输出
视频。

此过滤器接受以下选项:

制图
将输入设置为输出平面映射。 默认值为 0。

映射被指定为位图。 它应该被指定为一个十六进制数
格式为 0xAa[Bb[Cc[Dd]]]。 'Aa' 描述了第一个平面的映射
输出流。 'A' 设置要使用的输入流的编号(从 0 到 3),而 'a'
要使用的相应输入的平面编号(从 0 到 3)。 剩下的
mappings 类似,'Bb' 描述了输出流第二个平面的映射,
“Cc”描述输出流第三平面的映射,“Dd”描述输出流第三平面的映射
输出流第四平面的映射。

格式
设置输出像素格式。 默认为“yuva444p”。

国际私人包机价格项目范例

· 将三个相同宽度和高度的灰色视频流合并为一个视频流:

[a0][a1][a2]mergeplanes=0x001020:yuv444p

· 将第一个 yuv1p 流和第二个灰度视频流合并为 yuva444p 视频流:

[a0][a1]mergeplanes=0x00010210:yuva444p

·在yuva444p流中交换Y和A平面:

格式=yuva444p,合并平面=0x03010200:yuva444p

· 在 yuv420p 流中交换 U 和 V 平面:

格式=yuv420p,合并平面=0x000201:yuv420p

· 将 rgb24 剪辑投射到 yuv444p:

格式=rgb24,合并平面=0x000102:yuv444p

麦克唐纳
应用运动补偿去隔行。

每帧需要一个字段作为输入,因此必须与 yadif=1/3 或
当量。

此过滤器接受以下选项:

模式
设置去隔行模式。

它接受以下值之一:

来迅速
中等
放慢
使用迭代运动估计

超慢
喜欢 放慢,但使用多个参考框架。

默认值为 来迅速.

平价
设置为输入视频假定的图片字段奇偶校验。 它必须是其中之一
以下值:

0, tff
首先假设顶场

1, BFF
先假设底场

默认值为 BFF.

qp 设置内部编码器使用的每块量化参数 (QP)。

较高的值应导致更平滑的运动矢量场,但不太理想
个体向量。 默认值为 1。

抽取
丢帧与前一帧相差不大的帧,以减少帧
率。

此过滤器的主要用途是用于极低比特率的编码(例如通过拨号进行流式传输
调制解调器),但理论上它可以用于修复反向电视转播的电影
错误地。

接受的选项的描述如下。

最大 设置可以丢弃的最大连续帧数(如果为正),或
丢帧之间的最小间隔(如果为负)。 如果值为 0,则
无论先前连续丢弃的帧数如何,帧都会被丢弃。

默认值为 0。

hi
lo
燕尾服
设置下降阈值。

的价值 hilo 用于 8x8 像素块并表示实际像素值
差异,因此阈值 64 对应于每个像素的 1 个差异单位,
或者相同的在块上以不同的方式展开。

如果没有 8x8 块的差异超过阈值,则帧是丢弃的候选者
of hi,如果不超过 燕尾服 块(1 表示整个图像)相差超过
一个阈值 lo.

默认值 hi 是 64*12,默认值 lo 是 64*5,默认值为
燕尾服 是0.33。

否定
否定输入视频。

它在输入中接受一个整数; 如果非零,则否定 alpha 分量(如果可用)。
输入中的默认值为 0。

无格式
强制 libavfilter 不对下一个的输入使用任何指定的像素格式
过滤。

它接受以下参数:

像素_fmts
以“|”分隔的像素格式名称列表,例如 apix_fmts=yuv420p|monow|rgb24"。

国际私人包机价格项目范例

· 强制 libavfilter 使用不同于 yuv420p 用于 vflip 的输入
过滤器:

noformat=pix_fmts=yuv420p,vflip

· 将输入视频转换为列表中未包含的任何格式:

noformat=yuv420p|yuv444p|yuv410p

噪声
在视频输入帧上添加噪声。

过滤器接受以下选项:

全种子
c0_种子
c1_种子
c2_种子
c3_种子
为特定像素分量或所有像素分量设置噪声种子,以防万一
全种子. 默认值为 123457。

全力以赴, 全部
c0_强度, c0s
c1_强度, c1s
c2_强度, c2s
c3_强度, c3s
为特定像素组件或所有像素组件设置噪声强度,以防万一
全力以赴. 默认值为 0。允许的范围为 [0, 100]。

所有标志, 全部
c0_标志, c0f
c1_标志, c1f
c2_标志, c2f
c3_标志, c3f
设置像素组件标志或为所有组件设置标志,如果 所有标志。 可用的
组件标志的值是:

a 平均时间噪声(更平滑)

p 将随机噪声与(半)规则模式混合

t 时间噪声(帧之间的噪声模式变化)

u 均匀噪声(否则为高斯)

国际私人包机价格项目范例

向输入视频添加时间和均匀噪声:

噪音=alls=20:allf=t+u


将视频源不变地传递到输出。

摄象机
使用 libopencv 应用视频转换。

要启用此过滤器,请安装 libopencv 库和头文件并使用以下命令配置 FFmpeg
“--启用-libopencv”。

它接受以下参数:

过滤器名称
要应用的 libopencv 过滤器的名称。

过滤参数
传递给 libopencv 过滤器的参数。 如果未指定,则使用默认值
被假定。

请参阅官方 libopencv 文档以获取更准确的信息:
<http://docs.opencv.org/master/modules/imgproc/doc/filtering.html>

支持多个 libopencv 过滤器; 请参阅以下小节。

膨胀

使用特定的结构元素扩展图像。 它对应于 libopencv
函数“cvDilate”。

它接受参数: 结构体|nb_迭代.

结构体 表示结构元素,语法如下:
x+锚点_xx锚点_y/塑造

表示结构元素的列数和行数,
锚点_x锚点_y 锚点,和 塑造 结构元素的形状。
塑造 必须是“rect”、“cross”、“ellipse”或“custom”。

如果值为 塑造 是“custom”,后面必须跟一个字符串形式
"=文件名". 文件名 文件名 假设代表一个二值图像,每个
对应于明亮像素的可打印字符。 当一个自定义 塑造 用来,
被忽略,取而代之的是读取文件的数量或列和行。

的默认值 结构体 是“3x3+0x0/rect”。

nb_迭代 指定变换应用于图像的次数,以及
默认为 1。

一些例子:

# 使用默认值
ocv=扩张

# 使用具有 5x5 交叉的结构元素进行扩张,迭代两次
ocv=filter_name=dilate:filter_params=5x5+2x2/cross|2

# 从文件 diamond.shape 中读取形状,迭代两次。
# 文件 diamond.shape 可能包含这样的字符模式
#*
#***
# *****
#***
#*
# 忽略指定的列和行
# 但锚点坐标不是
ocv=dilate:0x0+2x2/custom=diamond.shape|2

侵蚀

使用特定的结构元素腐蚀图像。 它对应于 libopencv
函数“cvErode”。

它接受参数: 结构体:nb_迭代, 具有相同的语法和语义
膨胀 过滤。

光滑

平滑输入视频。

过滤器采用以下参数: 类型|param1|param2|param3|param4.

类型 是要应用的平滑过滤器的类型,并且必须是以下值之一:
“模糊”、“blur_no_scale”、“中值”、“高斯”或“双边”。 默认值为
“高斯”。

的含义 param1, param2, param3param4 取决于平滑类型。 param1
param2 接受整数正值或 0。 param3param4 接受浮点数
值。

的默认值 param1 是 3。其他参数的默认值为 0。

这些参数对应分配给libopencv函数的参数
“cvSmooth”。

覆盖
将一个视频叠加在另一个视频上。

它需要两个输入,一个输出。 第一个输入是“主”视频,
第二个输入被覆盖。

它接受以下参数:

接受的选项的描述如下。

x
y 设置主叠加视频的 x 和 y 坐标表达式
视频。 两个表达式的默认值都是“0”。 如果表达式无效,
它被设置为一个巨大的值(意味着覆盖将不会显示在
输出可见区域)。

eof_action
在辅助输入上遇到 EOF 时要采取的操作; 它接受其中之一
以下值:

重复
重复最后一帧(默认)。

尽头
结束两个流。

通过
通过主要输入。

评估
当表达式为 xy 被评估。

它接受以下值:

初始化
仅在过滤器初始化期间或命令时对表达式求值一次
被处理

框架
评估每个传入帧的表达式

默认值为 框架.

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

格式
设置输出视频的格式。

它接受以下值:

uv
强制YUV420输出

uv
强制YUV422输出

uv
强制YUV444输出

RGB 强制RGB输出

默认值为 uv.

RGB (已弃用)
如果设置为 1,则强制过滤器接受 RGB 颜色空间中的输入。 默认值
为 0。此选项已弃用,请使用 格式 代替。

重复最后
如果设置为 1,则强制过滤器在主输入上绘制最后一个覆盖帧,直到
流的尽头。 值 0 禁用此行为。 默认值为 1。

xy 表达式可以包含以下参数。

主w, W
主_h, H
主要输入宽度和高度。

覆盖_w, w
覆盖_h, h
叠加输入宽度和高度。

x
y 的计算值 xy. 它们针对每个新帧进行评估。


虚拟机
输出格式的水平和垂直色度子样本值。 例如对于
像素格式“yuv422p” 是2和 虚拟机 是1。

n 输入帧数,从0开始

邮寄 输入帧在文件中的位置,如果未知,则为 NAN

t 时间戳,以秒表示。 如果输入时间戳未知,则为 NAN。

请注意 n, 邮寄, t 变量仅在评估完成时可用 框架,
并将评估为 NAN 时 评估 被设置为 初始化.

请注意,帧是按时间戳顺序从每个输入视频中获取的,因此,如果它们
初始时间戳不同,最好将两个输入通过
setpts=PTS-开始PTS 过滤以让它们以相同的零时间戳开始,例如
等加工。为 电影 过滤器。

您可以将更多叠加层链接在一起,但您应该测试这种方法的效率。

命令

此过滤器支持以下命令:

x
y 修改覆盖输入的 x 和 y。 该命令接受相同的语法
相应的选项。

如果指定的表达式无效,则保持其当前值。

国际私人包机价格项目范例

· 在距主视频右下角 10 像素处绘制叠加层:

叠加=main_w-overlay_w-10:main_h-overlay_h-10

使用命名选项,上面的例子变成:

叠加=x=main_w-overlay_w-10:y=main_h-overlay_h-10

· 在输入的左下角插入一个透明的PNG logo,使用 ffmpeg的
带有“-filter_complex”选项的工具:

ffmpeg -i 输入 -i 标志 -filter_complex 'overlay=10:main_h-overlay_h-10' 输出

· 使用 插入 2 个不同的透明 PNG 徽标(右下角的第二个徽标)
ffmpeg的 工具:

ffmpeg -i 输入 -i logo1 -i logo2 -filter_complex 'overlay=x=10:y=Hh-10,overlay=x=Ww-10:y=Hh-10' 输出

· 在主视频之上添加透明色层; “WxH”必须指定尺寸
叠加过滤器的主要输入:

[电子邮件保护]:尺寸=宽x高[超过]; [输入][覆盖]覆盖[输出]

· 并排播放原始视频和过滤后的版本(此处使用 deshake 过滤器)
一边使用 ffplay 工具:

ffplay input.avi -vf 'split[a][b]; [a]pad=iw*2:ih[src]; [b] 去摇 [filt]; [src][filt]overlay=w'

上面的命令等同于:

ffplay input.avi -vf 'split[b], pad=iw*2[src], [b]deshake, [src]overlay=w'

· 制作一个从屏幕左上角到右上角的滑动叠加层
从时间 2 开始:

叠加=x='if(gte(t,2), -w+(t-2)*20, NAN)':y=0

· 通过将两个输入视频并排放置来组合输出:

ffmpeg -i left.avi -i right.avi -filter_complex "
nullsrc=size=200x100 [背景];
[0:v] setpts=PTS-STARTPTS, 比例=100x100 [左];
[1:v] setpts=PTS-STARTPTS, scale=100x100 [右];
[背景][左]覆盖=最短=1 [背景+左];
[背景+左][右]叠加=最短=1:x=100 [左+右]
"

· 通过将 delogo 过滤器应用于某个部分来屏蔽视频的 10-20 秒

ffmpeg -i test.avi -编解码器:v:0 wmv2 -ar 11025 -b:v 9000k
-vf '[in]split[split_main][split_delogo];[split_delogo]trim=start=360:end=371,delogo=0:0:640:480[delogoed];[split_main][delogoed]overlay=eof_action=pass[out]'
蒙面.avi

· 级联多个叠加层:

nullsrc=s=200x200 [背景];
testsrc=s=100x100, split=4 [in0][in1][in2][in3];
[in0] lutrgb=r=0, [bg] 叠加=0:0 [mid0];
[in1] lutrgb=g=0, [mid0] 叠加=100:0 [mid1];
[in2] lutrgb=b=0, [mid1] 叠加=0:100 [mid2];
[in3] 空,[mid2] 覆盖=100:100 [out0]

低噪
应用过完备小波降噪器。

过滤器接受以下选项:

深度
设置深度。

较大的深度值会对低频分量进行更多去噪,但会减慢
过滤。

必须是 8-16 范围内的整数,默认为 8。

亮度强度, ls
设置亮度强度。

必须是 0-1000 范围内的双精度值,默认值为 1.0。

色度强度, cs
设置色度强度。

必须是 0-1000 范围内的双精度值,默认值为 1.0。


向输入图像添加填充,并将原始输入放置在提供的 x, y
坐标。

它接受以下参数:

宽度, w
高度, h
指定添加了填充的输出图像大小的表达式。 如果
的价值 宽度 or 高度 为0,对应的输入大小用于输出。

宽度 表达式可以引用由 高度 表达,和副
反之亦然。

默认值为 宽度高度 是0。

x
y 指定将输入图像放置在填充区域内的偏移量,相对于
到输出图像的上/左边框。

x 表达式可以引用由 y 表达,反之亦然。

默认值为 xy 是0。

颜色
指定填充区域的颜色。 有关此选项的语法,请检查“颜色”
ffmpeg-utils 手册中的部分。

默认值为 颜色 是“黑”。

的值 宽度, 高度, xy 选项是包含以下内容的表达式
常数:

在_w
在_h
输入视频的宽度和高度。

iw
ih 这些与 在_w在_h.

出_w
输出_h
输出宽度和高度(填充区域的大小),由 宽度
高度 表达式。

ow
oh 这些与 出_w输出_h.

x
y 由指定的 x 和 y 偏移量 xy 表达式,或者 NAN 如果还没有
指定的。

a 一样 iw / ih

特区 输入样本纵横比

输入显示纵横比,与(iw / ih)* 特区


虚拟机
水平和垂直色度子样本值。 例如对于像素格式
“yuv422p” 是2和 虚拟机 是1。

国际私人包机价格项目范例

· 向输入视频添加颜色为“紫罗兰”的填充。 输出视频大小为
640x480,输入视频的左上角位于第0列第40行

垫=640:480:0:40:紫色

上面的例子相当于下面的命令:

垫=宽度=640:高度=480:x=0:y=40:颜色=紫色

· 填充输入以获得维度增加3/2的输出,并将输入
填充区域中心的视频:

pad="3/2*iw:3/2*ih:(ow-iw)/2:(oh-ih)/2"

· 填充输入以获得平方输出,其大小等于两者之间的最大值
输入宽度和高度,并将输入视频放在填充区域的中心:

pad="max(iw\,ih):ow:(ow-iw)/2:(oh-ih)/2"

· 填充输入以获得最终的 w/h 比为 16:9:

pad="ih*16/9:ih:(ow-iw)/2:(oh-ih)/2"

· 在变形视频的情况下,为了正确设置输出显示纵横比,它
有必要使用 特区 在表达式中,根据关系:

(ih * X / ih) * sar = 输出_dar
X = 输出_dar / sar

因此需要将前面的示例修改为:

pad="ih*16/9/sar:ih:(ow-iw)/2:(oh-ih)/2"

· 将输出尺寸加倍,并将输入视频放在屏幕的右下角
输出填充区域:

pad="2*iw:2*ih:ow-iw:oh-ih"

调色板根
为整个视频流生成一个调色板。

它接受以下选项:

最大颜色
设置调色板中要量化的最大颜色数。 注意:调色板将
仍然包含 256 种颜色; 未使用的调色板条目将是黑色的。

保留_透明
创建最多 255 种颜色的调色板,并保留最后一个颜色以保持透明度。
保留透明度颜色对于 GIF 优化很有用。 如果未设置,则
调色板中的最大颜色为 256。您可能想要禁用此选项
对于独立图像。 默认设置。

统计模式
设置统计模式。

它接受以下值:


计算全帧直方图。

差异
仅计算与前一帧不同的部分的直方图。 这有可能
如果
背景是静态的。

默认值为 .

过滤器还导出帧元数据“lavfi.color_quant_ratio”(“nb_color_in /
nb_color_out") 可以用来评估颜色量化的程度
调色板。 此信息也可见于 info 日志级别。

国际私人包机价格项目范例

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

ffmpeg -i input.mkv -vf 调色板调色板.png

调色板使用
使用调色板对输入视频流进行下采样。

过滤器接受两个输入:一个视频流和一个调色板。 调色板必须是 256
像素图像。

它接受以下选项:

抖动
选择抖动模式。 可用的算法有:

拜尔
有序 8x8 拜耳抖动(确定性)

赫伯特
Paul Heckbert 在 1982 年定义的抖动(简单的误差扩散)。 笔记:
这种抖动有时被认为是“错误的”,并作为参考。

弗洛伊德斯坦伯格
Floyd 和 Steingberg 抖动(误差扩散)

sierra2
Frankie Sierra 抖动 v2(误差扩散)

山脉2_4a
Frankie Sierra 抖动 v2“精简版”(错误扩散)

默认是 山脉2_4a.

拜耳规模
什么时候 拜尔 选择抖动,此选项定义图案的比例(如何
很多交叉影线图案是可见的)。 低值意味着更明显的模式
更少的条带,更高的价值意味着更少的可见图案,但会以更多的条带为代价。

该选项必须是 [0,5] 范围内的整数值。 默认是 2.

差异模式
如果设置,则定义要处理的区域

矩形
只有变化的矩形将被重新处理。 这类似于 GIF
裁剪/偏移压缩机制。 此选项可用于提高速度,如果
只有一部分图像发生了变化,并且具有诸如限制范围之类的用例
误差扩散 抖动 到限制移动场景的矩形(它
如果场景变化不大,则会导致更确定的输出,并且作为
产生更少的移动噪音和更好的 GIF 压缩)。

默认是 没有.

国际私人包机价格项目范例

· 使用调色板(例如生成 调色板根) 使用 ffmpeg的:

ffmpeg -i input.mkv -i 调色板.png -lavfi 调色板使用 output.gif

透视
未垂直于屏幕录制的视频的正确视角。

接受的参数的描述如下。

x0
y0
x1
y1
x2
y2
x3
y3 设置左上、右上、左下和右下的坐标表达式
角落。 默认值为“0:0:W:0:0:H:W:H”,透视将保留
不变。 如果“sense”选项设置为“source”,那么指定的点将
被送到目的地的角落。 如果“sense”选项设置为
"destination",则源的角点将被发送到指定的
坐标。

表达式可以使用以下变量:

W
H 视频帧的宽度和高度。

插值
为透视校正设置插值。

它接受以下值:

线性
立方体

默认值为 线性.


设置坐标选项的解释。

它接受以下值:

0, 资源
将给定坐标指定的源中的点发送到
目的地。

1, 目的地
将源的角发送到目标中指定的点
给定坐标。

默认值为 资源.


将隔行视频延迟一个场时间,以便改变场序。

预期用途是修复使用相反场拍摄的 PAL 电影
为了电影到视频的传输。

接受的参数的描述如下。

模式
设置相位模式。

它接受以下值:

t 从上到下捕获场序,从下到先传输。 过滤器会延迟
底场。

b 捕获字段顺序自下而上,传输自上而下。 过滤器会延迟顶部
领域。

p 以相同的场序进行捕获和传输。 这种模式只存在于
要参考的其他选项的文档,但如果您实际选择它,
filter 将忠实地执行任何操作。

a 捕获字段顺序由字段标志自动确定,传输相反。
过滤器从中选择 tb 使用场标志逐帧模式。 如果
没有可用的字段信息,那么这就像 u.

u 捕获未知或变化,转移相反。 过滤器从中选择 tb
逐帧分析图像并选择替代方案
产生字段之间的最佳匹配。

T 捕获顶部优先,转移未知或变化。 过滤器从中选择 tp
使用图像分析。

B 捕获底部优先,转移未知或变化。 过滤器从中选择 bp
使用图像分析。

A 捕获由字段标志确定,传输未知或变化。 过滤选择
其中 t, bp 使用字段标志和图像分析。 如果没有字段信息
可用,那么这就像 U. 这是默认模式。

U 捕获和传输都是未知的或变化的。 过滤器从中选择 t, bp
仅使用图像分析。

像素测试
像素格式描述符测试过滤器,主要用于内部测试。 输出视频
应该等于输入视频。

例如:

格式=monow,pixdesctest

可用于测试 monowhite 像素格式描述符定义。

pp
使用 libpostproc 启用指定的后处理子过滤器链。 这个图书馆
应该使用 GPL 构建(“--enable-gpl”)自动选择。 子过滤器必须是
由“/”分隔,可以通过添加“-”来禁用。 每个子过滤器和一些选项
有一个可以互换使用的短名称和长名称,即 dr/dering 是
相同的。

过滤器接受以下选项:

子过滤器
设置后处理子过滤器字符串。

所有子过滤器共享通用选项来确定其范围:

一个/自动q
遵守此子过滤器的质量命令。

色/铬
也进行色度过滤(默认)。

是/无色度
仅进行亮度过滤(无色度)。

n/诺鲁玛
仅进行色度过滤(无亮度)。

这些选项可以附加在子过滤器名称之后,以“|”分隔。

可用的子过滤器是:

hb/hdeblock[|差异[|平坦度]]
水平去块滤波器

差异
差异因子,其中较高的值意味着更多的解块(默认值:32)。

平整度
平坦度阈值,较低的值意味着更多的去块(默认值:39)。

vb/vdeblock[|差异[|平坦度]]
垂直去块滤波器

差异
差异因子,其中较高的值意味着更多的解块(默认值:32)。

平整度
平坦度阈值,较低的值意味着更多的去块(默认值:39)。

ha/hadeblock[|差异[|平坦度]]
精确的水平去块滤波器

差异
差异因子,其中较高的值意味着更多的解块(默认值:32)。

平整度
平坦度阈值,较低的值意味着更多的去块(默认值:39)。

va/vadeblock[|差异[|平坦度]]
精确的垂直去块滤波器

差异
差异因子,其中较高的值意味着更多的解块(默认值:32)。

平整度
平坦度阈值,较低的值意味着更多的去块(默认值:39)。

水平和垂直去块滤波器共享差异和平坦度值,因此
您不能设置不同的水平和垂直阈值。

h1/x1h去块
实验性水平去块滤波器

v1/x1v去块
实验性垂直去块滤波器

博士/德林
德林过滤器

tn/tmpnoise[|threshold1[|threshold2[|threshold3]]], 噪声 减速器
阈值1
更大 -> 更强的过滤

阈值2
更大 -> 更强的过滤

阈值3
更大 -> 更强的过滤

al/autolevels[:f/fullrange], 自动 亮度 / 对比 更正
f/全频
将亮度拉伸到“0-255”。

磅/林混合物
线性混合去隔行过滤器,通过过滤所有给定块来去隔行
带有“(1 2 1)”过滤器的行。

锂/利尼波尔登
线性内插去隔行滤波器,通过以下方式对给定块进行去隔行
每隔一行线性插值。

ci/cubicoldeint
Cubic interpolating deinterlacing filter 三次插值去隔行给定块
每隔一行插值一次。

MD/中值
中值去隔行滤波器,通过应用中值去隔行给定块
过滤到每两行。

fd/ffmpegdeint
FFmpeg 去隔行过滤器,通过过滤每个给定块来去隔行
第二行带有“(-1 4 2 4 -1)”过滤器。

l5/低通5
垂直应用的 FIR 低通去隔行滤波器对给定块进行去隔行
通过使用“(-1 2 6 2 -1)”过滤器过滤所有行。

fq/forceQuant[|量化器]
使用您指定的常量量化器覆盖输入中的量化器表。

量化器
要使用的量化器

取消/默认
默认 pp 过滤器组合 ("hb|a,vb|a,dr|a")

快速/快速
快速 pp 过滤器组合 ("h1|a,v1|a,dr|a")

ac 高品质pp过滤器组合(“ha|a|128|7,va|a,dr|a”)

国际私人包机价格项目范例

· 应用水平和垂直去块、去环和自动亮度/对比度:

pp=hb/vb/dr/al

· 应用没有亮度/对比度校正的默认过滤器:

pp=de/-al

· 应用默认过滤器和时间降噪器:

pp=默认/tmpnoise|1|2|3

· 仅对亮度应用去块,并打开或关闭垂直去块
自动取决于可用的 CPU 时间:

pp=hb|y/vb|a

pp7
应用后处理过滤器 7。它是 过滤器,类似于 spp = 6 与 7
点 DCT,在 IDCT 之后仅使用中心样本。

过滤器接受以下选项:

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

模式
设置阈值模式。 可用模式有:


设置硬阈值。


设置软阈值(更好的去振铃效果,但可能更模糊)。

中等
设置中等阈值(良好的结果,默认)。

压力信噪比
获得两个之间的平均、最大和最小 PSNR(峰值信噪比)
输入视频。

此过滤器接受两个输入视频的输入,第一个输入被认为是“主”
源并原封不动地传递给输出。 第二个输入用作“参考”
用于计算 PSNR 的视频。

两个视频输入必须具有相同的分辨率和像素格式,此过滤器才能工作
正确。 它还假设两个输入具有相同的帧数,即
一一比较。

通过测井系统打印获得的平均 PSNR。

过滤器存储每帧的累积 MSE(均方误差),并在最后
在处理过程中,它在所有帧上平均平均,下面的公式是
用于获得 PSNR:

峰值信噪比 = 10*log10(MAX^2/MSE)

其中 MAX 是图像每个分量的最大值的平均值。

接受的参数的描述如下。

统计文件, f
如果指定,过滤器将使用命名文件来保存每个人的 PSNR
帧。

打印的文件如果 统计文件 被选中,包含一系列的键/值对
申请 :折扣值 对于每个比较的几帧。

每个显示的参数的描述如下:

n 输入帧的序号,从1开始

平均值
Mean Square Error 比较帧的逐像素平均差,取平均值
在所有图像组件上。

mse_y, mse_u, mse_v, mse_r, mse_g, mse_g, mse_a
均方误差逐像素的比较帧的平均差异
由后缀指定的组件。

psnr_y, psnr_u, psnr_v, psnr_r, 峰值信噪比_g, psnr_b, 峰值信噪比
由指定的组件的比较帧的峰值信噪比
后缀。

例如:

电影=ref_movie.mpg, setpts=PTS-STARTPTS [main];
[main][ref] psnr="stats_file=stats.log" [out]

在此示例中,将正在处理的输入文件与参考文件进行比较
参考电影.mpg. 每个单独帧的 PSNR 存储在 统计信息.

拉起
下拉反转(反电视电影)过滤器,能够处理混合硬电视电影,
24000/1001 fps 逐行和 30000/1001 fps 逐行内容。

上拉过滤器旨在利用未来的上下文来做出决策。
这个过滤器是无状态的,因为它不会锁定要遵循的模式,但是
相反,它期待以下字段以识别匹配项并重建
渐进式框架。

要生成具有均匀帧率的内容,请在 pullup 后插入 fps 过滤器,使用
“fps=24000/1001”如果输入帧率为 29.97fps,“fps=24”为 30fps 和(罕见的)
电视转换成 25fps 输入。

过滤器接受以下选项:

jl
jr
jt
jb 这些选项设置要在左侧、右侧、顶部和底部忽略的“垃圾”数量
的图像,分别。 左右以 8 像素为单位,而顶部和
底部以 2 行为单位。 默认为每边 8 个像素。

sb 设置严格的休息时间。 将此选项设置为 1 将减少过滤的机会
偶尔会产生不匹配的帧,但也可能导致数量过多
在高速运动序列期间要丢弃的帧数。 相反,将其设置为 -1
将使过滤器匹配字段更容易。 这可能有助于处理视频
场之间有轻微的模糊,但也可能导致隔行
输出中的帧。 默认值为 0。

mp 设置要使用的公制平面。 它接受以下值:

l 使用亮度平面。

u 使用色度蓝色平面。

v 使用色度红色平面。

此选项可以设置为使用色度平面而不是默认的亮度平面来执行
过滤器的计算。 这可能会提高非常干净的源材料的准确性,但
更有可能会降低准确性,特别是如果有色度噪声(彩虹
效果)或任何灰度视频。 设置的主要目的 mp 色度平面是
减少 CPU 负载并使 pullup 在慢速机器上实时可用。

为了获得最佳结果(输出文件中没有重复的帧),有必要更改
输出帧率。 例如,要反转电视电影 NTSC 输入:

ffmpeg -i 输入 -vf 上拉 -r 24000/1001 ...

qp
更改视频量化参数 (QP)。

过滤器接受以下选项:

qp 设置量化参数的表达式。

该表达式通过 eval API 进行评估,并且可以包含,除其他外,
以下常数:

已知
如果索引不是 1,则为 129,否则为 0。

qp 从 -129 到 128 的顺序索引。

国际私人包机价格项目范例

· 一些等式,如:

qp=2+2*sin(PI*qp)

随机
将视频帧从帧的内部缓存中刷新为随机顺序。 没有框架
丢弃。 灵感来自 自由 神经过滤器。


设置内部缓存的帧数大小,范围从 2 到 512。默认为 30。

种子
为随机数生成器设置种子,必须是介于 0 和
“UINT32_MAX”。 如果未指定,或者明确设置为小于 0,过滤器将
尽量使用一个好的随机种子。

去除颗粒
removegrain 过滤器是用于渐进式视频的空间降噪器。

m0 为第一架飞机设置模式。

m1 为第二个平面设置模式。

m2 为第三个平面设置模式。

m3 为第四个平面设置模式。

模式的范围是从 0 到 24。每种模式的说明如下:

0 保持输入平面不变。 默认。

1 使用 8 个相邻像素中的最小值和最大值剪辑像素。

2 用 8 个相邻像素中的第二个最小值和最大值剪辑像素。

3 用 8 个相邻像素中的第三个最小值和最大值剪辑像素。

4 用 8 个相邻像素中的第四个最小值和最大值剪辑像素。 这个
相当于一个中值滤波器。

5 线敏感剪裁提供最小的变化。

6 线敏感剪裁,中间。

7 线敏感剪裁,中间。

8 线敏感剪裁,中间。

9 在相邻像素最近的线上进行线敏感裁剪。

10 用最近的邻居替换目标像素。

11 [1 2 1] 水平和垂直内核模糊。

12 与模式 11 相同。

13 Bob 模式,从相邻像素所在的线插入顶场
最接近。

14 Bob 模式,从相邻像素所在的线插入底场
最接近。

15 Bob 模式,插入顶场。 与 13 相同,但具有更复杂的插值
式。

16 Bob 模式,插入底场。 与 14 相同,但更复杂
插值公式。

17 分别以最大值和最小值的最小值和最大值剪辑像素
每对相对的相邻像素。

18 使用距离最远的相对邻居进行线敏感剪裁
当前像素最小。

19 用其 8 个邻居的平均值替换像素。

20 平均 9 个像素([1 1 1] 水平和垂直模糊)。

21 使用相对邻居的平均值裁剪像素。

22 与模式 21 相同,但更简单、更快。

23 小边缘和光晕去除,但据说没用。

24 类似于 23。

移除标志
抑制电视台标志,使用图像文件来确定哪些像素构成
标识。 它的工作原理是用相邻像素填充构成徽标的像素。

过滤器接受以下选项:

文档名称, f
设置滤镜位图文件,可以是libavformat支持的任意图片格式。
图像文件的宽度和高度必须与正在传输的视频流的宽度和高度相匹配。
处理。

所提供的位图图像中值为 XNUMX 的像素不被视为
标志,非零像素被视为标志的一部分。 如果您使用白色 (255) 作为标志
其余部分为黑色 (0),您将安全。 为了制作过滤器位图,它是
建议对带有徽标的黑框进行屏幕截图,然后
使用阈值过滤器,然后使用腐蚀过滤器一次或两次。

如果需要,可以手动修复小斑点。 请记住,如果徽标像素不是
覆盖,过滤器质量将大大降低。 将太多像素标记为
徽标不会受到太大伤害,但会增加覆盖所需的模糊量
在图像上,会破坏比必要的更多的信息,额外的像素会
在大徽标上放慢速度。

重复字段
此过滤器使用来自 Video ES 标头和硬重复字段的 repeat_field 标志
基于其价值。

逆转, 逆向
反转剪辑。

警告:此过滤器需要内存来缓冲整个剪辑,因此建议进行修剪。

国际私人包机价格项目范例

· 取剪辑的前 5 秒,然后将其反转。

修剪=结束=5,反向

轮流
以弧度表示的任意角度旋转视频。

过滤器接受以下选项:

可选参数的描述如下。

角度, a
设置顺时针旋转输入视频的角度表达式,
以弧度数表示。 负值将导致逆时针
回转。 默认情况下,它设置为“0”。

该表达式针对每一帧进行评估。

输出, ow
设置输出宽度表达式,默认值为“iw”。 这个表达式被评估
在配置期间只需一次。

输出_h, oh
设置输出高度表达式,默认值为“ih”。 这个表达式被评估
在配置期间只需一次。

双线性
如果设置为 1,则启用双线性插值,值为 0 将禁用它。 默认值为
1.

填色, c
设置用于填充旋转图像未覆盖的输出区域的颜色。 为了
此选项的一般语法,请检查 ffmpeg-utils 手册中的“颜色”部分。
如果选择了特殊值“none”,则不打印背景(对于
例如,如果从不显示背景)。

默认值为“黑色”。

角度和输出尺寸的表达式可以包含以下常量和
职能:

n 输入帧的序号,从 0 开始。它总是在 NAN 之前
过滤第一帧。

t 输入帧的时间(以秒为单位),配置过滤器时设置为 0。 它
在过滤第一帧之前总是 NAN。


虚拟机
水平和垂直色度子样本值。 例如对于像素格式
“yuv422p” 是2和 虚拟机 是1。

在_w, iw
在_h, ih
输入视频的宽度和高度

输出, ow
输出_h, oh
输出宽度和高度,即由指定的填充区域的大小
宽度高度 表达式

轮(一)
罗斯(一)
完全包含旋转的输入视频所需的最小宽度/高度
a 弧度。

这些仅在计算 出_w输出_h 表达式。

国际私人包机价格项目范例

· 将输入顺时针旋转 PI/6 弧度:

旋转=PI/6

· 将输入逆时针旋转 PI/6 弧度:

旋转=-PI/6

· 将输入顺时针旋转 45 度:

旋转=45*PI/180

· 应用周期为 T 的恒定旋转,从 PI/3 的角度开始:

旋转=PI/3+2*PI*t/T

· 使输入视频旋转以T秒的周期和幅度振荡
A 弧度:

旋转=A*sin(2*PI/T*t)

· 旋转视频,选择输出尺寸,使整个旋转的输入视频
始终完全包含在输出中:

旋转='2*PI*t:ow=hypot(iw,ih):oh=ow'

· 旋转视频,减小输出尺寸,以便永远不会显示背景:

旋转=2*PI*t:ow='min(iw,ih)/开方(2)':oh=ow:c=none

命令

过滤器支持以下命令:

a, 角度
设置角度表达式。 该命令接受相应的相同语法
选项。

如果指定的表达式无效,则保持其当前值。

SAB
应用形状自适应模糊。

过滤器接受以下选项:

亮度半径, lr
设置亮度模糊滤镜强度,必须是0.1-4.0范围内的一个值,默认值为1.0。
值越大,图像越模糊,处理速度越慢。

luma_pre_filter_radius, 低速
设置亮度预过滤半径,必须是0.1-2.0范围内的一个值,默认值为
1.0.

亮度强度, ls
设置像素之间的亮度最大差异仍然要考虑,必须是一个值
0.1-100.0 范围,默认值为 1.0。

色度半径, cr
设置色度模糊滤镜强度,必须是 0.1-4.0 范围内的一个值。 更大的价值
将导致图像更模糊,处理速度更慢。

chroma_pre_filter_radius, CPFR
设置色度预过滤半径,必须是0.1-2.0范围内的一个值。

色度强度, cs
设置像素之间的色度最大差异仍需考虑,必须是一个值
在0.1-100.0范围内。

每个色度选项值,如果没有明确指定,则设置为相应的亮度
选项值。

规模
使用 libswscale 库缩放(调整大小)输入视频。

缩放过滤器强制输出显示纵横比与输入相同,通过
改变输出样本纵横比。

如果输入图像格式与下一个过滤器请求的格式不同,则
缩放过滤器将输入转换为请求的格式。

附加选项

过滤器接受以下选项,或任何支持的选项
libswscale 缩放器。

我们 ffmpeg 缩放器 手册 有关缩放器选项的完整列表。

宽度, w
高度, h
设置输出视频维度表达式。 默认值为输入维度。

如果值为 0,则输入宽度用于输出。

如果其中一个值为 -1,则缩放过滤器将使用一个值来保持
输入图像的纵横比,从其他指定维度计算。 如果
它们都是-1,使用输入大小

如果其中一个值为 -n 且 n > 1,则比例过滤器还将使用一个值
保持输入图像的纵横比,从另一个指定的计算
尺寸。 但是,在那之后,它会确保计算出的尺寸是
可被 n 整除并在必要时调整该值。

有关维度表达式中使用的可接受常量列表,请参见下文。

内线
设置隔行扫描模式。 它接受以下值:

1 强制隔行感知缩放。

0 不要应用隔行缩放。

-1 根据是否标记源帧选择隔行感知缩放
隔行或不隔行。

默认值为 0.

标志
设置 libswscale 缩放标志。 看 ffmpeg 缩放器 手册 的完整列表
值。 如果未明确指定,过滤器将应用默认标志。

尺寸, s
设置视频大小。 有关此选项的语法,请检查 “视频 尺寸” 部分 in
ffmpeg 实用程序 手册.

颜色矩阵
输出颜色矩阵
设置输入/输出 YCbCr 颜色空间类型。

这允许覆盖自动检测的值以及允许强制执行
用于输出和编码器的特定值。

如果未指定,则颜色空间类型取决于像素格式。

可能的值:

汽车
自动选择。

bt709
符合国际电信联盟 (ITU) 建议的格式
BT.709。

FCC 设置符合美国联邦通信委员会的色彩空间
(FCC) 联邦法规 (CFR) 标题 47 (2003) 73.682 (a)。

bt601
设置色彩空间符合:

· 国际电联无线电通信部门 (ITU-R) 建议书 BT.601

· ITU-R 建议书。 BT.470-6 (1998) 系统 B、B1 和 G

· 电影和电视工程师协会 (SMPTE) ST 170:2004

smpte240米
设置符合 SMPTE ST 240:1999 的色彩空间。

在范围内
超出范围
设置输入/输出 YCbCr 采样范围。

这允许覆盖自动检测的值以及允许强制执行
用于输出和编码器的特定值。 如果未指定,范围取决于
像素格式。 可能的值:

汽车
自动选择。

jpeg/完整/电脑
设置全范围(在 0 位亮度的情况下为 255-8)。

mpeg/电视
设置“MPEG”范围(在 16 位亮度的情况下为 235-8)。

力原始纵横比
如有必要,启用减少或增加输出视频宽度或高度以保持
原始纵横比。 可能的值:

关闭
按指定缩放视频并禁用此功能。

减少
如果需要,输出视频尺寸将自动减小。

提高
如果需要,输出视频尺寸将自动增加。

此选项的一个有用实例是,当您知道特定设备的最大
允许的分辨率,您可以使用它来限制输出视频,而
保留纵横比。 例如,设备 A 允许 1280x720 播放,而您的
视频为 1920x800。 使用此选项(将其设置为减小)并将 1280x720 指定为
命令行使输出为 1280x533。

请注意,这与指定 -1 不同 w or h, 你还在
需要指定此选项的输出分辨率才能工作。

的值 wh options 是包含以下常量的表达式:

在_w
在_h
输入宽度和高度

iw
ih 这些与 在_w在_h.

出_w
输出_h
输出(缩放)宽度和高度

ow
oh 这些与 出_w输出_h

a 与...相同 iw / ih

特区 输入样本纵横比

输入显示纵横比。 由“(iw / ih) * sar”计算得出。


虚拟机
水平和垂直输入色度子样本值。 例如对于像素
格式“yuv422p” 是2和 虚拟机 是1。

哦苏
卵子
水平和垂直输出色度子样本值。 例如对于像素
格式“yuv422p” 是2和 虚拟机 是1。

国际私人包机价格项目范例

· 将输入视频缩放到 200x100 的大小

比例=w=200:h=100

这等效于:

比例=200:100

要么:

比例=200x100

· 指定输出尺寸的尺寸缩写:

比例= qcif

也可以写成:

比例=大小=qcif

· 将输入缩放到 2 倍:

比例=w=2*iw:h=2*ih

· 以上同:

比例=2*in_w:2*in_h

· 使用强制隔行缩放将输入缩放到 2 倍:

比例=2*iw:2*ih:interl=1

· 将输入缩放到一半大小:

比例=w=iw/2:h=ih/2

· 增加宽度,并将高度设置为相同大小:

比例=3/2*iw:ow

· 寻求希腊和谐:

比例=iw:1/PHI*iw
比例=ih*PHI:ih

· 增加高度,设置宽度为高度的3/2:

比例=w=3/2*oh:h=3/5*ih

· 增加大小,使大小成为色度子样本值的倍数:

scale="trunc(3/2*iw/hsub)*hsub:trunc(3/2*ih/vsub)*vsub"

· 将宽度增加到最大 500 像素,保持与屏幕的纵横比相同
输入:

scale=w='min(500\, iw*3/2):h=-1'

命令

此过滤器支持以下命令:

宽度, w
高度, h
设置输出视频维度表达式。 该命令接受相同的语法
相应的选项。

如果指定的表达式无效,则保持其当前值。

标度2参考
根据参考视频缩放(调整大小)输入视频。

查看可用选项的比例过滤器, scale2ref 支持相同但使用
参考视频而不是主要输入作为基础。

国际私人包机价格项目范例

· 在叠加之前缩放字幕流以匹配主视频的大小

'scale2ref[b][a];[a][b]覆盖'

单独的字段
“separatefields”采用基于帧的视频输入并将每一帧分成
组件字段,以两倍的帧速率和两倍的速度生成一个新的半高剪辑
帧数。

此过滤器使用帧中的场优势信息来决定每对中的哪一个
要放在输出中的第一个字段。 如果它弄错了使用 集场 过滤前
“独立字段”过滤器。

塞达, 西沙
“setdar”过滤器设置过滤器输出视频的显示纵横比。

这是通过更改指定的样本(又名像素)纵横比来完成的,根据
以下等式:

= / *

请记住,“setdar”过滤器不会修改视频的像素尺寸
框架。 此外,此过滤器设置的显示纵横比可能会被后续过滤器更改
在过滤器链中,例如在缩放或另一个“setdar”或“setsar”过滤器的情况下
应用。

“setsar”过滤器设置过滤器输出视频的样本(又名像素)纵横比。

请注意,作为应用此过滤器的结果,输出显示方面
比率将根据上述等式发生变化。

请记住,“setsar”过滤器设置的样本纵横比可能会更改
过滤器链中的后续过滤器,例如,如果另一个“setsar”或“setdar”过滤器是
应用。

它接受以下参数:

r, 比率, (“塞达” 只要), 特区 (“塞萨尔” 只有)
设置过滤器使用的纵横比。

参数可以是浮点数字符串、表达式或
申请 NUM:,其中 NUM 是纵横比的分子和分母。
如果未指定参数,则假定值为“0”。 如果表格
"NUM:" 被使用,":" 字符应该被转义。

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

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

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

w, h
输入宽度和高度。

a 这些与 w / h.

特区 输入样本纵横比。

输入显示纵横比。 它与 (w / h)* 特区.

子, 虚拟机
水平和垂直色度子样本值。 例如,对于像素格式
“yuv422p” 是2和 虚拟机 是1。

国际私人包机价格项目范例

· 要将显示纵横比更改为 16:9,请指定以下选项之一:

setdar=dar=1.77777
设置达尔=达尔=16/9
setdar=dar=1.77777

· 要将样本纵横比更改为 10:11,请指定:

塞萨=萨=10/11

· 设置显示纵横比为 16:9,并指定最大整数值为 1000
纵横比缩小,使用命令:

setdar=比率=16/9:最大=1000

集场
输出视频帧的力场。

“setfield”过滤器标记输出帧的隔行类型字段。 它不是
改变输入框,但只设置相应的属性,这会影响
帧由以下过滤器处理(例如“fieldorder”或“yadif”)。

过滤器接受以下选项:

模式
可用值为:

汽车
保持相同的字段属性。

BFF 将帧标记为底场优先。

tff 将帧标记为顶场优先。

PROG
将框架标记为渐进式。

showinfo
显示一行,其中包含每个输入视频帧的各种信息。 输入视频是
没有修改。

显示的行包含一系列形式的键/值对 :折扣值.

输出中显示以下值:

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

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

时间点
输入帧的 Presentation TimeStamp,以秒数表示。

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

fmt 像素格式名称。

特区 输入帧的样本纵横比,用形式表示 NUM/.

s 输入框的大小。 有关此选项的语法,请检查 “视频 尺寸”
部分 in ffmpeg 实用程序 手册.

i 隔行模式的类型(“P”表示“逐行”,“T”表示顶场优先,“B”表示
底场优先)。

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

类型
输入帧的图片类型(“I”表示 I 帧,“P”表示 P 帧,“B”表示 a
B帧,还是“?” 对于未知类型)。 另请参阅文档
“AVPictureType”枚举和定义的“av_get_picture_type_char”函数
libavutil/avutil.h.

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

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

显示调色板
显示每帧的 256 色调色板。 此过滤器仅适用于 pal8 像素
格式帧。

它接受以下选项:

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

洗牌飞机
重新排序和/或复制视频平面。

它接受以下参数:

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

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

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

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

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

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

ffmpeg -i 输入 -vf shuffleplanes=0:2:1:3 输出

信号统计
评估各种视觉指标,这些指标有助于确定与项目相关的问题
模拟视频媒体的数字化。

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

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

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

亚维格
显示输入框内的平均 Y 值。 以 [0-255] 的范围表示。

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

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

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

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

无人机
显示输入框中的平均 U 值。 以 [0-255] 的范围表示。

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

优美思
显示输入框中包含的最大 U 值。 用范围表示
[0-255]。

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

低速
在输入框内的 10% 百分位处显示 V 值。 以范围表示
[0-255]。

变频调速器
在输入框中显示平均 V 值。 以 [0-255] 的范围表示。


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

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

萨敏
显示输入帧中包含的最小饱和度值。 表达在
范围 [0-~181.02]。

萨特罗
在输入帧内的 10% 百分位处显示饱和度值。 表达
在 [0-~181.02] 的范围内。

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

萨高
在输入帧内的 90% 百分位处显示饱和度值。 表达
在 [0-~181.02] 的范围内。

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

休美德
显示输入帧内色调的中值。 用范围表示
[0-360]。

HUAVG
显示输入帧内色调的平均值。 用范围表示
[0-360]。

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

统一接口
显示 U 平面中所有值的样本值差的平均值
当前帧和前一输入帧的对应值。 表达在
[0-255] 的范围。

虚拟机接口
显示 V 平面中所有值的样本值差的平均值
当前帧和前一输入帧的对应值。 表达在
[0-255] 的范围。

过滤器接受以下选项:

统计
输出 统计 指定另一种形式的图像分析。 输出 输出视频
突出显示的指定类型的像素。

这两个选项都接受以下值:

所有
读码器 离群 像素。 一个 局外人 是一个像素不同于
同一场的相邻像素。 时间异常值的例子包括
视频丢失、磁头堵塞或磁带跟踪问题的结果。

虚拟现实
读码器 垂直 线 重复. 垂直行重复包括相似的行
一帧内的像素数。 在天生的数字视频垂直线重复是
常见,但这种模式在从模拟源数字化的视频中并不常见。
当它出现在由模拟源数字化产生的视频中时
可以表示对 dropout 补偿器的隐藏。

带来
识别超出合法广播范围的像素。

颜色, c
设置高亮颜色 输出 选项。 默认颜色为黄色。

国际私人包机价格项目范例

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

ffprobe -f lavfi 电影=example.mov,signalstats="stat=tout+vrep+brng" -show_frames

· 输出每帧Y平面的最小值和最大值的具体数据:

ffprobe -f lavfi 电影=example.mov,signalstats -show_entries frame_tags=lavfi.signalstats.YMAX,lavfi.signalstats.YMIN

· 播放视频的同时以红色突出显示超出广播范围的像素。

ffplay example.mov -vf signalstats="out=brng:color=red"

· 在帧上绘制带有signalstats 元数据的播放视频。

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

命令中用到的signalstat_drawtext.txt的内容为:

时间 %{pts:hms}
Y (%{元数据:lavfi.signalstats.YMIN}-%{元数据:lavfi.signalstats.YMAX})
U (%{元数据:lavfi.signalstats.UMIN}-%{元数据:lavfi.signalstats.UMAX})
V (%{元数据:lavfi.signalstats.VMIN}-%{元数据:lavfi.signalstats.VMAX})
饱和度最大值:%{metadata:lavfi.signalstats.SATMAX}

智能模糊
在不影响轮廓的情况下模糊输入视频。

它接受以下选项:

亮度半径, lr
设置亮度半径。 选项值必须是 [0.1,5.0] 范围内的浮点数
指定用于模糊图像的高斯滤波器的方差(如果
更大)。 默认值为 1.0。

亮度强度, ls
设置亮度强度。 选项值必须是 [-1.0,1.0] 范围内的浮点数
配置模糊。 [0.0,1.0] 中包含的值会使图像模糊
而包含在 [-1.0,0.0] 中的值将使图像锐化。 默认值为 1.0。

亮度阈值, lt
设置用作系数的亮度阈值来确定一个像素是否应该被
模糊与否。 选项值必须是 [-30,30] 范围内的整数。 一个值
0 将过滤所有图像,包含在 [0,30] 中的值将过滤平坦区域和一个
[-30,0] 中包含的值将过滤边缘。 默认值为 0。

色度半径, cr
设置色度半径。 选项值必须是 [0.1,5.0] 范围内的浮点数
指定用于模糊图像的高斯滤波器的方差(如果
更大)。 默认值为 1.0。

色度强度, cs
设置色度强度。 选项值必须是范围内的浮点数
[-1.0,1.0] 配置模糊。 包含在 [0.0,1.0] 中的值会使
图像,而包含在 [-1.0,0.0] 中的值将使图像锐化。 默认值为
1.0.

色度阈值, ct
设置用作系数的色度阈值来确定一个像素是否应该被
模糊与否。 选项值必须是 [-30,30] 范围内的整数。 一个值
0 将过滤所有图像,包含在 [0,30] 中的值将过滤平坦区域和一个
[-30,0] 中包含的值将过滤边缘。 默认值为 0。

如果没有明确设置色度选项,则设置相应的亮度值。

西姆
获取两个输入视频之间的 SSIM(结构相似性度量)。

此过滤器接受两个输入视频的输入,第一个输入被认为是“主”
源并原封不动地传递给输出。 第二个输入用作“参考”
用于计算 SSIM 的视频。

两个视频输入必须具有相同的分辨率和像素格式,此过滤器才能工作
正确。 它还假设两个输入具有相同的帧数,即
一一比较。

过滤器存储每帧计算出的 SSIM。

接受的参数的描述如下。

统计文件, f
如果指定,过滤器将使用命名文件来保存每个人的 SSIM
帧。

打印的文件如果 统计文件 被选中,包含一系列的键/值对
申请 :折扣值 对于每个比较的几帧。

每个显示的参数的描述如下:

n 输入帧的序号,从1开始

Y, U, V, R, G, B
由后缀指定的组件的比较帧的 SSIM。

所有类型 整个帧的比较帧的 SSIM。

dB 同上,但以 dB 表示。

例如:

电影=ref_movie.mpg, setpts=PTS-STARTPTS [main];
[main][ref] ssim="stats_file=stats.log" [out]

在此示例中,将正在处理的输入文件与参考文件进行比较
参考电影.mpg. 每个单独帧的 SSIM 存储在 统计信息.

另一个同时使用 psnr 和 ssim 的例子:

ffmpeg -i main.mpg -i ref.mpg -lavfi "ssim;[0:v][1:v]psnr" -f null -

立体3d
在不同的立体图像格式之间进行转换。

过滤器接受以下选项:

in 设置输入的立体图像格式。

输入图像格式的可用值为:

sbsl
并排平行(左眼左,右眼右)

SBSR
并排交叉眼(右眼左,左眼右)

sbs2l
并排平行,半宽分辨率(左眼左,右眼右)

sbs2r
半宽分辨率的并排交叉眼(右眼左,左眼右)

阿布 上下(左眼在上,右眼在下)

四月 上下(右眼在上,左眼在下)

ab2l
上下半高分辨率(左眼在上,右眼在下)

ab2r
上下半高分辨率(右眼在上,左眼在下)

al 交替帧(左眼第一,右眼第二)

ar 交替帧(右眼在前,左眼在后)

默认值为 sbsl.

输出 设置输出的立体图像格式。

输出图像格式的可用值是所有输入格式以及:

套利
立体红色/蓝灰色(左眼红色滤镜,右眼蓝色滤镜)

阿尔格
立体红色/绿色灰色(左眼红色滤镜,右眼绿色滤镜)

弧形
立体红色/青灰色(左眼红色滤镜,右眼青色滤镜)


半色立体红色/青色(左眼红色滤镜,右眼青色滤镜)

弧线
立体红色/青色(左眼红色滤镜,右眼青色滤镜)

弧形
使用 dubois 的最小二乘投影(红色
左眼滤镜,右眼青色滤镜)

聚合
立体绿色/洋红色灰色(左眼为绿色滤镜,右眼为洋红色滤镜
眼睛)

啊啊
立体绿色/洋红色半色(左眼绿色滤镜,洋红色滤镜
右眼)

农业部
立体绿色/洋红色(左眼为绿色滤镜,右眼为洋红色滤镜
眼睛)

AGMD
使用 dubois 的最小二乘投影优化的立体绿色/洋红色
(左眼为绿色滤镜,右眼为洋红色滤镜)

艾布格
立体黄色/蓝灰色(左眼黄色滤镜,右眼蓝色滤镜)

艾布
立体黄色/蓝色半色(左眼为黄色滤光片,右眼为蓝色滤光片
眼睛)

艾伯克
立体黄色/蓝色(左眼黄色滤镜,右眼蓝色滤镜)

艾布德
使用 dubois 的最小二乘投影优化的立体黄色/蓝色
(左眼黄色滤镜,右眼蓝色滤镜)

IRL 交错行(左眼在第一行,右眼从下一行开始)

IRR 交错行(右眼在第一行,左眼从下一行开始)

ml 单声道输出(仅左眼)

mr 单声道输出(仅右眼)

默认值为 弧形.

国际私人包机价格项目范例

· 将输入视频并排平行转换为黄色/蓝色立体浮雕:

立体3d=sbsl:aybd

· 将输入视频从上方下方(左眼上方,右眼下方)转换为并排
交叉眼。

立体3d=abl:sbsr


应用一个简单的后处理过滤器来压缩和解压缩图像在几个
(或 - 在这种情况下 质量 第 6 级 - 全部)转移并平均结果。

过滤器接受以下选项:

质量
设置质量。 此选项定义平均的级别数。 它接受一个
0-6 范围内的整数。 如果设置为 0,过滤器将不起作用。 值为 6
意味着更高的质量。 对于该值的每个增量,速度下降一个因子
大约为 2。默认值为 3。

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

模式
设置阈值模式。 可用模式有:


设置硬阈值(默认)。


设置软阈值(更好的去振铃效果,但可能更模糊)。

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

字幕
使用 libass 库在输入视频之上绘制字幕。

要启用此过滤器的编译,您需要使用“--enable-libass”配置 FFmpeg。
此过滤器还需要使用 libavcodec 和 libavformat 进行构建以转换传递的
字幕文件转换为 ASS(Advanced Substation Alpha)字幕格式。

过滤器接受以下选项:

文档名称, f
设置要读取的字幕文件的文件名。 它必须被指定。

原始尺寸
指定原始视频的大小,即为其合成 ASS 文件的视频。
有关此选项的语法,请检查 “视频 尺寸” 部分 in ffmpeg 实用程序
手册. 由于 ASS 纵横比算法设计错误,这是必要的
如果纵横比已更改,则正确缩放字体。

字体目录
设置包含过滤器可以使用的字体的目录路径。 这些字体
除了字体提供程序使用的任何内容外,还将使用。

查朗
设置字幕输入字符编码。 仅“字幕”过滤器。 仅在没有时有用
UTF-8。

流索引, si
设置字幕流索引。 仅“字幕”过滤器。

力风格
覆盖字幕的默认样式或脚本信息参数。 它接受一个字符串
包含 ASS 样式格式的“KEY=VALUE”,以“,”分隔。

如果未指定第一个键,则假定第一个值指定
文件名.

例如,渲染文件 子文件 在输入视频的顶部,使用命令:

字幕=sub.srt

这相当于:

字幕=文件名=sub.srt

从文件渲染默认字幕流 视频.mkv使用:

字幕=video.mkv

要从该文件渲染第二个字幕流,请使用:

字幕=video.mkv:si=1

使字幕流从 子文件 出现在透明绿色“DejaVu Serif”中,使用:

字幕=sub.srt:force_style='FontName=DejaVu Serif,PrimaryColour=&HAA00FF00'

超级2xsai
使用 Super2xSaI(缩放和插值)像素艺术将输入缩放 2 倍并平滑
缩放算法。

用于放大像素艺术图像而不降低清晰度。

交换夫
交换 U 和 V 平面。

电视电影
对视频应用电视电影处理。

此过滤器接受以下选项:

第一个字段
最佳, t
先上场

底部, b
底部字段优先 默认值为“顶部”。

模式
一串数字,代表您要应用的下拉模式。 默认的
值是23。

一些典型的模式:

NTSC 输出 (30i):
27.5p:32222
24p:23(经典)
24p:2332(首选)
20p:33
18p:334
16p:3444

PAL 输出 (25i):
27.5p:12222
24p:222222222223(“欧元下拉”)
16.67p:33
16p:33333334

缩略图
在给定的连续帧序列中选择最具代表性的帧。

过滤器接受以下选项:

n 设置要分析的帧批量大小; 在一组 n 帧,过滤器将选择一个
其中,然后处理下一批 n 帧直到结束。 默认值为 100。

由于过滤器跟踪整个帧序列,更大的 n 值将导致
较高的内存使用量,因此不建议使用高值。

国际私人包机价格项目范例

· 每50帧提取一张图片:

缩略图= 50

· 使用缩略图创建的完整示例 ffmpeg的:

ffmpeg -i in.avi -vf 缩略图,比例=300:200 -frames:v 1 out.png


将几个连续的帧平铺在一起。

过滤器接受以下选项:

布局
设置网格大小(即行数和列数)。 对于这个语法
选项,检查 “视频 尺寸” 部分 in ffmpeg 实用程序 手册.

nb_帧
设置在给定区域中渲染的最大帧数。 它必须小于或
等于 wxh. 默认值为 0,表示将使用所有区域。


以像素为单位设置外边框边距。

填充
设置内边框厚度(即帧之间的像素数)。 更多
高级填充选项(例如具有不同的边缘值),请参阅
垫视频过滤器。

颜色
指定未使用区域的颜色。 有关此选项的语法,请检查“颜色”
ffmpeg-utils 手册中的部分。 默认值为 颜色 是“黑”。

国际私人包机价格项目范例

· 生成所有关键帧的 8x8 PNG 图块(-跳过帧 诺基) 在电影中:

ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 关键帧%03d.png

-垂直同步 0 有必要防止 ffmpeg的 从复制每个输出帧到
适应最初检测到的帧速率。

· 在“5x3”帧的区域内显示2张图片,它们之间有7个像素,2个
初始边距的像素,使用混合平面和命名选项:

tile=3x2:nb_frames=5:padding=7:margin=2

色织
执行各种类型的时间场交错。

帧从 1 开始计数,因此第一个输入帧被认为是奇数。

过滤器接受以下选项:

模式
指定隔行扫描的模式。 此选项也可以指定为值
独自的。 有关此选项的值列表,请参见下文。

可用值为:

合并, 0
将奇数帧移入上场,甚至移入下场,生成一个
双高帧半帧率。

------> 时间
输入:
帧 1 帧 2 帧 3 帧 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

输出:
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444
11111 33333
22222 44444

下降奇数, 1
只输出偶数帧,丢奇数帧,生成一帧不变
半帧率下的高度。

------> 时间
输入:
帧 1 帧 2 帧 3 帧 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

输出:
22222 44444
22222 44444
22222 44444
22222 44444

drop_even, 2
只输出奇数帧,丢偶数帧,生成一帧不变
半帧率下的高度。

------> 时间
输入:
帧 1 帧 2 帧 3 帧 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

输出:
11111 33333
11111 33333
11111 33333
11111 33333

软垫, 3
将每一帧展开到全高,但用黑色填充交替的线条,生成一个
在相同的输入帧速率下具有双倍高度的帧。

------> 时间
输入:
帧 1 帧 2 帧 3 帧 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

输出:
11111 ...... 33333 ......
..... 22222 ..... 44444
11111 ...... 33333 ......
..... 22222 ..... 44444
11111 ...... 33333 ......
..... 22222 ..... 44444
11111 ...... 33333 ......
..... 22222 ..... 44444

interleave_top, 4
将奇数帧的上场与偶数帧的下场交错,
以半帧率生成高度不变的帧。

------> 时间
输入:
帧 1 帧 2 帧 3 帧 4

11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-

输出:
11111 33333
22222 44444
11111 33333
22222 44444

interleave_bottom, 5
将奇数帧的下场与偶数帧的上场交错,
以半帧率生成高度不变的帧。

------> 时间
输入:
帧 1 帧 2 帧 3 帧 4

11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444
11111 22222<- 33333 44444<-
11111<- 22222 33333<- 44444

输出:
22222 44444
11111 33333
22222 44444
11111 33333

交错2, 6
保持高度不变的双倍帧率。 插入的每个帧都包含
来自前一输入帧的第二个时间场和第一个时间场
从下一个输入帧。 此模式依赖于 top_field_first 标志。 有用
用于没有场同步的隔行视频显示。

------> 时间
输入:
帧 1 帧 2 帧 3 帧 4

11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444
11111 22222 33333 44444

输出:
11111 22222 22222 33333 33333 44444 44444
11111 11111 22222 22222 33333 33333 44444
11111 22222 22222 33333 33333 44444 44444
11111 11111 22222 22222 33333 33333 44444

数字值已被弃用,但出于向后兼容性原因而被接受。

默认模式是“合并”。

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

可用值 标志 是:

低通滤波器, 虚拟机
在滤波器中启用垂直低通滤波。 垂直低通滤波是
从渐进源创建隔行目标时需要
包含高频垂直细节。 过滤将减少隔行扫描“推特”
和莫尔图案。

垂直低通滤波只能用于 模式 交错顶部
交错底部.


将输入视频中的行与列转置,并可选择翻转它。

它接受以下参数:

DIR 指定换位方向。

可以假设以下值:

0, 4, 时钟翻转
逆时针旋转 90 度并垂直翻转(默认),即:

LR Ll
. . -> . .
呼噜呼噜

1, 5, 时钟
顺时针旋转90度,即:

LR lL
. . -> . .
rrr

2, 6, 时钟
逆时针旋转90度,即:

左心耳
. . -> . .


3, 7, 时钟翻转
顺时针旋转90度垂直翻转,即:

左心室
. . -> . .


对于 4-7 之间的值,仅当输入视频几何形状为
纵向而不是横向。 这些值已被弃用,“直通”选项
应该改用。

数值已被弃用,应删除以支持符号常量。

直通
如果输入几何图形与指定的几何图形匹配,则不要应用转置
指定值。 它接受以下值:

没有
始终应用换位。

肖像
保留肖像几何(当 高度 >= 宽度).

景观
保留景观几何(当 宽度 >= 高度).

默认值为“无”。

例如顺时针旋转 90 度并保留纵向布局:

转置=目录=1:直通=纵向

上面的命令也可以指定为:

转置=1:纵向

修剪
修剪输入,使输出包含输入的一个连续子部分。

它接受以下参数:

开始
指定保留部分开始的时间,即带有时间戳的帧
开始 将是输出中的第一帧。

结束 指定第一帧将被丢弃的时间,即立即帧
在时间戳之前 结束 将是输出中的最后一帧。

起始点
这和 开始, 除了此选项在时基中设置开始时间戳
单位而不是秒。

结束点
这和 结束, 除了此选项以时基单位设置结束时间戳
而不是秒。

为期
输出的最大持续时间(以秒为单位)。

起始帧
应该传递给输出的第一帧的编号。

结束帧
应该丢弃的第一帧的编号。

开始, 结束为期 表示为持续时间规格; 看 时间
为期 部分 in ffmpeg 实用程序(1) 手册 对于接受的语法。

请注意,前两组开始/结束选项和 为期 选项看看
帧时间戳,而 _frame 变体只计算通过
筛选。 另请注意,此过滤器不会修改时间戳。 如果您希望
输出时间戳从零开始,在修剪过滤器之后插入一个 setpts 过滤器。

如果设置了多个开始或结束选项,此过滤器会尝试贪婪并保留所有
至少匹配指定约束之一的帧。 只保留那部分
一次匹配所有约束,链接多个修剪过滤器。

默认值是保留所有输入。 所以可以只设置例如
结束值以在指定时间之前保留所有内容。

例子:

· 删除除输入的第二分钟以外的所有内容:

ffmpeg -i 输入 -vf 修剪=60:120

· 只保留第一秒:

ffmpeg -i 输入 -vf 修剪=持续时间=1

不清晰
锐化或模糊输入视频。

它接受以下参数:

亮度_msize_x, lx
设置亮度矩阵水平尺寸。 它必须是 3 到 63 之间的奇数。
默认值为 5。

亮度_msize_y, ly
设置亮度矩阵垂直大小。 它必须是 3 到 63 之间的奇数。
默认值为 5。

亮度, la
设置亮度效果强度。 它必须是一个浮点数,合理的值
介于 -1.5 和 1.5 之间。

负值会使输入视频模糊,而正值会使它锐化,
零值将禁用该效果。

默认值为 1.0。

色度_msize_x, cx
设置色度矩阵水平尺寸。 它必须是 3 到 63 之间的奇数。
默认值为 5。

色度_msize_y, cy
设置色度矩阵垂直大小。 它必须是 3 到 63 之间的奇数。
默认值为 5。

色度数, ca
设置色度效果强度。 它必须是一个浮点数,合理的值
介于 -1.5 和 1.5 之间。

负值会使输入视频模糊,而正值会使它锐化,
零值将禁用该效果。

默认值为 0.0。

OpenCL的
如果设置为 1,则指定使用 OpenCL 功能,仅当 FFmpeg 为
配置了“--enable-opencl”。 默认值为 0。

所有参数都是可选的,默认为等效于字符串“5:5:1.0:5:5:0.0”。

国际私人包机价格项目范例

· 应用强大的亮度锐化效果:

锐化=luma_msize_x=7:luma_msize_y=7:luma_amount=2.5

· 应用亮度和色度参数的强烈模糊:

unsharp=7:7:-2:7:7:-2

USPP
应用超慢/简单的后处理过滤器来压缩和解压缩图像
在几个(或 - 在这种情况下 质量 第 8 级 - 全部)转移并平均结果。

这与 spp 行为的不同之处在于 uspp 实际上对每个
使用 libavcodec Snow 的情况,而 spp 使用简化的内部仅 8x8 DCT,类似于
MJPEG。

过滤器接受以下选项:

质量
设置质量。 此选项定义平均的级别数。 它接受一个
0-8 范围内的整数。 如果设置为 0,过滤器将不起作用。 值为 8
意味着更高的质量。 对于该值的每个增量,速度下降一个因子
大约为 2。默认值为 3。

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

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

此过滤器接受以下选项:

模式, m
设置矢量模式。

它接受以下值:

灰色
灰度值显示在图形上,更高的亮度意味着更多的像素具有相同的
图中位置的组件颜色值。 这是默认模式。

颜色
灰度值显示在图形上。 周围像素值不是
出现在视频帧中的 2 个颜色分量的渐变被设置
通过选项“x”和“y”。

color2
视频帧中存在的实际颜色分量值显示在图形上。

color3
与 color2 相似,但图形上相同值“x”和“y”的频率更高
增加另一个颜色分量的值,默认值为亮度
“x”和“y”。

color4
视频帧中的实际颜色显示在图表上。 如果两个不同
颜色映射到图形上的相同位置,然后颜色具有更高的组件值而不是
存在于图中被选中。

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

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

强度, i
设置强度,由模式使用:gray、color 和 color3 用于增加亮度
颜色分量表示图中 (X, Y) 位置的频率。

信封, e
没有
没有信封,这是默认的。

即食类
即时包络,即使是最暗的单个像素也会被清晰地突出显示。

高峰
保持图形中随时间显示的最大值和最小值。 这样你就可以
仍然可以发现超出范围的值,而无需经常查看矢量示波器。

峰值+瞬间
峰值和即时包络结合在一起。

视频检测
分析视频稳定/去抖动。 执行第 1 步(共 2 步),参见 视频转换 通行证
2.

这个过滤器生成一个带有相对平移和旋转变换信息的文件
关于后续帧,然后由 视频转换 过滤。

要启用此过滤器的编译,您需要使用以下命令配置 FFmpeg
“--启用-libvidstab”。

此过滤器接受以下选项:

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

颤抖
设置视频的抖动程度和相机的速度。 它接受一个整数
范围1-10,值为1表示轻微抖动,值为10表示强烈抖动。
默认值为 5。


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

一步的大小
设置搜索过程的步长。 最小值周围的区域用 1 个像素扫描
解决。 默认值为 6。

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


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

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

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

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

国际私人包机价格项目范例

· 使用默认值:

视频检测

· 分析强烈抖动的电影并将结果存入文件 我的转换.trf:

vidstabdetect=shakness=10:accuracy=15:result="mytransforms.trf"

· 在生成的视频中可视化内部转换的结果:

vidstabdetect=显示=1

· 使用中等抖动分析视频 ffmpeg的:

ffmpeg -i 输入 -vf vidstabdetect=shakness=5:show=1 dummy.avi

视频转换
视频稳定/去抖动:通过 2 of 2,见 视频检测 对于通行证 1。

读取包含每个帧的变换信息的文件并应用/补偿它们。 一起
视频检测 过滤器这可用于消除视频。 也可以看看
<http://public.hronopik.de/vid.stab>. 重要的是还使用 不清晰 过滤,见
联络一位教师

要启用此过滤器的编译,您需要使用以下命令配置 FFmpeg
“--启用-libvidstab”。

附加选项

输入
设置用于读取转换的文件的路径。 默认值为 转换.trf.

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

例如,数字 10 表示使用了 21 帧(过去是 10,现在是 10
未来)以平滑视频中的运动。 较大的值会导致视频更流畅,
但限制了相机的加速度(平移/倾斜运动)。 0 是特例
模拟静态相机的地方。

光子
设置相机路径优化算法。

接受的值为:

高斯
相机运动的高斯核低通滤波器(默认)

平均 平均转换

最大移位
设置最大像素数以转换帧。 默认值为 -1,表示没有
限制。

最大角度
以弧度 (degree*PI/180) 为单位设置最大角度以旋转框架。 默认值为 -1,
意思是没有限制。

作物
指定如何处理由于移动补偿而可能可见的边框。

可用值为:

保持
保留前一帧的图像信息(默认)

黑色
将边框填充为黑色

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

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

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

光学变焦
设置最佳缩放以避免边框。

接受的值为:

0 禁用

1 确定最佳静态缩放值(只有非常强烈的移动才会导致
可见边框)(默认)

2 确定最佳自适应缩放值(无边框可见),请参见
变焦速度

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

变焦速度
设置百分比以最大程度地缩放每帧(在 光学变焦 设置为 2)。 范围是
从 0 到 5,默认值为 0.25。

国际刑警组织
指定插值类型。

可用值为:

没有 无插值

线性
线性仅水平

双线性
双向线性(默认)

双三次
双向立方(慢)


如果设置为 1,则启用虚拟三脚架模式,相当于
“相对=0:平滑=0”。 默认值为 0。

也使用“三脚架”选项 视频检测.

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

国际私人包机价格项目范例

· 用 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=平滑=30

翻转
垂直翻转输入视频。

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

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

小插图
制作或反转自然渐晕效果。

过滤器接受以下选项:

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

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

默认值:“PI/5”

x0
y0 设置中心坐标表达式。 默认情况下分别为“w/2”和“h/2”。

模式
设置前进/后退模式。

可用模式有:

前锋
离中心点的距离越大,图像越暗。

落后
离中心点的距离越大,图像越亮。
这可用于反转晕影效果,尽管没有自动
检测提取镜头 角度 和其他设置(还)。 也可以使用
以产生燃烧效果。

默认值为 前锋.

评估
为表达式设置评估模式 (角度, x0, y0).

它接受以下值:

初始化
在过滤器初始化期间只计算一次表达式。

框架
评估每个传入帧的表达式。 这比 初始化
模式,因为它需要重新计算所有定标器,但它允许高级
动态表达。

默认值为 初始化.

抖动
设置抖动以减少圆形条纹效果。 默认值为 1(启用)。

方面
设置小插图方面。 此设置允许调整小插图的形状。
将此值设置为输入的 SAR 将产生矩形渐晕
按照视频的尺寸。

默认值为“1/1”。

表达式

阿尔法, x0y0 表达式可以包含以下参数。

w
h 输入宽度和高度

n 输入帧数,从0开始

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

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

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

tb 输入视频的时基

国际私人包机价格项目范例

· 应用简单的强渐晕效果:

小插图=PI/4

·制作闪烁的渐晕:

小插图='PI/4+随机(1)*PI/50':eval=frame

虚拟堆栈
垂直堆叠输入视频。

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

请注意,此过滤器比使用更快 覆盖 过滤以创建相同的输出。

过滤器接受以下选项:

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

w3fdif
对输入视频进行去隔行(“w3fdif”代表“Weston 3 Field Deinterlacing Filter”)。

基于 Martin Weston 为 BBC R&D 描述的过程,并基于
去隔行算法由 Jim Easterbrook 为 BBC R&D 编写,Weston 3 领域
去隔行滤波器使用由 BBC R&D 计算的滤波器系数。

有两组滤波器系数,因此称为“简单”和“复杂”。 哪一套
可以通过传递可选参数来设置使用的滤波器系数:

过滤
设置隔行滤波器系数。 接受以下值之一:

简单
简单的滤波器系数集。

复杂
更复杂的滤波器系数集。

默认值为 复杂.

定义
指定要反交错的帧。 接受以下值之一:

所有 去隔行所有帧,

隔行
只有标记为隔行的去隔行帧。

默认值为 所有.

波形
视频波形监视器。

波形监视器绘制颜色分量强度。 默认仅亮度。 每个
波形的列对应于源视频中的像素列。

它接受以下选项:

模式, m
可以是“行”或“列”。 默认为“列”。 在行模式下,图表上的
左侧表示颜色分量值 0,右侧表示值 =
255.列模式下,顶边代表颜色分量值=0,底边
表示值 = 255。

强度, i
设置强度。 较小的值有助于找出相同的值有多少
亮度分布在输入行/列上。 默认值为 0.04。 允许
范围是 [0, 1]。

镜子, r
设置镜像模式。 0 表示未镜像,1 表示镜像。 在镜像模式下,更高
值将在“行”模式的左侧和“列”的顶部表示
模式。 默认值为 1(镜像)。

显示, d
设置显示模式。 它接受以下值:

覆盖
呈现与“游行”中相同的信息,除了图表
代表颜色分量直接相互叠加。

这种显示模式可以更容易地发现相对差异或相似之处
应该相同的颜色分量的重叠区域,例如
作为中性的白色、灰色或黑色。

阅兵
以“行”模式或一个模式并排显示颜色分量的单独图形
在“列”模式下位于另一个下方。

使用这种显示模式可以很容易地发现高光和
图像的阴影,通过比较顶部和底部图形的轮廓
每个波形。 由于白色、灰色和黑色的特征完全相同
红色、绿色和蓝色的数量,图片的中性区域应显示三个
宽度/高度大致相等的波形。 如果不是,则校正很容易执行
通过对三个波形进行电平调整。

默认为“游行”。

组件, c
设置要显示的颜色分量。 默认为 1,表示只有亮度或红色
如果输入在 RGB 颜色空间中,则为颜色分量。 如果设置为例如 7 它将
显示所有 3 个(如果)可用的颜色分量。

信封, e
没有
没有信封,这是默认的。

即食类
图形中显示的即时包络、最小值和最大值将很容易
即使“步长”值很小也可见。

高峰
保持图形中随时间显示的最小值和最大值。 这样你就可以
仍然可以发现超出范围的值,而无需经常查看波形。

峰值+瞬间
峰值和即时包络结合在一起。

过滤, f
低通
没有过滤,这是默认的。

平面
亮度和色度结合在一起。

平坦的
与上面类似,但显示蓝色和红色色度之间的差异。

浓度
仅显示色度。

无色差
与上面类似,但显示蓝色和红色色度之间的差异。

颜色
在波形上显示实际颜色值。

xbr
应用专为像素艺术设计的 xBR 高质量放大滤镜。 它
遵循一组边缘检测规则,见
<http://www.libretro.com/forums/viewtopic.php?f=6&t=134>.

它接受以下选项:

n 设置缩放尺寸:“2xBR”为 2,“3xBR”为 3,“4xBR”为 4。 默认值为 3。

亚迪夫
对输入视频进行去隔行(“yadif”的意思是“又一个去隔行过滤器”)。

它接受以下参数:

模式
采用的隔行扫描模式。 它接受以下值之一:

0, 发送帧
每帧输出一帧。

1, 发送字段
每场输出一帧。

2, 发送帧nospatial
类似于“send_frame”,但它跳过空间隔行检查。

3, 发送字段nospatial
类似于“send_field”,但它跳过空间隔行检查。

默认值为“send_frame”。

平价
输入隔行视频的图像场奇偶校验。 它接受其中之一
以下值:

0, tff
假设顶部字段是第一个。

1, BFF
假设底部字段是第一个。

- 1, 汽车
启用字段奇偶校验的自动检测。

默认值为“自动”。 如果隔行扫描未知或解码器不
导出此信息,将假定顶部字段首先。

定义
指定要反交错的帧。 接受以下值之一:

0, 所有
去隔行所有帧。

1, 隔行
只有标记为隔行的去隔行帧。

默认值为“全部”。

变焦距
应用缩放和平移效果。

此过滤器接受以下选项:

放大, z
设置缩放表达式。 默认值为 1。

x
y 设置 x 和 y 表达式。 默认值为 0。

d 以帧数设置持续时间表达式。 这设置了多少个
帧效果将持续单个输入图像。

s 设置输出图像大小,默认为'hd720'。

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

在_w, iw
输入宽度。

在_h, ih
输入高度。

输出, ow
输出宽度。

输出_h, oh
输出高度。

in 输入帧数。

on 输出帧数。

x
y 从当前输入的“x”和“y”表达式中最后计算出的“x”和“y”位置
帧。

px
py 前一输入帧的最后一个输出帧的 'x' 和 'y' 或 0 时还没有
这样的帧(第一个输入帧)。

放大
根据当前输入帧的 'z' 表达式计算出的最后缩放比例。

放大
上一输入帧的最后输出帧的最后计算缩放。

为期
当前输入帧的输出帧数。 从 'd' 表达式计算
每个输入帧。

持续时间
为前一个输入帧创建的输出帧数

a 有理数:输入宽度/输入高度

特区 样本纵横比

显示纵横比

国际私人包机价格项目范例

· 放大到 1.5 并同时平移到图片中心附近的某个点:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360

· 放大至 1.5 并始终在图片中心平移:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

视频中心 来源


下面是对当前可用视频源的描述。

缓冲
缓冲视频帧,并使它们可用于过滤器链。

此源主要用于编程使用,特别是通过界面
定义于 libavfilter/vsrc_buffer.h.

它接受以下参数:

视频大小
指定缓冲视频帧的大小(宽度和高度)。 对于语法
这个选项,检查 “视频 尺寸” 部分 in ffmpeg 实用程序 手册.

宽度
输入视频宽度。

高度
输入视频高度。

像素_fmt
表示缓冲视频帧的像素格式的字符串。 它可能是一个
与像素格式对应的数字,或像素格式名称。

时基
指定缓冲帧的时间戳假定的时基。

帧率
指定视频流的预期帧率。

像素方面, 特区
输入视频的样本(像素)纵横比。

sws参数
指定要用于自动缩放过滤器的可选参数
在输入大小或格式中检测到输入更改时插入。

例如:

buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1

将指示源接受大小为 320x240 和格式的视频帧
“yuv410p”,假设 1/24 作为时间戳时基和方形像素(1:1 样本纵横比)
比率)。 由于名称为“yuv410p”的像素格式对应于数字 6(检查
枚举 AVPixelFormat 中的定义 libavutil/pixfmt.h),这个例子对应于:

buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1

或者,可以将选项指定为扁平字符串,但此语法是
弃用:

宽度:高度:像素_fmt:时间基数.num:时间基准.den:Pixel_aspect.num:像素_aspect.den[:sws参数]

细胞自动
创建由基本元胞自动机生成的模式。

元胞自动机的初始状态可以定义为 文件名
模式 选项。 如果未指定此类选项,则会随机创建初始状态。

在每个新帧,视频中的新行都填充了蜂窝的结果
下一代自动机。 填充整个框架时的行为由
滚动 选项。

此源接受以下选项:

文档名称, f
从指定位置读取初始元胞自动机状态,即起始行
文件。 在文件中,每个非空白字符都被认为是一个活动单元格,一个
换行符将终止该行,文件中的其他字符将被忽略。

图案, p
从指定位置读取初始元胞自动机状态,即起始行
字符串。

字符串中的每个非空白字符都被认为是一个活动单元格,一个换行符
将终止该行,并且字符串中的其他字符将被忽略。

率, r
设置视频速率,即每秒生成的帧数。 默认值为 25。

随机填充比,
设置初始元胞自动机行的随机填充率。 它是一个漂浮的
点数值范围为 0 到 1,默认为 1/PHI。

指定文件或模式时,将忽略此选项。

随机种子, 种子
设置随机填充初始行的种子,必须是包含在其间的整数
0 和 UINT32_MAX。 如果未指定,或者明确设置为 -1,过滤器将尝试
尽最大努力使用一个好的随机种子。

排除
设置元胞自动机规则,0~255之间的数字。默认值
是110。

尺寸, s
设置输出视频的大小。 有关此选项的语法,请检查 “视频
尺寸” 部分 in ffmpeg 实用程序 手册.

If 文件名 or 模式 指定时,大小默认设置为宽度
指定初始状态行,高度设置为 宽度 * PHI。

If 尺寸 被设置,它必须包含指定模式字符串的宽度,并且
指定的模式将在较大的行中居中。

如果未指定文件名或模式字符串,则大小值默认为
“320x518”(用于随机生成的初始状态)。

滚动
如果设置为 1,则在输出中的所有行都已被选中时向上滚动输出
已经满了。 如果设置为 0,新生成的行将写在顶行
就在底行被填满之后。 默认为 1。

start_full,
如果设置为 1,则在输出之前用生成的行完全填充输出
第一帧。 这是默认行为,用于禁用将值设置为 0。


如果设置为 1,则将左右行边缘缝合在一起。 这是默认的
行为,用于禁用将值设置为 0。

国际私人包机价格项目范例

· 从中读取初始状态 模式,并指定大小为 200x400 的输出。

cellauto=f=模式:s=200x400

· 生成一个随机的初始行,宽度为 200 个单元格,填充比例为 2/3:

细胞自动=比率=2/3:s=200x200

· 创建一个由规则 18 生成的模式,从一个以一个为中心的活细胞开始
宽度为 100 的初始行:

cellauto=p=@s=100x400:完整=0:规则=18

· 指定一个更详细的初始模式:

cellauto=p='@@@@@':s=100x400:full=0:rule=18

曼德布罗
生成 Mandelbrot 集分形,并逐渐向指定的点缩放
开始_x开始_y.

此源接受以下选项:

结束点
设置终端pts值。 默认值为 400。

结束规模
设置终端刻度值。 必须是浮点值。 默认值为 0.3。


设置内部着色模式,即用于绘制 Mandelbrot 分形的算法
内部区域。

它应采用以下值之一:

黑色
设置黑色模式。

收敛
显示收敛时间。

明科尔
根据最接近迭代原点的点设置颜色。

期间
设置周期模式。

默认值为 明科尔.

紧急
设置救助值。 默认值为 10.0。

马克西特
设置渲染算法执行的最大迭代次数。 默认值为
7189.


设置外部着色模式。 它应采用以下值之一:

迭代次数
设置迭代次数模式。

归一化迭代计数
设置归一化迭代计数模式。

默认值为 归一化迭代计数.

率, r
设置帧率,表示为每秒帧数。 默认值为“25”。

尺寸, s
设置帧大小。 有关此选项的语法,请检查
ffmpeg-utils 手册。 默认值为“640x480”。

开始规模
设置初始比例值。 默认值为 3.0。

开始_x
设置初始 x 位置。 必须是介于 -100 和 100 之间的浮点值。
默认值为 -0.743643887037158704752191506114774。

开始_y
设置初始 y 位置。 必须是介于 -100 和 100 之间的浮点值。
默认值为 -0.131825904205311970493132056385139。

mptestsrc
生成由 MPlayer 测试过滤器生成的各种测试模式。

生成的视频大小是固定的,为256x256。 这个来源很有用
特别用于测试编码功能。

此源接受以下选项:

率, r
指定源视频的帧速率,作为每个生成的帧数
第二。 它必须是格式中的字符串 帧速率编号/帧速率_den, 一个整数
number、浮点数或有效的视频帧率缩写。 默认的
值为“25”。

期间, d
设置源视频的持续时间。 看 时间 为期 部分 in
ffmpeg 实用程序(1) 手册 对于接受的语法。

如果未指定,或者表示的持续时间为负,则视频应该是
永远生成。

测试 t
设置要执行的测试的编号或名称。 支持的测试有:

直流亮度
直流色度
频率_亮度
频率色度
放大器亮度
放大器色度
CBP
mv
ring1
ring2
所有

默认值为“all”,它将循环遍历所有测试的列表。

一些例子:

mptestsrc=t=dc_luma

将生成“dc_luma”测试模式。

frei0r_src
提供 frei0r 源。

要启用此过滤器的编译,您需要安装 frei0r 头文件并配置
带有“--enable-frei0r”的FFmpeg。

此源接受以下参数:

尺寸
要生成的视频的大小。 有关此选项的语法,请检查 “视频
尺寸” 部分 in ffmpeg 实用程序 手册.

帧率
生成的视频的帧率。 它可能是形式的字符串 NUM/ 或者
帧率缩写。

过滤器名称
要加载的 frei0r 源的名称。 有关 frei0r 以及如何使用的更多信息
要设置参数,请阅读 自由 视频过滤器文档中的部分。

过滤参数
要传递给 frei0r 源的以“|”分隔的参数列表。

例如,要生成大小为 0x0 和帧速率为 200 的 frei200r partik10l 源
它覆盖在覆盖过滤器主输入上:

frei0r_src=size=200x200:framerate=10:filter_name=partik0l:filter_params=1234 [叠加]; [in][overlay] 覆盖

生活
产生生活模式。

这个来源是基于约翰康威的生活游戏的概括。

源输入代表一个生命网格,每个像素代表一个单元格,可以在一个单元格中
两种可能的状态,活着或死了。 每个细胞与它的八个邻居相互作用,
它们是水平、垂直或对角线相邻的单元格。

在每次交互中,网格根据采用的规则发展,该规则指定
使细胞保持存活或出生的相邻活细胞的数量。 这 排除 选项
允许指定要采用的规则。

此源接受以下选项:

文档名称, f
设置从中读取初始网格状态的文件。 在文件中,每个非
空白字符被认为是一个活动单元格,换行符用于分隔
每行的结尾。

如果未指定此选项,则随机生成初始网格。

率, r
设置视频速率,即每秒生成的帧数。 默认值为 25。

随机填充比,
设置初始随机网格的随机填充率。 它是一个浮点数
取值范围为 0 到 1,默认为 1/PHI。 指定文件时将忽略它。

随机种子, 种子
设置填充初始随机网格的种子,必须是包含在两者之间的整数
0 和 UINT32_MAX。 如果未指定,或者明确设置为 -1,过滤器将尝试
尽最大努力使用一个好的随机种子。

排除
制定生活规则。

可以使用“S”类型的代码指定规则NS/BNB“,在哪里 NSNB ,那恭喜你,
0-8 范围内的数字序列, NS 指定活着的邻居细胞的数量
使活细胞保持活力,以及 NB 活着的相邻细胞的数量
使死细胞变成活细胞(即“出生”)。 "s" 和 "b" 可以就地使用
分别为“S”和“B”。

或者,可以通过 18 位整数指定规则。 9 个高位是
用于编码下一个细胞状态,如果它对于每个活着的邻居都是活着的
单元格,低位指定“生成”新单元格的规则。 高阶位
编码更多的相邻小区。 例如数字 6153 =
“(12<<9)+9”指定存活规则为12,出生规则为9,对应
到“S23/B03”。

默认值为“S23/B3”,这是康威的原始游戏规则,将
如果一个细胞有 2 或 3 个相邻的活细胞,则保持该细胞存活,如果有,则会产生一个新细胞
一个死细胞周围有三个活细胞。

尺寸, s
设置输出视频的大小。 有关此选项的语法,请检查 “视频
尺寸” 部分 in ffmpeg 实用程序 手册.

If 文件名 指定,大小默认设置为与输入相同的大小
文件。 如果 尺寸 设置后,它必须包含输入文件中指定的大小,并且
该文件中定义的初始网格在较大的结果区域中居中。

如果未指定文件名,则大小值默认为“320x240”(用于
随机生成的初始网格)。


如果设置为 1,则将左右网格边缘缝合在一起,将顶部和底部
边也。 默认为 1。


设置细胞模具速度。 如果设置,死细胞将从 死亡颜色模具颜色
步骤 . 可以有一个从 0 到 255 的值。

生活色彩
设置活(或新生)细胞的颜色。

死亡颜色
设置死细胞的颜色。 如果 已设置,这是用于表示的第一种颜色
一个死细胞。

模具颜色
设置模具颜色,用于绝对死亡和发霉的细胞。

有关这 3 个颜色选项的语法,请查看 ffmpeg-utils 中的“颜色”部分
手册。

国际私人包机价格项目范例

· 从中读取网格 模式,并将其居中放置在大小为 300x300 像素的网格上:

寿命=f=图案:s=300x300

· 生成大小为 200x200 的随机网格,填充比例为 2/3:

寿命=比率=2/3:s=200x200

· 指定一个自定义规则来演化一个随机生成的网格:

生命=规则=S14/B34

· 使用缓慢死亡效果(模具)的完整示例 ffplay:

ffplay -f lavfi life=s=300x200:mold=10:r=60:ratio=0.1:death_color=#C83232:life_color=#00ff00,scale=1200:800:flags=16

全部, 阿鲁夫, 颜色, Haldclutsrc, 空源文件, rgbtestsrc, smptebars, smptehdbars, 测试源
“allrgb”源返回大小为 4096x4096 的所有 rgb 颜色的帧。

“allyuv”源返回所有 yuv 颜色的大小为 4096x4096 的帧。

“颜色”源提供统一颜色的输入。

“haldclutsrc”源提供了身份 Hald CLUT。 也可以看看 贫民窟 过滤。

“nullsrc”源返回未处理的视频帧。 主要是有用的
在分析/调试工具中,或作为忽略输入数据的过滤器的来源。

“rgbtestsrc”源生成一个 RGB 测试模式,用于检测 RGB 与 BGR
问题。 您应该会看到从上到下的红色、绿色和蓝色条纹。

“smptebars”源根据 SMPTE 工程生成彩条图案
指南 EG 1-1990。

“smptehdbars”源根据 SMPTE RP 219-2002 生成彩条图案。

“testsrc”源生成一个测试视频模式,显示一个颜色模式,一个滚动
梯度和时间戳。 这主要用于测试目的。

源接受以下参数:

颜色, c
指定源的颜色,仅在“颜色”源中可用。 对于语法
对于此选项,请检查 ffmpeg-utils 手册中的“颜色”部分。

水平
指定 Hald CLUT 的级别,仅在“haldclutsrc”源中可用。 一个
“N”级生成“N*N*N”的图片,由“N*N*N”个像素用作身份
用于 3D 查找表的矩阵。 每个组件都以“1/(N*N)”的比例进行编码。

尺寸, s
指定源视频的大小。 有关此选项的语法,请检查 “视频
尺寸” 部分 in ffmpeg 实用程序 手册. 默认值为“320x240”。

此选项不适用于“haldclutsrc”过滤器。

率, r
指定源视频的帧速率,作为每个生成的帧数
第二。 它必须是格式中的字符串 帧速率编号/帧速率_den, 一个整数
number、浮点数或有效的视频帧率缩写。 默认的
值为“25”。

特区 设置源视频的样本纵横比。

期间, d
设置源视频的持续时间。 看 时间 为期 部分 in
ffmpeg 实用程序(1) 手册 对于接受的语法。

如果未指定,或者表示的持续时间为负,则视频应该是
永远生成。

小数点, n
设置在时间戳中显示的小数位数,仅在“testsrc”中可用
资源。

显示的时间戳值将对应于原始时间戳值
乘以指定值的 10 次方。 默认值为 0。

例如以下内容:

测试rc=duration=5.3:size=qcif:rate=10

将生成一个时长为 5.3 秒、大小为 176x144 和帧速率的视频
每秒 10 帧。

下面的图形描述将生成一个不透明度为 0.2 的红色源,其中
大小“qcif”和每秒 10 帧的帧速率。

颜色=c=[电子邮件保护]:s=qcif:r=10

如果要忽略输入内容,可以使用“nullsrc”。 以下命令
通过使用“geq”过滤器在亮度平面中产生噪声:

nullsrc=s=256x256,geq=随机(1)*255:128:128

命令

“颜色”源支持以下命令:

c, 颜色
设置创建的图像的颜色。 接受相应的相同语法 颜色
选项。

视频中心 沉思


下面是对当前可用的视频接收器的描述。

缓冲接收器
缓冲视频帧,并使它们可用于过滤器图的末尾。

此接收器主要用于编程使用,特别是通过接口
定义于 libavfilter/buffersink.h 或选项系统。

它接受一个指向 AVBufferSinkContext 结构的指针,该结构定义了传入的
缓冲区的格式,作为不透明参数传递给“avfilter_init_filter”
初始化。

空汇
空视频接收器:对输入视频完全不做任何事情。 它主要用作
模板并用于分析/调试工具。

多媒体 滤波器


下面是对当前可用的多媒体过滤器的描述。

相位计
将输入音频转换为视频输出,显示音频相位。

过滤器接受以下选项:

率, r
设置输出帧率。 默认值为 25。

尺寸, s
设置输出的视频大小。 有关此选项的语法,请检查 “视频
尺寸” 部分 in ffmpeg 实用程序 手册. 默认值为“800x400”。

rc
gc
bc 指定红、绿、蓝对比度。 默认值为 2、7 和 1。允许范围
是“[0, 255]”。

MPC 设置用于绘制中间相位的颜色。 如果颜色为“无”
默认情况下,不会绘制中间相位值。

过滤器还导出表示均值的帧元数据“lavfi.aphasemeter.phase”
当前音频帧的相位。 值在“[-1, 1]”范围内。 “-1”表示左右
通道完全异相,1 表示通道同相。

矢量示波器
将输入音频转换为视频输出,表示音频矢量范围。

该滤波器用于测量立体声音频流通道之间的差异。 一个
单声道信号,由相同的左右信号组成,产生直线
垂线。 任何立体分离都可以作为与这条线的偏差可见,从而创建一个
利萨茹图。 如果直线(或偏离它)但水平线出现这个
表示左右声道异相。

过滤器接受以下选项:

模式, m
设置矢量模式。

可用值为:

利萨茹
Lissajous 旋转了 45 度。

利萨如_xy
与上面相同,但没有旋转。

极性
形状类似半圆。

默认值为 利萨茹.

尺寸, s
设置输出的视频大小。 有关此选项的语法,请检查 “视频
尺寸” 部分 in ffmpeg 实用程序 手册. 默认值为“400x400”。

率, r
设置输出帧率。 默认值为 25。

rc
gc
bc
ac 指定红色、绿色、蓝色和 alpha 对比度。 默认值为 40、160、80 和
255. 允许的范围是“[0, 255]”。

rf
gf
bf
af 指定红色、绿色、蓝色和 alpha 淡入淡出。 默认值为 15、10、5 和 5。
允许的范围是“[0, 255]”。

放大
设置缩放系数。 默认值为 1。允许的范围为“[1, 10]”。

国际私人包机价格项目范例

· 完整示例使用 ffplay:

ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1];
[a] avectorscope=zoom=1.3:rc=2:gc=200:bc=10:rf=1:gf=8:bf=7 [out0]'

CONCAT
连接音频和视频流,将它们一个接一个地连接在一起。

该过滤器适用于同步视频和音频流的片段。 所有段必须
具有相同数量的每种类型的流,这也将是流的数量
在输出。

过滤器接受以下选项:

n 设置段数。 默认值为 2。

v 设置输出视频流数,也就是输入的视频流数
每个段。 默认值为 1。

a 设置输出音频流数,也就是输入的音频流数
每个段。 默认值为 0。

不安全
激活不安全模式:如果段具有不同的格式,则不会失败。

过滤器有 v+a 输出:第一 v 视频输出,然后 a 音频输出。

这里有 nx(v+a) 输入:首先是第一段的输入,顺序与
输出,然后是第二段的输入,等等。

由于各种原因,相关流并不总是具有完全相同的持续时间
包括编解码器帧大小或草率创作。 为此,相关的同步
流(例如视频及其音轨)应立即连接。 连接
filter 将使用每个段中最长的流的持续时间(最后一个除外),
如有必要,用静音填充较短的音频流。

要使此过滤器正常工作,所有段都必须从时间戳 0 开始。

所有对应的流在所有段中必须具有相同的参数; 过滤
系统会自动为视频流选择一个常用的像素格式,以及一个常用的像素格式
音频流的采样格式、采样率和通道布局,但其他设置,例如
作为分辨率,必须由用户明确转换。

不同的帧率是可以接受的,但会导致输出的帧率发生变化; 是
一定要配置输出文件来处理它。

国际私人包机价格项目范例

· 连接开场、插曲和结尾,全部为双语版本(视频在
流 0,流 1 和 2 中的音频):

ffmpeg -i opening.mkv -i episode.mkv -iending.mkv -filter_complex \
'[0:0] [0:1] [0:2] [1:0] [1:1] [1:2] [2:0] [2:1] [2:2]
concat=n=3:v=1:a=2 [v] [a1] [a2]' \
-map '[v]' -map '[a1]' -map '[a2]' output.mkv

· 连接两个部分,分别处理音频和视频,使用 (a)movie
源,并调整分辨率:

电影=part1.mp4,比例=512:288 [v1]; 电影=part1.mp4 [a1] ;
电影=part2.mp4,比例=512:288 [v2]; 电影=part2.mp4 [a2] ;
[v1] [v2] 连接 [outv] ; [a1] [a2] concat=v=0:a=1 [outa]

请注意,如果音频和视频流不同步,则针脚处将发生不同步
在第一个文件中具有完全相同的持续时间。

ebur128
EBU R128 扫描仪过滤器。 此过滤器将音频流作为输入并输出
不变。 默认情况下,它以 10Hz 的频率记录一条消息,并带有 Momentary
响度(由“M”标识)、短期响度(“S”)、综合响度(“I”)和
响度范围(“LRA”)。

过滤器还有一个视频输出(见 电影 选项)与实时图表
观察响度演变。 该图形包含上述记录的消息,
所以设置此选项时不再打印,除非设置了详细日志记录。
主要图形区域包含短期响度(3 秒的分析),以及
右侧的仪表用于瞬时响度(400 毫秒)。

有关响度建议 EBU R128 的更多信息
<http://tech.ebu.ch/loudness>.

过滤器接受以下选项:

电影
激活视频输出。 无论此选项是否设置,音频流都保持不变
设置或没有。 如果激活,视频流将是第一个输出流。 默认是
0.

尺寸
设置视频大小。 此选项仅适用于视频。 对于此选项的语法,
检查 “视频 尺寸” 部分 in ffmpeg 实用程序 手册. 默认值和最小值
分辨率为“640x480”。


设置 EBU 刻度表。 默认值为 9。常用值分别为 9 和 18,用于
EBU 刻度表 +9 和 EBU 刻度表 +18。 此范围内的任何其他整数值
被允许。

元数据
设置元数据注入。 如果设置为 1,音频输入将被分段为 100ms
输出帧,每个帧都包含元数据中的各种响度信息。 全部
元数据键以“lavfi.r128.”为前缀。

预设为0。

框架日志
强制帧记录级别。

可用值为:

info
信息记录级别

详细
详细日志记录级别

默认情况下,日志记录级别设置为 info。 如果 电影 或者 元数据 选项是
设置,它切换到 详细.

高峰
设置峰值模式。

可以累积可用模式(该选项是“标志”类型)。 可能的值为:

没有
禁用任何峰值模式(默认)。

样品
启用采样峰值模式。

寻找更高样本值的简单峰值模式。 它记录一条消息
样本峰值(由“SPK”标识)。

true
启用真峰值模式。

如果启用,峰值查找将在输入流的过采样版本上完成
以获得更好的峰值精度。 它会记录一条关于真正峰值的消息。 (由“TPK”标识)
和每帧的真实峰值(由“FTPK”标识)。 此模式需要构建
“libswresample”。

国际私人包机价格项目范例

· 实时图表使用 ffplay,使用 EBU 刻度计 +18:

ffplay -f lavfi -i "amovie=input.mp3,ebur128=video=1:meter=18 [out0][out1]"

· 运行分析 ffmpeg的:

ffmpeg -nostats -i input.mp3 -filter_complex ebur128 -f null -

交错, 交错
时间交错来自多个输入的帧。

“交错”适用于视频输入,“交错”适用于音频。

这些过滤器从多个输入读取帧,并将最旧的排队帧发送到
输出。

输入流必须具有明确定义的、单调递增的帧时间戳值。

为了提交一帧输出,这些过滤器需要至少入队一帧
对于每个输入,因此如果一个输入尚未终止并且不会终止,它们将无法工作
接收传入的帧。

例如,考虑一个输入是一个总是丢弃输入的“选择”过滤器的情况
帧。 “交错”过滤器将继续从该输入读取,但永远不会
能够发送新帧到输出,直到输入将发送流结束信号。

此外,根据输入同步,过滤器将在一个输入的情况下丢帧
接收到的帧比其他帧多,并且队列已满。

这些过滤器接受以下选项:

nb_inputs, n
设置不同输入的数量,默认为2。

国际私人包机价格项目范例

· 交织属于不同流的帧使用 ffmpeg的:

ffmpeg -i bambi.avi -i pr0n.mkv -filter_complex "[0:v][1:v] 交错" out.avi

· 添加闪烁模糊效果:

选择='如果(GT(随机(0), 0.2), 1, 2)':n=2 [tmp], boxblur=2:2, [tmp] 交错

烫发, 阿佩姆斯
设置输出帧的读/写权限。

这些过滤器主要是针对开发者在下面的过滤器中测试直接路径
在过滤器图中。

过滤器接受以下选项:

模式
选择权限模式。

它接受以下值:

没有
没做什么。 这是默认设置。

ro 将所有输出帧设置为只读。

rw 将所有输出帧设置为可直接写。

切换
如果可写,则将框架设为只读,如果只读则设为可写。

随机
将每个输出帧随机设置为只读或可写。

种子
设置种子 随机 模式,必须是一个介于 0 和
“UINT32_MAX”。 如果未指定,或者明确设置为“-1”,过滤器将尝试
尽最大努力使用一个好的随机种子。

注意:如果在权限过滤器和以下过滤器之间自动插入过滤器,
在以下过滤器中可能不会按预期收到许可。 插入一个
格式 or 格式 在 perms/aperms 过滤器之前过滤可以避免这个问题。

选择, 选择
选择要传入输出的帧。

此过滤器接受以下选项:

表达式, e
设置表达式,为每个输入帧计算。

如果表达式的计算结果为零,则丢弃该帧。

如果评估结果是否定的或 NaN,则将帧发送到第一个输出;
否则它会被发送到带有索引“ceil(val)-1”的输出,假设输入
索引从 0 开始。

例如,值 1.2 对应于索引为“ceil(1.2)-1 = 2-1 =
1",这是第二个输出。

输出, n
设置输出数量。 将所选帧发送到的输出基于
评估的结果。 默认值为 1。

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

n 过滤帧的(顺序)编号,从 0 开始。

选择_n
所选帧的(顺序)编号,从 0 开始。

上一个选定的n
最后选择的帧的序号。 如果未定义,则为 NAN。

TB 输入时间戳的时基。

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

t 过滤后的视频帧的 PTS,以秒表示。 如果未定义,则为 NAN。

上一个点
先前过滤的视频帧的 PTS。 如果未定义,则为 NAN。

上一个所选点
最后一个先前过滤的视频帧的 PTS。 如果未定义,则为 NAN。

上一个选定的_t
最后一个先前选择的视频帧的 PTS。 如果未定义,则为 NAN。

起始点
视频中第一个视频帧的 PTS。 如果未定义,则为 NAN。

开始_t
视频中第一个视频帧的时间。 如果未定义,则为 NAN。

图片类型 (视频 只有)
过滤帧的类型。 它可以采用以下值之一:

I
P
B
S
SI
SP
BI
交错类型 (视频 只有)
帧交错类型。 它可以采用以下值之一:

PROGRESSIVE
帧是渐进的(不是隔行的)。

第一
该帧是顶场优先。

自下而上
该帧是底场优先。

消费样本_n (声音的 只有)
当前帧之前所选样本的数量

样本_n (声音的 只有)
当前帧中的样本数

采样率 (声音的 只有)
输入采样率

如果过滤的帧是关键帧,则为 1,否则为 0。

邮寄 过滤后的帧在文件中的位置,-1 如果信息不可用
(例如对于合成视频)

现场 (视频 只有)
0 到 1 之间的值表示新场景; 低值反映低概率
为当前帧引入一个新场景,而较高的值表示当前
框架更有可能是一个(见下面的例子)

选择表达式的默认值为“1”。

国际私人包机价格项目范例

· 选择输入中的所有帧:

选择

上面的例子是一样的:

选择=1

· 跳过所有帧:

选择=0

· 仅选择 I 帧:

select='eq(pict_type\,I)'

· 每 100 选择一帧:

选择='不(mod(n\,100))'

· 仅选择包含在 10-20 时间间隔内的帧:

选择=之间(t\,10\,20)

· 仅选择包含在 10-20 时间间隔内的 I 帧:

选择=之间(t\,10\,20)*eq(pict_type\,I)

· 选择最小距离为 10 秒的帧:

select='isnan(prev_selected_t)+gte(t-prev_selected_t\,10)'

· 使用 aselect 仅选择样本数 > 100 的音频帧:

aselect='gt(samples_n\,100)'

· 创建第一个场景的马赛克:

ffmpeg -i video.avi -vf select='gt(scene\,0.4)',scale=160:120,tile -frames:v 1 preview.png

比较 现场 反对 0.3 和 0.5 之间的值通常是一个明智的选择。

· 将偶数和奇数帧发送到单独的输出,并组合它们:

select=n=2:e='mod(n, 2)+1' [奇数][偶数]; [奇数] pad=h=2*ih [tmp]; [tmp][even] 叠加=y=h

发送命令, 发送命令
向过滤器图中的过滤器发送命令。

这些过滤器读取要发送到过滤器图中的其他过滤器的命令。

“sendcmd”必须插入两个视频过滤器之间,“asendcmd”必须插入
两个音频过滤器,但除此之外,它们的作用相同。

命令的规范可以在过滤器参数中提供 命令
选项,或在指定的文件中 文件名 选项。

这些过滤器接受以下选项:

命令, c
设置要读取并发送到其他过滤器的命令。

文档名称, f
设置要读取并发送到其他过滤器的命令的文件名。

命令 句法

命令描述由一系列间隔规范组成,包括
当与该时间间隔相关的特定事件发生时要执行的命令列表。
发生的事件通常是当前帧时间进入或离开给定时间
间隔。

间隔由以下语法指定:

[- ] ;

时间间隔由 主页结束 倍。 结束 是可选的和默认值
到最大时间。

如果当前帧时间包含在指定的时间间隔内,则认为它在
区间 [主页, 结束),即当时间大于或等于 主页 提供美容纤体,
小于 结束.

指令 由一系列一个或多个命令规范组成,以“,”分隔,
与那个区间有关。 命令规范的语法由下式给出:

[ ]

旗帜 是可选的,指定与时间间隔相关的事件类型
启用发送指定的命令,并且必须是一个非空的标识符标志序列
以“+”或“|”分隔并包含在“[”和“]”之间。

以下标志被识别:

进入
当当前帧时间戳进入指定时间间隔时发送该命令。 在
换句话说,当前一帧时间戳不在
给定区间,电流为。

离开
当当前帧时间戳离开指定间隔时发送该命令。 在
换句话说,当前一帧时间戳在给定的范围内时发送命令
间隔,而电流不是。

If 旗帜 未指定,默认值为“[enter]”。

TARGET 指定命令的目标,通常是过滤器类的名称或
特定过滤器实例名称。

指挥 指定目标过滤器的命令名称。

ARG 是可选的,并指定给定参数的可选列表 指挥.

在一个间隔规范和另一个、空格或字符序列之间
从“#”开始直到行尾,都被忽略,可用于注释注释。

命令规范语法的简化 BNF 描述如下:

::= "输入" | “离开”
::= [(+|"|") ]
::= ["[" "]"] [ ]
::= [, ]
::= [- ]
::= [; ]

国际私人包机价格项目范例

· 指定第 4 秒的音频速度变化:

asendcmd=c='4.0 atempo tempo 1.5',atempo

· 指定文件中的绘图文本和色调命令列表。

# 显示间隔 5-10 的文本
5.0-10.0 [输入] drawtext reinit 'fontfile=FreeSerif.ttf:text=hello world',
[离开] drawtext reinit 'fontfile=FreeSerif.ttf:text=';

# 在 15-20 区间内对图像进行去饱和处理
15.0-20.0 [输入] 色调 s 0,
[输入] drawtext reinit 'fontfile=FreeSerif.ttf:text=nocolor',
[离开] 色调 s 1,
[leave] drawtext reinit 'fontfile=FreeSerif.ttf:text=color';

# 应用指数饱和淡出效果,从时间 25 开始
25 [输入] 色调 s exp(25-t)

允许读取和处理存储在文件中的上述命令列表的过滤器图
测试命令, 可以指定为:

sendcmd=f=test.cmd,drawtext=fontfile=FreeSerif.ttf:text='',hue

设置, 资产
更改输入帧的 PTS(演示时间戳)。

“setpts”适用于视频帧,“asetpts”适用于音频帧。

此过滤器接受以下选项:

表达式
为每个帧计算以构建其时间戳的表达式。

该表达式通过 eval API 进行计算,可以包含以下常量:

帧率
帧率,仅针对恒定帧率视频定义

输入中的演示时间戳

N 视频输入帧的计数或消耗的样本数,而不是
包括音频的当前帧,从 0 开始。

NB_CONSUMED_SAMPLES 个样本
消耗的样本数,不包括当前帧(仅音频)

NB_SAMPLES, S
当前帧中的样本数(仅音频)

采样率, SR
音频采样率。

起点
第一帧的 PTS。

开始时间
第一帧的时间(以秒为单位)

交错
说明当前帧是否交错。

T 当前帧的时间(以秒为单位)

POS材料 帧文件中的原始位置,如果当前未定义,则为 undefined
框架

PREV_INPTS
之前的输入 PTS。

PREV_INT
以秒为单位的先前输入时间

PREV_OUTPTS
之前的输出 PTS。

上一个输出
以前的输出时间(以秒为单位)

实时时钟
挂钟 (RTC) 时间(以微秒为单位)。 这已被弃用,请使用 (0) 代替。

实时时钟启动
电影开始时的挂钟 (RTC) 时间(以微秒为单位)。

TB 输入时间戳的时基。

国际私人包机价格项目范例

· 从零开始计算 PTS

setpts=PTS-开始PTS

· 应用快动作效果:

设置点=0.5*PTS

· 应用慢动作效果:

设置点=2.0*PTS

·设置每秒25帧的固定速率:

设定点=N/(25*TB)

· 设置固定速率 25 fps 有一些抖动:

setpts='1/(25*TB) * (N + 0.05 * sin(N*2*PI/25))'

· 对输入 PTS 应用 10 秒的偏移量:

设定点=PTS+10/TB

· 从“实时源”生成时间戳,并根据当前时基进行变基:

setpts='(RTCTIME - RTCSTART)/(TB * 1000000)'

· 通过对样本进行计数来生成时间戳:

资产= N/SR/TB

设置, 资产
设置用于输出帧时间戳的时基。 它主要用于测试
时基配置。

它接受以下参数:

表达式, tb
计算到输出时基中的表达式。

的价值 tb 是表示有理数的算术表达式。 表达式可以
包含常量“AVTB”(默认时基)、“intb”(输入时基)和“sr”
(采样率,仅音频)。 默认值为“intb”。

国际私人包机价格项目范例

· 将时基设置为 1/25:

settb=表达式=1/25

· 将时基设置为 1/10:

settb=表达式=0.1

· 将时基设置为 1001/1000:

设置b=1+0.001

· 设置时基为2*intb:

设置b = 2 * intb

· 设置默认时基值:

设置b=AVTB

展示
将输入音频转换为以对数方式表示频谱的视频输出
(使用带有 Brown-Puckette 算法的常数 Q 变换),具有音阶,从
E0 到 D#10(10 个八度)。

过滤器接受以下选项:

体积
指定变换体积(乘数)表达式。 表达式可以包含
变量:

频率, 频率, f
评估变换的频率

时间夹, tc
时间钳选项的值

和功能:

a_权重(f)
等响度的A加权

b_权重(f)
等响度的 B 加权

c_权重(f)
等响度的 C 加权

默认值为 16。

长度
指定变换长度表达式。 表达式可以包含变量:

频率, 频率, f
评估变换的频率

时间夹, tc
时间钳选项的值

默认值为“384/f*tc/(384/f+tc)”。

时间夹
指定变换时间钳。 在低频下,精度之间存在权衡
在时域和频域。 如果 timeclamp 较低,则时域中的事件为
更准确地表示(例如快速低音鼓),否则频率事件
域被更准确地表示(例如低音吉他)。 可接受的值为 [0.1,
1.0]。 默认值为 0.17。

夹钳
指定变换系数钳位。 如果 coeffclamp 越低,变换就越准确,
否则转换会更快。 可接受的值为 [0.1, 10.0]。 默认值为 1.0。

伽玛
指定伽马。 较低的伽马使光谱更具对比度,较高的伽马使
频谱范围更大。 可接受的值为 [1.0, 7.0]。 默认值为 3.0。

gamma2
指定条形图的伽马。 可接受的值为 [1.0, 7.0]。 默认值为 1.0。

字体文件
指定用于 freetype 的字体文件。 如果未指定,请使用嵌入字体。

字体颜色
指定字体颜色表达。 这是应该返回的算术表达式
整数值 0xRRGGBB。 表达式可以包含变量:

频率, 频率, f
评估变换的频率

时间夹, tc
时间钳选项的值

和功能:

中音(f)
频率f的midi数,一些midi数: E0(16) C1(24) C2(36) A4(69)

r(x), 克(x), 乙(x)
强度 x 的红色、绿色和蓝色值

默认值为 "st(0, (midi(f)-59.5)/12); st(1, if( between(ld(0),0,1),
0.5-0.5*余弦(2*圆周率*ld(0)), 0)); r(1-LD(1)) + b(ld(1))”

FULLHD
如果设置为 1(默认),则视频大小为 1920x1080(全高清),如果设置为 0,则视频大小为
视频大小为 960x540。 使用此选项可降低 CPU 使用率。

FPS 指定视频 fps。 默认值为 25。


指定每帧的变换次数,因此每秒有 fps*count 次变换。
请注意,音频数据速率必须能被 fps*count 整除。 默认值为 6。

国际私人包机价格项目范例

· 在显示频谱的同时播放音频:

ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt [out0]'

· 同上,但帧率为 30 fps:

ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt=fps=30:count=5 [out0]'

· 以 960x540 和更低的 CPU 使用率播放:

ffplay -f lavfi 'amovie=a.mp3, asplit [a][out1]; [a] showcqt=fullhd=0:count=3 [out0]'

· A1及其谐波:A1、A2、(近)E3、A3:

ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
asplit[a][out1]; [a] showcqt [out0]'

· 同上,但在频域上更准确(但速度更慢):

ffplay -f lavfi 'aevalsrc=0.1*sin(2*PI*55*t)+0.1*sin(4*PI*55*t)+0.1*sin(6*PI*55*t)+0.1*sin(8*PI*55*t),
asplit[a][out1]; [a] showcqt=timeclamp=0.5 [out0]'

· 等响度的B加权

音量=16*b_weighting(f)

· 较低的 Q 因数

长度=100/f*tc/(100/f+tc)

· 自定义字体颜色,C-note为绿色,其他为蓝色

fontcolor='if(mod(floor(midi(f)+0.5),12), 0x0000FF, g(1))'

· 自定义伽马,现在频谱与幅度成线性关系。

伽马=2:伽马2=2

显示频率
将输入音频转换为表示音频功率谱的视频输出。 声音的
振幅在 Y 轴上,而频率在 X 轴上。

过滤器接受以下选项:

尺寸, s
指定视频的大小。 有关此选项的语法,请检查 “视频 尺寸” 部分
in ffmpeg 实用程序 手册. 默认值为“1024x512”。

模式
设置显示模式。 这设置了每个频率仓的表示方式。

它接受以下值:

线
酒吧


默认为“酒吧”。

天秤
设置幅度刻度。

它接受以下值:

线性标度。

开方
平方根刻度。

CBRT
立方根尺度。

日志 对数标度。

默认为“日志”。

比例尺
设置频率刻度。

它接受以下值:

线性标度。

日志 对数标度。

日志
反向对数标度。

默认为“林”。

胜利大小
设置窗口大小。

它接受以下值:

w16
w32
w64
w128
w256
w512
w1024
w2048
w4096
w8192
w16384
w32768
w65536

默认为“w2048”

赢函数
设置窗口函数。

它接受以下值:

直肠
巴特利特
汉宁
汉明
布莱克曼
韦尔奇
平顶
哈里斯
坚果
班恩
正弦
坚果

默认为“汉宁”。

交叠
设置窗口重叠。 在“[0, 1]”范围内。 默认为 1,这意味着最佳重叠
选定的窗口函数将被选中。

平均
设置时间平均。 将此设置为 0 将显示当前最大峰值。 默认是
1,这意味着时间平均被禁用。

颜色
指定由空格或“|”分隔的颜色列表这将用于绘制通道
频率。 无法识别或丢失的颜色将替换为白色。

显示频谱
将输入音频转换为视频输出,表示音频频谱。

过滤器接受以下选项:

尺寸, s
指定输出的视频大小。 有关此选项的语法,请检查 “视频
尺寸” 部分 in ffmpeg 实用程序 手册. 默认值为“640x512”。


指定频谱应如何沿窗口滑动。

它接受以下值:

更换
当样品到达右侧时,样品再次从左侧开始

滚动
样本从右向左滚动

全画幅
仅当样本到达右侧时才产生帧

默认值为“替换”。

模式
指定显示模式。

它接受以下值:

结合
所有频道都显示在同一行

分开
所有频道都显示在单独的行中

默认值为 结合.

颜色
指定显示颜色模式。

它接受以下值:

渠道
每个通道都以单独的颜色显示

强度
每个通道都使用相同的配色方案显示

默认值为 渠道.

规模
指定用于计算强度颜色值的比例。

它接受以下值:

线性

开方
平方根,默认

CBRT
立方根

日志 对数的

默认值为 开方.

饱和
为显示的颜色设置饱和度修饰符。 负值提供替代
配色方案。 0 根本不饱和。 饱和度必须在 [-10.0, 10.0] 范围内。
默认值为 1。

赢函数
设置窗口函数。

它接受以下值:

没有
没有样本预处理(不要指望这会更快)

汉恩
汉窗

汉明
汉明窗

布莱克曼
布莱克曼窗

默认值为“hann”。

用法与 showwaves 过滤器非常相似; 请参阅该部分中的示例。

国际私人包机价格项目范例

· 对数颜色缩放的大窗口:

显示光谱=s=1280x480:比例=日志

· 每个通道的彩色和滑动光谱的完整示例使用 ffplay:

ffplay -f lavfi 'amovie=input.mp3, asplit [a][out1];
[a] showspectrum=mode=separate:color=intensity:slide=1:scale=cbrt [out0]'

节目量
将输入音频音量转换为视频输出。

过滤器接受以下选项:

率, r
设置视频速率。

b 设置边框宽度,允许范围为 [0, 5]。 默认值为 1。

w 设置通道宽度,允许范围为 [40, 1080]。 默认值为 400。

h 设置通道高度,允许范围为 [1, 100]。 默认值为 20。

f 设置淡入淡出,允许范围为 [1, 255]。 默认值为 20。

c 设置体积颜色表达式。

该表达式可以使用以下变量:

音量
以 dB 为单位的当前最大通道音量。

渠道
当前通道号,从0开始。

t 如果设置,则显示频道名称。 默认启用。

秀波
将输入音频转换为视频输出,表示样本波。

过滤器接受以下选项:

尺寸, s
指定输出的视频大小。 有关此选项的语法,请检查 “视频
尺寸” 部分 in ffmpeg 实用程序 手册. 默认值为“600x240”。

模式
设置显示模式。

可用值为:


为每个样本画一个点。

线
为每个样本画一条垂直线。

p2p 为每个样本画一个点,并在它们之间画一条线。

克莱因
为每个样本绘制一条居中的垂直线。

默认值为“点”。

n 设置打印在同一列上的样本数。 较大的值将
降低帧率。 必须是正整数。 只有在以下情况下才能设置此选项
的价值 没有明确规定。

率, r
设置(近似)输出帧率。 这是通过设置选项来完成的 n。 默认
值为“25”。

分离通道
设置通道是单独绘制还是重叠绘制。 默认值为 0。

国际私人包机价格项目范例

· 同时输出输入文件音频和相应的视频表示
时间:

amovie=a.mp3,asplit[out0],showwaves[out1]

· 创建合成信号并用 showwaves 显示,强制帧速率为 30
每秒帧数:

aevalsrc=sin(1*2*PI*t)*sin(880*2*PI*t):cos(2*PI*200*t),asplit[out0],showwaves=r=30[out1]

秀波秀
将输入音频转换为单个视频帧,表示样本波。

过滤器接受以下选项:

尺寸, s
指定输出的视频大小。 有关此选项的语法,请检查 “视频
尺寸” 部分 in ffmpeg 实用程序 手册. 默认值为“600x240”。

分离通道
设置通道是单独绘制还是重叠绘制。 默认值为 0。

国际私人包机价格项目范例

· 提取整个音轨波形的通道分割表示
1024x800 图片使用 ffmpeg的:

ffmpeg -i audio.flac -lavfi showwavespic=split_channels=1:s=1024x800 波形.png

分裂, 分裂
将输入分成几个相同的输出。

“拆分”适用于音频输入,“拆分”适用于视频。

过滤器接受一个指定输出数量的参数。 如果
未指定,默认为 2。

国际私人包机价格项目范例

· 从同一个输入创建两个独立的输出:

[输入]拆分[输出0][输出1]

· 要创建 3 个或更多输出,您需要指定输出数量,例如:

[输入] asplit=3 [输出 0][输出 1][输出 2]

· 从同一个输入创建两个单独的输出,一个被裁剪,一个被填充:

[in] 拆分 [splitout1][splitout2];
[splitout1] crop=100:100:0:0 [cropout];
[splitout2] pad=200:200:100:100 [padout];

· 创建输入音频的 5 个副本 ffmpeg的:

ffmpeg -i 输入 -filter_complex asplit=5 输出

兹米克, 阿兹米克
接收通过 libzmq 客户端发送的命令,并将它们转发到
过滤图。

“zmq”和“azmq”用作传递过滤器。 必须在两个视频之间插入“zmq”
过滤器,两个音频过滤器之间的“azmq”。

要启用这些过滤器,您需要安装 libzmq 库和头文件并配置
带有“--enable-libzmq”的FFmpeg。

有关 libzmq 的更多信息,请参阅:http://www.zeromq.org/>

“zmq”和“azmq”过滤器作为一个 libzmq 服务器工作,它接收通过
定义的网络接口 绑定地址 选项。

收到的消息必须采用以下格式:

[ ]

TARGET 指定命令的目标,通常是过滤器类的名称或
特定过滤器实例名称。

指挥 指定目标过滤器的命令名称。

ARG 是可选的并指定给定的可选参数列表 指挥.

收到消息后,处理消息并注入相应的命令
过滤器图。 根据结果​​,过滤器将向客户端发送回复,
采用格式:




MESSAGE 是可选的。

国际私人包机价格项目范例

看着 工具/zmqsend 可用于发送命令的 zmq 客户端示例
由这些过滤器处理。

考虑由以下生成的过滤器图 ffplay

ffplay -dumpgraph 1 -f lavfi”
颜色=s=100x100:c=红色 [l];
颜色=s=100x100:c=蓝色 [r];
nullsrc=s=200x100, zmq [bg];
[bg][l] 叠加 [bg+l];
[bg+l][r] 叠加=x=100"

要更改视频左侧的颜色,可以使用以下命令:

echo Parsed_color_0 c 黄色 | 工具/zmqsend

要更改右侧:

echo Parsed_color_1 c 粉红色 | 工具/zmqsend

多媒体 来源


下面是对当前可用多媒体源的描述。

电影
这和 电影 源,除了它默认选择音频流。

电影
从电影容器中读取音频和/或视频流。

它接受以下参数:

文件名
要读取的资源的名称(不一定是文件;它也可以是设备或
通过某种协议访问的流)。

格式名称, f
指定要读取的电影的假定格式,可以是
容器或输入设备。 如果未指定,则猜测格式 电影名称
或通过探查。

寻求点, sp
以秒为单位指定搜索点。 帧将从本次搜索开始输出
观点。 参数用“av_strtod”求值,所以数值可能是
以 IS 后缀为后缀。 默认值为“0”。

溪流, s
指定要读取的流。 可以指定多个流,以“+”分隔。 这
然后,源将具有相同顺序的尽可能多的输出。 语法在
ffmpeg 手册中的“流说明符”部分。 两个特殊名称,“dv”和
“da”分别指定默认(最适合)的视频和音频流。 默认是
如果过滤器被称为“amovie”,则为“dv”或“da”。

流索引, si
指定要读取的视频流的索引。 如果值为-1,则最合适
视频流将被自动选择。 默认值为“-1”。 已弃用。 如果
过滤器称为“amovie”,它将选择音频而不是视频。

循环
指定按顺序读取流的次数。 如果该值小于 1,
流将被一次又一次地读取。 默认值为“1”。

请注意,当电影循环播放时,源时间戳不会改变,所以它会
生成非单调递增的时间戳。

它允许在 filtergraph 的主要输入之上叠加第二个视频,如图所示
这张图:

输入 -----------> deltapts0 --> 叠加 --> 输出
^
|
电影 --> 比例 --> deltapts1 -------+

国际私人包机价格项目范例

· 从.avi 中的AVI 文件开始跳过3.2 秒,并将其覆盖在
标记为“in”的输入:

电影=in.avi:seek_point=3.2, scale=180:-1, setpts=PTS-STARTPTS [over];
[输入] setpts=PTS-STARTPTS [主];
[main][over]overlay=16:16 [out]

· 从 video4linux2 设备读取,并将其覆盖在标记为“in”的输入的顶部:

电影=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [over];
[输入] setpts=PTS-STARTPTS [主];
[main][over]overlay=16:16 [out]

·从dvd.vob中读取第一个视频流和id为0x81的音频流; 该视频
连接到名为“video”的打击垫,音频连接到名为“视频”的打击垫
“声音的”:

电影=dvd.vob:s=v:0+#0x81 [视频] [音频]

使用 onworks.net 服务在线使用 ffmpeg 过滤器


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    移相器
    移相器
    Phaser 是一个快速、免费且有趣的开放式
    源 HTML5 游戏框架,提供
    WebGL 和 Canvas 渲染
    桌面和移动网络浏览器。 游戏
    可以共...
    下载移相器
  • 2
    附庸引擎
    附庸引擎
    VASSAL 是一个游戏引擎,用于创建
    电子版传统板
    和纸牌游戏。 它提供支持
    游戏块渲染和交互,
    和...
    下载 VASSAL 引擎
  • 3
    OpenPDF - iText 的分支
    OpenPDF - iText 的分支
    OpenPDF 是一个 Java 库,用于创建
    以及使用 LGPL 编辑 PDF 文件和
    MPL 开源许可证。 OpenPDF 是
    iText 的 LGPL/MPL 开源继承者,
    一个...
    下载 OpenPDF - iText 的分支
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - 自动化系统
    地球科学分析 - 是地理
    信息系统 (GIS) 软件
    地理数据的强大功能
    加工和分析...
    下载 SAGA GIS
  • 5
    Java/JTOpen 工具箱
    Java/JTOpen 工具箱
    IBM Toolbox for Java / JTOpen 是一个
    Java类库支持
    客户端/服务器和互联网编程
    模型到运行 OS/400 的系统,
    i5/OS, 哦...
    下载 Java/JTOpen 工具箱
  • 6
    D3.js
    D3.js
    D3.js(或数据驱动文档的 D3)
    是一个 JavaScript 库,它允许你
    生成动态的交互式数据
    Web 浏览器中的可视化。 与D3
    您...
    下载 D3.js
  • 更多 ”

Linux 命令

Ad