英语法语西班牙语

Ad


OnWorks 网站图标

ffplay-all - 云端在线

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

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

程序:

您的姓名


ffplay - FFplay 媒体播放器

概要


玩[选项[输入文件]

商品描述


FFplay 是一个使用 FFmpeg 库和 SDL 的非常简单和便携的媒体播放器
图书馆。 它主要用作各种 FFmpeg API 的测试平台。

配置


所有的数字选项,如果没有另外指定,都接受一个代表一个字符串的字符串
数字作为输入,后面可以跟 SI 单位前缀之一,例如:'K',
'M' 或 'G'。

如果 'i' 附加到 SI 单位前缀,则完整的前缀将被解释为
二进制倍数的单位前缀,基于 1024 的幂而不是
1000. 将“B”附加到 SI 单位前缀会将值乘以 8。这允许使用,
例如:“KB”、“MiB”、“G”和“B”作为数字后缀。

不带参数的选项是布尔选项,并设置相应的值
为真。 可以通过在选项名称前加上“no”来将它们设置为 false。 例如
使用“-nofoo”会将名称为“foo”的布尔选项设置为false。

资讯
某些选项适用于每个流,例如比特率或编解码器。 流说明符用于
精确指定给定选项属于哪个流。

流说明符是一个字符串,通常附加到选项名称并与它分开
由一个冒号。 例如,“-codec:a:1 ac3”包含“a:1”流说明符,它匹配
第二个音频流。 因此,它会为第二个音频流选择 ac3 编解码器。

一个流说明符可以匹配多个流,因此该选项适用于所有
他们。 例如,“-b:a 128k”中的流说明符匹配所有音频流。

空流说明符匹配所有流。 例如,“-codec copy”或“-codec:
copy" 将复制所有流而无需重新编码。

流说明符的可能形式是:

流索引
将流与此索引匹配。 例如“-threads:1 4”将设置线程数
第二个流到 4。

流类型[:流索引]
流类型 是以下之一:“v”或“V”表示视频,“a”表示音频,“s”表示
副标题,“d”代表数据,“t”代表附件。 'v' 匹配所有视频流,'V'
只匹配没有附加图片、视频缩略图或封面的视频流
艺术。 如果 流索引 给出,然后它匹配流号 流索引 这个的
类型。 否则,它匹配该类型的所有流。

p:程序编号[:流索引]
If 流索引 给出,然后它匹配带有数字的流 流索引 ,在
带有 id 的程序 程序编号. 否则,它匹配程序中的所有流。

#流标识 or i:流标识
通过流 id(例如 MPEG-TS 容器中的 PID)匹配流。

m:[:折扣值]
匹配带有元数据标签的流 具有指定值。 如果 折扣值 是不是
给定,匹配包含具有任何值的给定标签的流。

u 匹配具有可用配置的流,必须定义编解码器和必要的
必须存在诸如视频尺寸或音频采样率之类的信息。

请注意 ffmpeg的, 元数据匹配仅适用于输入文件。

通用 选项
这些选项在 ff* 工具之间共享。

-L 出示许可证。

-H, -?, -帮助, - 帮帮我 [ARG]
显示帮助。 可以指定一个可选参数来打印有关特定项目的帮助。
如果未指定参数,则仅显示基本(非高级)工具选项。

可能的值 ARG 是:


除基本工具选项外,还打印高级工具选项。


打印完整的选项列表,包括编码器的共享和私有选项,
解码器、多路分配器、多路复用器、过滤器等。

解码器=解码器名称
打印有关名为的解码器的详细信息 解码器名称。 使用 -解码器
选项以获取所有解码器的列表。

编码器=编码器名称
打印有关名为的编码器的详细信息 编码器名称。 使用 -编码器
获取所有编码器列表的选项。

分路器=分路器名称
打印有关名为 demuxer 的详细信息 分路器名称。 使用 格式
获取所有分路器和多路复用器列表的选项。

多路复用器=多路复用器名称
打印有关名为 muxer 的详细信息 多路复用器名称。 使用 格式
获取所有复用器和解复用器列表的选项。

过滤器=过滤器名称
打印有关过滤器名称的详细信息 过滤器名称。 使用 -过滤器
选项以获取所有过滤器的列表。

-版
显示版本。

格式
显示可用格式(包括设备)。

-设备
显示可用设备。

-编解码器
显示 libavcodec 已知的所有编解码器。

请注意,术语“编解码器”在本文档中用作快捷方式
什么更正确地称为媒体比特流格式。

-解码器
显示可用的解码器。

-编码器
显示所有可用的编码器。

-bsfs
显示可用的比特流过滤器。

-协议
显示可用的协议。

-过滤器
显示可用的 libavfilter 过滤器。

-pix_fmts
显示可用的像素格式。

-sample_fmts
显示可用的示例格式。

-布局
显示频道名称和标准频道布局。

颜色
显示识别的颜色名称。

-sources 设备[,选择1=val1[,选择2=val2]...]
显示输入设备的自动检测源。 某些设备可能提供系统-
无法自动检测的依赖源名称。 返回的列表不能是
假设总是完整的。

ffmpeg -sources 脉冲,服务器=192.168.0.4

-水槽 设备[,选择1=val1[,选择2=val2]...]
显示输出设备的自动检测接收器。 某些设备可能提供系统-
无法自动检测的相关接收器名称。 不能假设返回的列表
永远完整。

ffmpeg -接收脉冲,服务器=192.168.0.4

-日志级别 [重复+]日志级别 | -v [重复+]日志级别
设置库使用的日志记录级别。 加“repeat+”表示重复
日志输出不应压缩到第一行和“最后一条消息重复 n
times” 行将被省略。“repeat”也可以单独使用。如果使用“repeat”
单独使用,并且没有预先设置日志级别,将使用默认日志级别。 如果多个
给出了日志级别参数,使用 'repeat' 不会改变日志级别。 日志级别
是包含以下值之一的字符串或数字:

安静, -8
什么都不显示; 安静。

恐慌, 0
只显示可能导致进程崩溃的致命错误,例如 和 assert
失败。 这目前不用于任何事情。

致命的, 8
只显示致命错误。 这些是过程绝对不能之后的错误
之后继续。

错误, 16
显示所有错误,包括可以从中恢复的错误。

警告, 24
显示所有警告和错误。 任何与可能不正确或
将显示意外事件。

信息, 32
在处理过程中显示信息性消息。 这是除了警告和
错误。 这是默认值。

冗长, 40
与“信息”相同,但更详细。

调试, 48
显示所有内容,包括调试信息。

痕迹, 56

默认情况下,程序会记录到 stderr,如果终端支持着色,
颜色用于标记错误和警告。 可以禁用日志着色设置
环境变量 AV_LOG_FORCE_NOCOLOR or 无颜色, 或者可以强制设置
环境变量 AV_LOG_FORCE_COLOR. 环境变量的使用 无颜色
已弃用,并将在以下 FFmpeg 版本中删除。

-报告
将完整的命令行和控制台输出转储到名为
"程序-YYYYMMDD-HHMMSS.log" 在当前目录中。 此文件可用于
错误报告。 它还意味着“-loglevel 详细”。

设置环境变量 报告 任何值都具有相同的效果。 如果
value 是一个以 ':' 分隔的 key=value 序列,这些选项会影响报告;
如果选项值包含特殊字符或选项,则必须对其进行转义
分隔符“:”(请参阅​​ ffmpeg-utils 手册中的“引用和转义”部分)。

识别以下选项:

文件
设置用于报告的文件名; %p 扩展为
程序,%t 被扩展为时间戳,“%%”被扩展为普通的“%”

水平
使用数值设置日志详细级别(请参阅“-loglevel”)。

例如,要将报告输出到名为 文件日志 使用 32 的日志级别
(日志级别“信息”的别名):

FFREPORT=file=ffreport.log:level=32 ffmpeg -i 输入输出

解析环境变量的错误不是致命的,不会出现在
报告。

-隐藏横幅
禁止打印横幅。

所有 FFmpeg 工具通常都会显示版权声明、构建选项和库
版本。 此选项可用于禁止打印此信息。

-CPU标志 标志 (全球化)
允许设置和清除 CPU 标志。 此选项用于测试。 不使用
除非你知道自己在做什么。

ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...

此选项的可能标志是:

x86
MMX
毫米xext
上证
sse2
sse2慢
sse3
sse3慢
SSSE3
原子
sse4.1
sse4.2
AVX
AVX2
op
FMA3
FMA4
3dnow
3d无文本
BMI1
BMI2
移动
ARM
ARMV5TE
ARMv6
ARMv6t2
虚拟机
vfpv3

结束
AAArch64
ARMv8
虚拟机

PowerPC的
阿尔蒂克
具体 加工厂
奔腾2
奔腾3
奔腾4
k6
k62
速龙
Athlonxp
k8
-opencl_bench
此选项用于对所有可用的 OpenCL 设备进行基准测试并打印结果。
此选项仅在使用“--enable-opencl”编译 FFmpeg 时可用。

当 FFmpeg 配置了“--enable-opencl”时,全局 OpenCL 的选项
上下文是通过设置 -opencl_选项. 请参阅 ffmpeg- 中的“OpenCL 选项”部分
有关受支持选项的完整列表,请参阅 utils 手册。 除其他外,这些选项
包括选择特定平台和设备来运行 OpenCL 代码的能力
在。 默认情况下,FFmpeg 将在第一个平台的第一个设备上运行。 虽然
全局 OpenCL 上下文的选项为用户提供了选择
他们选择的 OpenCL 设备,大多数用户可能希望选择最快的
用于他们系统的 OpenCL 设备。

此选项通过识别来帮助选择最有效的配置
适合用户系统的设备。 内置基准测试运行在所有
OpenCL 设备和性能是针对每个设备进行测量的。 中的设备
结果列表根据列出的最快设备的性能进行排序
第一的。 用户可以随后调用 ffmpeg的 使用最常用的设备
适当通过 -opencl_选项 以获得 OpenCL 的最佳性能
加速代码。

使用最快的 OpenCL 设备的典型用法包括以下步骤。

运行命令:

ffmpeg-opencl_bench

记下平台 ID (PIDX) 和设备 ID (迪克斯) 的第一个即最快的设备
在列表中。 使用以下命令选择平台和设备:

ffmpeg -opencl_options platform_idx= :device_idx= ...

-opencl_选项 选项 (全球化)
设置 OpenCL 环境选项。 此选项仅在 FFmpeg 已启用时可用
用“--enable-opencl”编译。

选项 必须是一个列表 =折扣值 以“:”分隔的选项对。 请参阅“OpenCL
ffmpeg-utils 手册中的“选项”部分以获取支持的选项列表。

AV选项
这些选项由 libavformat、libavdevice 和 libavcodec 直接提供
图书馆。 要查看可用 AVOptions 的列表,请使用 -救命 选项。 他们是
分为两类:

通用
可以为任何容器、编解码器或设备设置这些选项。 通用选项是
列在容器/设备的 AVFormatContext 选项和 AVCodecContext 下
编解码器的选项。

私立
这些选项特定于给定的容器、设备或编解码器。 私人选项
列在其相应的容器/设备/编解码器下。

例如,要将 ID3v2.3 标头而不是默认 ID3v2.4 写入 MP3 文件,请使用
id3v2_版本 MP3 多路复用器的私有选项:

ffmpeg -i 输入.flac -id3v2_version 3 输出.mp3

所有编解码器 AVOptions 都是每个流,因此流说明符应该附加到
他们。

注意: -无选项 语法不能用于布尔 AVOptions,请使用 -选项 0/-选项 1.

注意:通过在 v/a/s 前加上 v/a/s 来指定每个流 AVOptions 的旧方法
选项名称现已过时,很快将被删除。

主要 选项
-x 宽度
强制显示宽度。

-y 高度
强制显示高度。

-s 尺寸
设置不包含标题的视频所需的帧大小(WxH 或缩写)
与原始 YUV 一样的帧大小。 此选项已被弃用,取而代之的是私人
选项,尝试 -video_size。

-fs 以全屏模式启动。

-一个 禁用音频。

-vn 禁用视频。

-sn 禁用字幕。

-SS 邮寄
寻求 邮寄. 请注意,在大多数格式中,无法精确查找,因此 ffplay
将寻找最近的寻找点 邮寄.

邮寄 必须是持续时间规范,请参阅 时间 为期 部分 in
ffmpeg 实用程序(1) 手册.

-t 为期
播放 为期 秒的音频/视频。

为期 必须是持续时间规范,请参阅 时间 为期 部分 in
ffmpeg 实用程序(1) 手册.

-字节
按字节查找。

-nodisp
禁用图形显示。

-f fmt
强制格式。

-窗口标题 标题
设置窗口标题(默认为输入文件名)。

-环
循环播放影片次。 0 表示永远。

-显示模式 模式
设置要使用的显示模式。 可用值 模式 是:

0, 电影
显示影片

1, 波浪
显示音频波

2, 文件
使用 RDFT((逆)实离散傅立叶变换)显示音频频带

默认值为“video”,如果视频不存在或无法播放“rdft”是
自动选择。

您可以通过按 键以交互方式循环显示可用的显示模式 w.

-vf 过滤图
创建由指定的过滤器图 过滤图 并用它来过滤视频流。

过滤图 是要应用于流的过滤器图的描述,并且必须具有
单个视频输入和单个视频输出。 在过滤器图中,输入是
与标签“in”相关联,输出与标签“out”相关联。 见ffmpeg-
过滤器手册以获取有关 filtergraph 语法的更多信息。

您可以多次指定此参数并循环指定
按 键显示过滤器图形和显示模式 w.

-af 过滤图
过滤图 是对应用于输入音频的过滤器图的描述。 使用
选项“-filters”显示所有可用的过滤器(包括源和接收器)。

-i 输入文件
阅读 输入文件.

高级 选项
-pix_fmt 格式
设置像素格式。 此选项已被弃用,取而代之的是私人选项,请尝试
-像素格式。

-统计
打印多个播放统计信息,特别是显示流持续时间、编解码器
参数,流中的当前位置和音频/视频同步
漂移。 默认情况下它是打开的,要明确禁用它,您需要指定“-nostats”。

-快速
不符合规范的优化。

-genpts
生成点。

-同步 类型
将主时钟设置为音频(“type=audio”)、视频(“type=video”)或外部
(“类型=分机”)。 默认为音频。 主时钟用于控制音视频
同步。 大多数媒体播放器使用音频作为主时钟,但在某些情况下
(流媒体或高质量广播)有必要改变这一点。 这个选项是
主要用于调试目的。

-ast 音频流说明符
使用给定的流说明符选择所需的音频流。 流
说明符在 资讯 章节。 如果没有这个选项
指定,在已选择的节目中选择“最佳”音频流
视频流。

-vst 视频流说明符
使用给定的流说明符选择所需的视频流。 流
说明符在 资讯 章节。 如果没有这个选项
指定,选择“最佳”视频流。

-海温 字幕流说明符
使用给定的流说明符选择所需的字幕流。 流
说明符在 资讯 章节。 如果没有这个选项
指定,“最佳”字幕流在已播放的节目中选择
选定的视频或音频流。

-自动退出
视频播放完毕退出。

-exitonkeydown
按任意键退出。

-exitonmousedown
如果按下任何鼠标按钮,则退出。

- 编解码器:媒体说明符 编解码器名称
为由 媒体说明符,
它可以假设值“a”(音频)、“v”(视频)和“s”字幕。

-编解码器 编解码器名称
强制使用特定的音频解码器。

-v编解码器 编解码器名称
强制使用特定的视频解码器。

-编解码器 编解码器名称
强制使用特定的字幕解码器。

-自动旋转
根据文件元数据自动旋转视频。 默认启用,使用
-不自动旋转 禁用它。

-掉帧
如果视频不同步,则丢弃视频帧。 如果主时钟为默认启用
未设置为视频。 使用此选项为所有主时钟启用丢帧
来源,使用 -noframedrop 禁用它。

-infbuf
不限制输入缓冲区大小,从输入中读取尽可能多的数据
尽快。 默认情况下为实时流启用,其中数据可能会被丢弃
如果没有及时阅读。 使用此选项为所有输入启用无限缓冲区,使用
-noinfbuf 禁用它。

播放
q, ESC
放弃。

f 切换全屏。

p, 最高人民法院
暂停。

a 循环当前节目中的音频通道。

v 循环视频频道。

t 在当前节目中循环字幕频道。

c 循环程序。

w 循环视频过滤器或显示模式。

s 进入下一帧。

如果流尚未暂停,则暂停,进入下一个视频帧,然后暂停。

左右
向后/向前搜索 10 秒。

向下/向上
向后/向前搜索 1 分钟。

向下/页 up
寻找上一章/下一章。 或者如果没有章节 向后/向前搜索
10分钟。

老鼠 点击
寻找与宽度分数相对应的文件中的百分比。

句法


本节记录了 FFmpeg 库和工具使用的语法和格式。

引用 逃逸
除非明确指定,FFmpeg 采用以下引用和转义机制。
应用以下规则:

· '\ 是特殊字符(分别用于引用和转义)。 在
除了它们之外,可能还有其他特殊字符,具体取决于具体
使用转义和引用的语法。

· 特殊字符通过在它前面加上前缀来转义 \.

· 中间包含的所有字符 '' 字面上包含在解析的字符串中。 这
引号字符 ' 本身不能被引用,因此您可能需要关闭引用并
逃避它。

· 前导和尾随空格,除非被转义或引用,从
解析的字符串。

请注意,在使用命令行或
脚本,这取决于所采用的 shell 语言的语法。

函数“av_get_token”定义在 libavutil/avstring.h 可用于解析令牌
根据上面定义的规则引用或转义。

工具 工具/ ffescape 在 FFmpeg 源代码树中可用于自动引用或
转义脚本中的字符串。

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

· 转义包含“'”特殊字符的字符串“Crime d'Amour”:

爱情犯罪

· 上面的字符串包含引号,所以在引用它时需要将“'”转义:

'Crime d'\''Amour'

· 使用引用包括前导或尾随空格:

' 这个字符串以空格开始和结束 '

· 转义和引用可以混用:

' 字符串 '\'string\'' 是一个字符串 '

· 包含文字 \ 您可以使用转义或引用:

'c:\foo' 可以写成 c:\\foo

日期
接受的语法是:

[(YYYY-MM-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z]
现在

如果值为“now”,则表示当前时间。

时间是本地时间,除非附加了 Z,在这种情况下,它被解释为 UTC。 如果
年月日部分未指定它需要当前的年月日。

时间 为期
有两种可接受的语法来表示持续时间。

[-][ :] : [. ...]

HH 表示小时数, MM 最多 2 位数的分钟数,以及
SS 最多 2 位数字的秒数。 这 m 最后表示十进制
的价值 SS.

or

[-] +[. ...]

S 表示秒数,可选小数部分 m.

在这两个表达式中,可选 - 表示负持续时间。

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

以下示例均为有效时长:

55 55秒

12:03:45
12小时03分45秒

23.189
23.189秒

视频 尺寸
指定源视频的大小,可以是形式的字符串 宽度x高度,或
尺寸缩写的名称。

以下缩写被认可:

国家安全委员会
720x480

朋友 720x576

昆特斯克
352x240

奇帕尔
352x288

国家标准委员会
640x480

SPAL
768x576

电影
352x240

ntsc-电影
352x240

sqcif
128x96

质量控制中心
176x144

CIF 352x288

4CIF
704x576

16CIF
1408x1152

QQ视频
160x120

视频
320x240

VGA 640x480

SVGA
800x600

XGA 1024x768

乌加
1600x1200

QQ空间
2048x1536

sxga
1280x1024

知乎
2560x2048

超音速
5120x4096

瓦加
852x480

华夏
1366x768

华夏
1600x1024

武士加
1920x1200

沃克斯加
2560x1600

王者荣耀
3200x2048

曲子加
3840x2400

华夏
6400x4096

胡克斯加
7680x4800

CGA 320x200

EGA 640x350

hd480
852x480

hd720
1280x720

hd1080
1920x1080

2k 2048x1080

2k平
1998x1080

2k示波器
2048x858

4k 4096x2160

4k平
3996x2160

4k示波器
4096x1716

h 640x360

高维加
240x160

哇咔咔
400x240

花花公子
432x240

高加
480x320

QHD 960x540

2kdci
2048x1080

4kdci
4096x2160

超高清2160
3840x2160

超高清4320
7680x4320

视频
指定视频的帧速率,表示为每秒生成的帧数。
它必须是格式中的字符串 帧速率编号/帧速率_den,一个整数,一个
浮点数或有效的视频帧率缩写。

以下缩写被认可:

国家安全委员会
30000/1001

朋友 25/1

昆特斯克
30000/1001

奇帕尔
25/1

国家标准委员会
30000/1001

SPAL
25/1

电影
24/1

ntsc-电影
24000/1001

长宽比
比率可以表示为表达式,或形式为 分子:分母.

请注意,无限 (1/0) 或负值的比率被认为是有效的,因此您应该
如果要排除这些值,请检查返回的值。

未定义的值可以使用“0:0”字符串来表示。

颜色
它可以是如下定义的颜色名称(不区分大小写匹配)或
“[0x|#]RRGGBB[AA]”序列,可能后跟@和代表alpha的字符串
组件。

alpha 分量可以是由“0x”后跟一个十六进制数组成的字符串或
一个介于 0.0 和 1.0 之间的十进制数,表示不透明度值 (0x00 or 0.0
意味着完全透明, 0xff or 1.0 完全不透明)。 如果 alpha 分量是
未指定然后 0xff 假设。

字符串 随机 将导致随机颜色。

识别以下颜色名称:

爱丽丝蓝
0xF0F8FF

古董白
0xFAEBD7

Aqua
0x00FFFF

海蓝宝石
0x7FFFD4

Azure
0xF0FFFF

米色
0xF5F5DC

浓汤
0xFFE4C4

黑色
0x000000

杏仁白
0xFFEBCD

蓝色
0x0000FF

紫罗兰色
0x8A2BE2

棕色
0xA52A2A

原木色
0xDEB887

少年蓝
0x5F9EA0

黄绿色
0x7FFF00

巧克力
0xD2691E

珊瑚色
0xFF7F50

矢车菊蓝
0x6495ED

玉米丝
0xFFF8DC

Crimson软件
0xDC143C

青色
0x00FFFF

深蓝
0x00008B

深青色
0x008B8B

暗金魔杖
0xB8860B

深灰色
0xA9A9A9

深绿
0x006400

深卡其色
0xBDB76B

深洋红色
0x8B008B

深橄榄绿
0x556B2F

深橙色
0xFF8C00

黑暗兰花
0x9932CC

深红
0x8B0000

黑暗鲑鱼
0xE9967A

深海绿色
0x8FBC8F

DarkSlateBlue
0x483D8B

深青灰
0x2F4F4F

深绿松石
0x00CED1

深紫
0x9400D3

深粉
0xFF1493

深天蓝
0x00BFFF

暗灰色
0x696969

宝蓝
0x1E90FF

耐火砖
0xB22222

花白色
0xFFFAF0

森林绿
0x228B22

紫红色
0xFF00FF

盖恩斯伯勒
0xDCDCC

幽灵白
0xF8F8FF

黄金
0xFFD700

金罗德
0xDAA520

灰色
0x808080

绿色
0x008000

黄绿色
0xADFF2F

甘露
0xF0FFF0

亮粉色
0xFF69B4

印度红
0xCD5C5C

靛青
0x4B0082

象牙
0xFFFFF0

黄褐色
0xF0E68C

薰衣草
0xE6E6FA

薰衣草腮红
0xFFF0F5

草绿
0x7CFC00

柠檬雪纺
0xFFFACD

浅蓝
0xADD8E6

光珊瑚
0XF08080

浅青色
0xE0FFFF

浅金色杆黄色
0xFAFAD2

浅绿
0x90EE90

浅灰色
0xD3D3D3

浅粉红
0xFFB6C1

鲑鱼
0xFFA07A

浅海绿色
0x20B2AA

天蓝色
0x87CEFA

浅灰色
0x778899

浅钢蓝
0xB0C4DE

浅黄色
0xFFFFE0

青柠
0x00FF00

暗绿
0x32CD32

亚麻布
0xFAF0E6

品红
0xFF00FF

栗色
0x800000

草绿
0x66CDAA

中蓝
0x0000CD

中兰花
0xBA55D3

暗紫
0x9370D8

暗海藻
0x3CB371

中板岩蓝
0x7B68EE

中春绿色
0x00FA9A

中绿松石
0x48D1CC

中紫红色
0xC71585

黑蓝
0x191970

薄荷奶油
0xF5FFFA

迷雾玫瑰
0xFFE4E1

莫卡辛
0xFFE4B5

纳瓦霍怀特
0xFF死

蓝色
0x000080

老花边
0xFDF5E6

橄榄色
0x808000

淡绿褐
0x6B8E23

橘色
0xFFA500

橙红色
0xFF4500

兰花
0xDA70D6

苍白的金杆
0xEEE8AA

淡绿
0x98FB98

浅青绿色
0xAFEEEE

浅紫红色
0xD87093

木瓜鞭
0xFFEFD5

粉桃红
0xFFDAB9

秘鲁
0xCD853F

粉红色
0xFFC0CB


0xDDA0DD

粉蓝色
0xB0E0E6

紫色
0x800080

红色 0xFF0000

玫瑰褐
0xBC8F8F

宝蓝色
0x4169E1

SaddleBrown
0x8B4513

三文鱼色
0xFA8072

蒂布朗
0xF4A460

海绿色
0x2E8B57

贝壳
0xFFF5EE


0xA0522D

白银
0xC0C0C0

天蓝色
0x87CEEB

板岩蓝
0x6A5ACD

青灰
0x708090


0xFFFAFA

春天绿色
0x00FF7F

钢青
0x4682B4

黄褐色 0xD2B48C

蒂尔
0x008080


0xD8BFD8

番茄
0xFF6347

湖绿色
0x40E0D0

紫色
0xEE82EE

小麦
0xF5DEB3

白色
0xFFFFFF

白色的烟
0xF5F5F5

黄色
0xFFFF00

黄绿色
0x9ACD32

渠道 布局
通道布局指定多通道中通道的空间布置
音频流。 为了指定通道布局,FFmpeg 使用了一种特殊的语法。

各个频道由 id 标识,如下表所示:

FL 左前

FR 右前方

FC 前中

LFE 低频

BL 向后左

BR 右后

FLC 前中左

FRC 中右前方

BC 后中锋

SL 左侧

SR 右侧

TC 最高中心

TFL 左前上方

TFC 顶部前中心

TFR 右上角

TBL 左上后

TBC 上背中心

TBR 右上后

DL 左缩混

DR 右下混

WL 左宽

WR 宽右

SDL 环绕直接左

特别提款权 直接环绕右侧

低音炮2
低频2

可以使用以下标识符指定标准通道布局组合:


FC

立体声
飞行+飞行

2.1 FL+FR+LFE

3.0 FL+FR+FC

3.0(返回)
FL+FR+BC

4.0 FL+FR+FC+BC


FL+FR+BL+BR

四边形(边)
FL+FR+SL+SR

3.1 FL+FR+FC+LFE

5.0 FL+FR+FC+BL+BR

5.0(侧面)
FL+FR+FC+SL+SR

4.1 FL+FR+FC+LFE+BC

5.1 FL+FR+FC+LFE+BL+BR

5.1(侧面)
FL+FR+FC+LFE+SL+SR

6.0 FL+FR+FC+BC+SL+SR

6.0(前)
FL+FR+FLC+FRC+SL+SR

六角
FL+FR+FC+BL+BR+BC

6.1 FL+FR+FC+LFE+BC+SL+SR

6.1 FL+FR+FC+LFE+BL+BR+BC

6.1(前)
FL+FR+LFE+FLC+FRC+SL+SR

7.0 FL+FR+FC+BL+BR+SL+SR

7.0(前)
FL+FR+FC+FLC+FRC+SL+SR

7.1 FL+FR+FC+LFE+BL+BR+SL+SR

7.1(宽)
FL+FR+FC+LFE+BL+BR+FLC+FRC

7.1(宽边)
FL+FR+FC+LFE+FLC+FRC+SL+SR

八边形
FL+FR+FC+BL+BR+BC+SL+SR

缩混
DL+DR

自定义通道布局可以指定为一系列术语,以“+”或“|”分隔。
每个术语可以是:

· 标准通道布局的名称(例如 , 立体声, 4.0, , 5.0等)

· 单个频道的名称(例如 FL, FR, FC, LFE等)

· 多个通道,十进制,可选后跟'c',产生默认值
该通道数的通道布局(请参阅功能
"av_get_default_channel_layout")

· 一个通道布局掩码,以“0x”开头的十六进制(参见“AV_CH_*”宏
libavutil/channel_layout.h.

从 libavutil 版本 53 开始,尾随字符“c”指定一些
将需要通道,而通道布局掩码也可以指定为
十进制数(当且仅当后面没有跟“c”)。

另请参阅中定义的函数“av_get_channel_layout” libavutil/channel_layout.h.

表达 评估


在计算算术表达式时,FFmpeg 使用内部公式计算器,
通过实施 libavutil/eval.h 界面。

表达式可能包含一元、二元运算符、常量和函数。

两种表达 表达式1表达式2 可以组合成另一种表达方式“表达式1;表达式2".
表达式1表达式2 依次求值,新表达式求值为
表达式2.

可以使用以下二元运算符:“+”、“-”、“*”、“/”、“^”。

可以使用以下一元运算符:“+”、“-”。

可以使用以下功能:

绝对(x)
计算绝对值 x.

acos (x)
计算反余弦 x.

asin (x)
计算的反正弦 x.

阿坦 (x)
计算反正切 x.

之间(x, 分钟, 最大限度)
返回 1 如果 x 大于或等于 分钟 并且小于或等于 最大, 0
除此以外。

位元(x, y)
位元(x, y)
按位计算和/或运算 xy.

评估结果 xy 在执行之前被转换为整数
按位运算。

请注意,转换为整数和转换回浮点数都可以
失去精度。 当心大数(通常是 2^53 和
更大)。

细胞(表达式)
四舍五入表达式的值 表达式 向上到最接近的整数。 例如,
“细胞(1.5)”是“2.0”。

剪辑(x, 分钟, 最大限度)
返回值 x 夹在中间 分钟最大.

COS(x)的
计算余弦 x.

成本(x)
计算双曲余弦 x.

方程(x, y)
返回 1 如果 xy 是等价的,否则为 0。

经验 (x)
计算指数 x (以“e”为底,欧拉数)。

地板(expr)
四舍五入表达式的值 表达式 向下到最接近的整数。 例如,
“地板(-1.5)”是“-2.0”。

高斯(x)
计算高斯函数 x, 对应于“exp(-x*x/2) / sqrt(2*PI)”。

最大公约数(x, y)
返回的最大公约数 xy。 如果两者都 xy 是 0 或一个或两个
小于零,则行为未定义。

GT(X, y)
返回 1 如果 x 大于 y, 0 否则。

gte(x, y)
返回 1 如果 x 大于或等于 y, 0 否则。

假设(x, y)
这个函数类似于同名的C函数; 它返回“sqrt(x*x +
y*y)",边长为直角三角形的斜边的长度 xy,
或点的距离(x, y) 从起源。

如果(x, y)
评估 x, 如果结果非零,则返回对 y,
否则返回 0。

如果(x, y, z)
评估 x, 如果结果非零,则返回的评估结果 y, 除此以外
的评价结果 z.

如果不是(x, y)
评估 x,如果结果为零,则返回对 y, 返回
0 否则。

如果不是(x, y, z)
评估 x,如果结果为零,则返回的评估结果 y,否则
的评价结果 z.

isinf(x)
返回 1.0 如果 x 为 +/-INFINITY,否则为 0.0。

伊斯南(x)
返回 1.0 如果 x 是 NAN,否则为 0.0。

ld(变量)
用数字加载内部变量的值 VAR, 之前存储的
与 st(VAR, 表达式)。 该函数返回加载的值。

日志(X)
计算自然对数 x.

其(x, y)
返回 1 如果 x 小于 y, 0 否则。

LTE(X, y)
返回 1 如果 x 小于或等于 y, 0 否则。

最大(x, y)
返回之间的最大值 xy.

分钟(x, y)
返回之间的最大值 xy.

模(x, y)
计算除法的余数 x by y.

不是(表达式)
返回 1.0 如果 表达式 为零,否则为 0.0。

战俘(x, y)
计算功率 x 提高的 y,它等价于“(x)^(y)。“

打印(吨)
打印(吨, l)
打印表达式的值 t 与日志级别 l。 如果 l 未指定则为默认值
使用日志级别。 返回打印的表达式的值。

用日志级别 l 打印 t

随机(x)
返回一个介于 0.0 和 1.0 之间的伪随机值。 x 是内部索引
将用于保存种子/状态的变量。

根(表达式, 最大限度)
找到一个输入值,其函数表示为 表达式 有论据 ld(0) is
0 在区间 0..最大.

中的表达式 表达式 必须表示连续函数,否则结果未定义。

ld(0) 用于表示函数输入值,即给定的
表达式将使用各种输入值进行多次评估
表达式可以通过 ld(0). 当表达式计算为 0 时
将返回相应的输入值。

的sin(x)
计算正弦 x.

出生(x)
计算双曲正弦 x.

平方根(表达式)
计算平方根 表达式. 这相当于“(表达式)^.5"。

挤压(x)
计算表达式“1/(1 + exp(4*x))”。

圣(变种, 表达式)
存储表达式的值 表达式 在内部变量中。 VAR 指定
存储值的变量编号,取值范围为 0 到
9. 函数返回存储在内部变量中的值。 注意,变量
目前不在表达式之间共享。

棕褐色(x)的
计算正切 x.

可疑(x)
计算的双曲正切 x.

泰勒(表达式, x)
泰勒(表达式, x, ID)
计算泰勒级数 x, 给定一个表示“ld(id)”的表达式
函数在 0 处的导数。

当级数不收敛时,结果是不确定的。

编号(编号) 用于表示导数阶 表达式,这意味着给定的
表达式将使用各种输入值进行多次评估
表达式可以通过“ld(id)”访问。 如果 id 未指定则假定为 0。

请注意,当您在 y 而不是 0 处有导数时,“taylor(expr, xy)”可以是
用过的。

(0)
以秒为单位返回当前(挂钟)时间。

截断(表达式)
四舍五入表达式的值 表达式 向零到最接近的整数。 例如,
“trunc(-1.5​​.1.0)”是“-XNUMX”。

同时(条件, 表达式)
评估表达 表达式 而表达式 COND 非零,并返回值
最后的 表达式 评估,或 NAN 如果 COND 一直是假的。

以下常量可用:

PI 单位圆盘的面积,大约 3.14

E EXP(1)(欧拉数),约2.718

PHI 黄金比例 (1+开方(5))/2,约 1.618

假设如果表达式具有非零值,则该表达式被认为是“真”,请注意:

"*" 的作用类似于 AND

"+" 的作用类似于 OR

例如构造:

如果 (A AND B) 那么 C

等效于:

如果(A*B,C)

在您的 C 代码中,您可以扩展一元和二元函数的列表,并定义
已识别的常量,以便它们可用于您的表达式。

评估器还识别国际系统单位前缀。 如果附加了“i”
在前缀之后,使用二进制前缀,它基于 1024 的幂而不是
1000 的幂。“B”后缀将值乘以 8,并且可以附加在 a 之后
单位前缀或单独使用。 这允许使用例如“KB”、“MiB”、“G”和“B”作为
号码后缀。

可用的国际系统前缀列表如下,并指示
10 和 2 的相应幂。

y 10^-24 / 2^-80

z 10^-21 / 2^-70

a 10^-18 / 2^-60

f 10^-15 / 2^-50

p 10^-12 / 2^-40

n 10^-9 / 2^-30

u 10^-6 / 2^-20

m 10^-3 / 2^-10

c 10 ^ -2

d 10 ^ -1

h ^ 10 2

k 10^3 / 2^10

K 10^3 / 2^10

M 10^6 / 2^20

G 10^9 / 2^30

T 10^12 / 2^40

P 10^15 / 2^40

E 10^18 / 2^50

Z 10^21 / 2^60

Y 10^24 / 2^70

开放式 配置


当 FFmpeg 配置了“--enable-opencl”时,可以设置选项
全局 OpenCL 上下文。

支持的选项列表如下:

构建选项
设置用于编译注册内核的构建选项。

请参阅参考“OpenCL 规范版本:1.2 章节 5.6.4”。

平台idx
选择平台的索引来运行 OpenCL 代码。

指定的索引必须是设备列表中的索引之一,该索引可以是
使用“ffmpeg -opencl_bench”或“av_opencl_get_device_list()”获得。

设备idx
选择用于运行 OpenCL 代码的设备的索引。

指定的索引必须是设备列表中的索引之一,该索引可以是
使用“ffmpeg -opencl_bench”或“av_opencl_get_device_list()”获得。

CODEC 配置


libavcodec 提供了一些通用的全局选项,可以在所有编码器和
解码器。 此外,每个编解码器可能支持所谓的私有选项,这是特定的
对于给定的编解码器。

有时,全局选项可能只影响特定类型的编解码器,并且可能是
无意义或被另一个人忽略,因此您需要了解指定的含义
选项。 还有一些选项仅用于解码或编码。

可以通过指定来设置选项 -选项 折扣值 在 FFmpeg 工具中,或通过设置
值在“AVCodecContext”选项中显式或使用 libavutil/opt.h API 用于
程序化使用。

支持的选项列表如下:

b 整数 (编码、音频、视频)
以比特/秒为单位设置比特率。 默认值为 200K。

ab 整数 (编码,音频)
设置音频比特率(以比特/秒为单位)。 默认值为 128K。

bt 整数 (编码,视频)
设置视频比特率容差(以比特/秒为单位)。 在 1-pass 模式下,比特率容限指定
ratecontrol 愿意偏离目标平均比特率值多远。 这个
与最小/最大比特率无关。 过度降低容忍度会产生不利影响
在质量上。

标志 标志 (解码/编码、音频、视频、字幕)
设置通用标志。

可能的值:

mv4 按宏块 (mpeg4) 使用四个运动矢量。

格佩尔
使用 1/4 像素运动补偿。

循环
使用环路滤波器。

量表
使用固定的 qscale。

GMC 使用 gmc。

mv0 总是尝试 mv=<0,0> 的 mb。

输入_保留
pass1
在第一遍模式下使用内部 2pass 速率控制。

pass2
在第二遍模式下使用内部 2pass 速率控制。

灰色
仅解码/编码灰度。

鸸鹋边缘
不要画边缘。

压力信噪比
在编码期间设置 error[?] 变量。

被截断
纳克 标准化自适应量化。

异地恋
使用隔行 DCT。

低延迟
强制低延迟。

全局标题
将全局标题放置在 extradata 中,而不是每个关键帧中。

精确
只编写平台、构建和时间无关的数据。 (除了(I)DCT)。 这个
确保文件和数据校验和可重现并在平台之间匹配。
它的主要用途是回归测试。

ic 应用 H263 高级帧内编码/mpeg4 ac 预测。

CBP 已弃用,请改用 mpegvideo 私有选项。

奎普德
已弃用,请改用 mpegvideo 私有选项。

伊尔梅
应用隔行运动估计。

棉花糖
使用封闭式 gop。

我方法 整数 (编码,视频)
设置运动估计方法。

可能的值:


零运动估计(最快)


全运动估计(最慢)

epz
EPZS 运动估计(默认)

欧空局 esa 运动估计(完整的别名)

TESA
德莎运动估计

dia 运动估计(epzs 的别名)

日志 对数运动估计

磷虾
phods 运动估计

x1 X1 运动估计

十六进制 十六进制运动估计

嗯运动估计

ITER
迭代运动估计

额外数据大小 整数
设置额外数据大小。

时基 合理的
设置编解码器时基。

它是帧时间戳的基本时间单位(以秒为单位)
代表。 对于固定 fps 内容,时基应为“1 / frame_rate”和时间戳
增量应相同为 1。

g 整数 (编码,视频)
设置图片大小组。 默认值为 12。

ar 整数 (解码/编码,音频)
设置音频采样率(以赫兹为单位)。

ac 整数 (解码/编码,音频)
设置音频通道数。

截止 整数 (编码,音频)
设置截止带宽。

帧大小 整数 (编码,音频)
设置音频帧大小。

除了最后一个提交的帧,每个提交的帧都必须包含精确的 frame_size 样本
渠道。 当编解码器设置了 CODEC_CAP_VARIABLE_FRAME_SIZE 时可能为 0,在这种情况下
帧大小不受限制。 它由一些解码器设置以指示常量
框架大小。

帧数 整数
设置帧数。

延迟 整数
量子计算 浮动 (编码,视频)
设置视频量化器比例压缩 (VBR)。 它用作常量
速率控制方程。 默认 rc_eq 的推荐范围:0.0-1.0。

模糊 浮动 (编码,视频)
设置视频量化标度模糊 (VBR)。

分钟 整数 (编码,视频)
设置最小视频量化标度 (VBR)。 必须包含在 -1 到 69 之间,默认值
是2。

最大 整数 (编码,视频)
设置最大视频量化比例 (VBR)。 必须包含在 -1 到 1024 之间,默认值
值是31。

差异 整数 (编码,视频)
设置量化器标度 (VBR) 之间的最大差异。

bf 整数 (编码,视频)
设置非 B 帧之间的最大 B 帧数。

必须是 -1 到 16 之间的整数。0 表示禁用 B 帧。 如果一个值
使用 -1 时,它将根据编码器选择一个自动值。

默认值为 0。

b_q因子 浮动 (编码,视频)
在 P 和 B 帧之间设置 qp 因子。

rc_策略 整数 (编码,视频)
设置速率控制方法。

b_策略 整数 (编码,视频)
设置策略以在 I/P/B 帧之间进行选择。

ps 整数 (编码,视频)
以字节为单位设置 RTP 负载大小。

mv_位 整数
标头位 整数
i_tex_位 整数
p_tex_位 整数
我算 整数
p_count 整数
跳过计数 整数
杂项位 整数
帧位 整数
编解码器标签 整数
错误 标志 (解码,视频)
解决方法不是自动检测到编码器错误。

可能的值:

自动检测
旧_msmpeg4
一些旧的 lavc 生成的 msmpeg4v3 文件(没有自动检测)

xvid_ilace
Xvid 交错错误(如果fourcc==XVIX 则自动检测)

ump4
(如果fourcc==UMP4 自动检测)

无填充
填充错误(自动检测)

AMV
交流VLC
非法的 vlc 错误(按fourcc 自动检测)

qpel_色度
标准像素
旧标准 qpel(按fourcc/版本自动检测)

qpel_chroma2
直接块大小
direct-qpel-blocksize 错误(按fourcc/版本自动检测)

边缘
边缘填充错误(每个fourcc/版本自动检测)

hpel_色度
直流剪辑
ms 解决微软损坏的解码器中的各种错误。

截断
截取的帧

雷林 整数 (编码,视频)
设置亮度的单系数消除阈值(负值也
考虑 DC 系数)。

西林 整数 (编码,视频)
为色度设置单系数消除阈值(负值也
考虑直流系数)

严格 整数 (解码/编码,音频,视频)
指定遵守标准的严格程度。

可能的值:

非常
严格遵守规范或参考软件的较旧的更严格版本

严格
无论后果如何,都严格遵守规范中的所有内容

正常
非官方
允许非官方扩展

试验
允许非标准化的实验性事物,实验性的(未完成的/工作在
进展/未经充分测试)解码器和编码器。 注意:实验解码器可以
造成安全风险,请勿使用它来解码不受信任的输入。

b_qoffset 浮动 (编码,视频)
设置 P 和 B 帧之间的 QP 偏移。

错误检测 标志 (解码、音频、视频)
设置错误检测标志。

可能的值:

校验
验证嵌入的 CRC

比特流
检测比特流规范偏差

缓冲
检测不正确的比特流长度

爆炸
检测到小错误时中止解码

忽略错误
忽略解码错误,继续解码。 如果你想,这很有用
分析视频的内容,因此希望所有内容都被解码
什么。 此选项不会产生令人愉悦的视频,以防万一
错误。

小心
考虑违反规范并且在野外没有被视为错误的事情

兼容
将所有不符合规范的行为视为错误

侵略性
考虑一个健全的编码器不应该做的错误

有_b_帧 整数
块对齐 整数
mpeg_quant 整数 (编码,视频)
使用 MPEG 量化器而不是 H.263。

快点 浮动 (编码,视频)
如何将量化器保持在 qmin 和 qmax 之间(0 = 剪辑,1 = 使用可微分
功能)。

rc_qmod_amp 浮动 (编码,视频)
设置实验量化器调制。

rc_qmod_freq 整数 (编码,视频)
设置实验量化器调制。

rc_override_count 整数
rc_eq 绳子 (编码,视频)
设置速率控制方程。 计算表达式时,除了标准
在“表达式评估”部分中定义的函数,以下函数是
可用:bits2qp(bits)、qp2bits(qp)。 还可以使用以下常量:
iTex pTex tex mv fCode iCount mcVar var ISI isP isB avgQP qComp avgIITex avgPITex
avgPPTex avgBPTex avgTex。

最大速率 整数 (编码、音频、视频)
设置最大比特率容差(以比特/秒为单位)。 需要设置 bufsize。

分钟率 整数 (编码、音频、视频)
设置最小比特率容差(以比特/秒为单位)。 在设置 CBR 编码时最有用。 这是
否则用处不大。

缓冲区大小 整数 (编码、音频、视频)
设置速率控制缓冲区大小(以位为单位)。

rc_buf_aggressivity 浮动 (编码,视频)
目前没用。

i_q 因子 浮动 (编码,视频)
在 P 和 I 帧之间设置 QP 因子。

i_qoffset 浮动 (编码,视频)
设置 P 和 I 帧之间的 QP 偏移。

rc_init_cplx 浮动 (编码,视频)
设置 1-pass 编码的初始复杂度。

DCT 整数 (编码,视频)
设置 DCT 算法。

可能的值:

汽车
自动选择一个好的(默认)

快点
快速整数

INT 精确整数

MMX
阿尔蒂克

浮点 AAN DCT

亮度遮罩 浮动 (编码,视频)
压缩明亮区域比中等区域强。

tcplx_掩码 浮动 (编码,视频)
设置时间复杂度屏蔽。

scplx_掩码 浮动 (编码,视频)
设置空间复杂度掩蔽。

p_mask 浮动 (编码,视频)
设置间掩蔽。

暗面具 浮动 (编码,视频)
压缩暗区比中等强。

数据中心 整数 (解码/编码,视频)
选择 IDCT 实施。

可能的值:

汽车
INT
简单
简单的mmx
简单自动
自动选择与简单 IDCT 兼容的 IDCT


阿尔蒂克
sh4
单臂
简单的armv5te
简单的armv6
简单的霓虹灯
简单阿尔法
IPP
视频
法尼
浮点 AAN IDCT

切片计数 整数
ec 标志 (解码,视频)
设置错误隐藏策略。

可能的值:

猜测_mvs
迭代运动矢量 (MV) 搜索(慢)

解封
对损坏的 MB 使用强大的去块过滤器

赞成_inter
倾向于从前一帧而不是当前帧进行预测

每个编码样本位数 整数
预计值 整数 (编码,视频)
设置预测方法。

可能的值:


平面
中位数
方面 合理的 (编码,视频)
设置样本纵横比。

调试 标志 (解码/编码、音频、视频、字幕)
打印特定的调试信息。

可能的值:

PICT
图片信息

rc 速率控制

比特流
mb_类型
宏块 (MB) 类型

qp 每块量化参数 (QP)

mv 运动矢量

DCT_系数
绿色元数据
显示即将到来的帧、GoP 或给定持续时间的复杂性元数据。

跳过
起始码

er 错误识别

毫米波
内存管理控制操作 (H.264)

虫子
vis_qp
可视化量化参数 (QP),较低的 QP 颜色更绿

vis_mb_type
可视化块类型

缓冲区
图片缓冲区分配

线程操作
线程操作

诺姆克
跳跃运动补偿

可视化 整数 (解码,视频)
可视化运动向量 (MV)。

此选项已弃用,请参阅 codecview 过滤器。

可能的值:

pf P帧的前向预测MV

bf B帧的前向预测MV

bb B帧的后向预测MV

CMP 整数 (编码,视频)
设置完整的像素比较功能。

可能的值:

伤心 绝对差之和,快速(默认)

上证 误差平方和

饱和度
绝对哈达玛变换差之和

DCT 绝对 DCT 变换差之和

压力信噪比
量化误差平方和(避免,低质量)

块所需的位数

rd 速率失真最优,慢


0

VSAD
绝对垂直差之和

VSSE
平方垂直差之和

安全
噪声保留平方差和

w53 5/3 小波,仅用于雪地

w97 9/7 小波,仅用于雪地

最大电流
浓度
子文件 整数 (编码,视频)
设置子像素比较功能。

可能的值:

伤心 绝对差之和,快速(默认)

上证 误差平方和

饱和度
绝对哈达玛变换差之和

DCT 绝对 DCT 变换差之和

压力信噪比
量化误差平方和(避免,低质量)

块所需的位数

rd 速率失真最优,慢


0

VSAD
绝对垂直差之和

VSSE
平方垂直差之和

安全
噪声保留平方差和

w53 5/3 小波,仅用于雪地

w97 9/7 小波,仅用于雪地

最大电流
浓度
主控板 整数 (编码,视频)
设置宏块比较功能。

可能的值:

伤心 绝对差之和,快速(默认)

上证 误差平方和

饱和度
绝对哈达玛变换差之和

DCT 绝对 DCT 变换差之和

压力信噪比
量化误差平方和(避免,低质量)

块所需的位数

rd 速率失真最优,慢


0

VSAD
绝对垂直差之和

VSSE
平方垂直差之和

安全
噪声保留平方差和

w53 5/3 小波,仅用于雪地

w97 9/7 小波,仅用于雪地

最大电流
浓度
抗癌药 整数 (编码,视频)
设置隔行 dct 比较功能。

可能的值:

伤心 绝对差之和,快速(默认)

上证 误差平方和

饱和度
绝对哈达玛变换差之和

DCT 绝对 DCT 变换差之和

压力信噪比
量化误差平方和(避免,低质量)

块所需的位数

rd 速率失真最优,慢


0

VSAD
绝对垂直差之和

VSSE
平方垂直差之和

安全
噪声保留平方差和

w53 5/3 小波,仅用于雪地

w97 9/7 小波,仅用于雪地

最大电流
浓度
直径大小 整数 (编码,视频)
为运动估计设置菱形类型和大小。

上次预测 整数 (编码,视频)
设置前一帧的运动预测器数量。

早产 整数 (编码,视频)
设置预运动估计。

预压缩 整数 (编码,视频)
设置预运动估计比较功能。

可能的值:

伤心 绝对差之和,快速(默认)

上证 误差平方和

饱和度
绝对哈达玛变换差之和

DCT 绝对 DCT 变换差之和

压力信噪比
量化误差平方和(避免,低质量)

块所需的位数

rd 速率失真最优,慢


0

VSAD
绝对垂直差之和

VSSE
平方垂直差之和

安全
噪声保留平方差和

w53 5/3 小波,仅用于雪地

w97 9/7 小波,仅用于雪地

最大电流
浓度
预直径尺寸 整数 (编码,视频)
为运动估计预通过设置菱形类型和大小。

子q 整数 (编码,视频)
设置子像素运动估计质量。

dtg_active_format 整数
我的范围 整数 (编码,视频)
设置限制运动矢量范围(DivX 播放器为 1023)。

伊比亚斯 整数 (编码,视频)
设置内部量化偏差。

偏压 整数 (编码,视频)
设置跨量化偏差。

颜色表ID 整数
全球质量 整数 (编码、音频、视频)
编码器 整数 (编码,视频)
可能的值:

VLC 可变长度编码器/霍夫曼编码器

ac 算术编码器

原始(无编码)

RLE 游程编码器

放气
基于 deflate 的编码器

上下文 整数 (编码,视频)
设置上下文模型。

切片标志 整数
xvmc_加速 整数
MBD 整数 (编码,视频)
设置宏块决策算法(高质量模式)。

可能的值:

简单
使用 mbcmp(默认)


使用最少的位

rd 使用最佳率失真

流编解码器标签 整数
sc_阈值 整数 (编码,视频)
设置场景变化阈值。

最小 整数 (编码,视频)
设置最小拉格朗日系数 (VBR)。

LMAX 整数 (编码,视频)
设置最大拉格朗日系数 (VBR)。

nr 整数 (编码,视频)
设置降噪。

rc_init_占用 整数 (编码,视频)
设置在解码开始之前应加载到 rc 缓冲区的位数。

flags2 标志 (解码/编码,音频,视频)
可能的值:

来迅速
允许不符合规范的加速技巧。

斯戈普
已弃用,请改用 mpegvideo 私有选项。

没有
跳过比特流编码。

忽略作物
忽略来自 sps 的裁剪信息。

本地头
在每个关键帧而不是在额外数据中放置全局标题。


帧数据可能被分成多个块。

显示所有
显示第一个关键帧之前的所有帧。

跳过
已弃用,请改用 mpegvideo 私有选项。

导出MV
将运动矢量导出到帧边数据(参见“AV_FRAME_DATA_MOTION_VECTORS”)
对于支持它的编解码器。 也可以看看 文档/示例/export_mvs.c.

错误 整数 (编码,视频)
ns 整数 (编码,视频)
已弃用,请改用 mpegvideo 私有选项。

线程 整数 (解码/编码,视频)
可能的值:

汽车
检测大量线程

我的阈值 整数 (编码,视频)
设置运动估计阈值。

mb_阈值 整数 (编码,视频)
设置宏块阈值。

dc 整数 (编码,视频)
设置intra_dc_precision。

纽扣 整数 (编码,视频)
设置 nsse 权重。

跳过_顶部 整数 (解码,视频)
在顶部设置跳过的宏块行数。

跳过底部 整数 (解码,视频)
在底部设置跳过的宏块行数。

轮廓 整数 (编码、音频、视频)
可能的值:

不明
aac_main
aac_low
aac_ssr
aac_ltp
aac_he
aac_he_v2
aac_ld
ac_eld
mpeg2_aac_low
mpeg2_aac_he
mpeg4_sp
mpeg4_核心
mpeg4_main
mpeg4_asp
DTS
dts_es
dts_96_24
dts_hd_hra
dts_hd_ma
水平 整数 (编码、音频、视频)
可能的值:

不明
低分辨率 整数 (解码、音频、视频)
以 1= 1/2、2=1/4、3=1/8 分辨率解码。

跳过阈值 整数 (编码,视频)
设置跳帧阈值。

跳过因子 整数 (编码,视频)
设置跳帧因子。

跳过_exp 整数 (编码,视频)
设置跳帧指数。 负值的行为与相应的相同
积极的,除了分数被归一化。 正值主要存在
出于兼容性原因,并没有那么有用。

跳过cmp 整数 (编码,视频)
设置跳帧比较功能。

可能的值:

伤心 绝对差之和,快速(默认)

上证 误差平方和

饱和度
绝对哈达玛变换差之和

DCT 绝对 DCT 变换差之和

压力信噪比
量化误差平方和(避免,低质量)

块所需的位数

rd 速率失真最优,慢


0

VSAD
绝对垂直差之和

VSSE
平方垂直差之和

安全
噪声保留平方差和

w53 5/3 小波,仅用于雪地

w97 9/7 小波,仅用于雪地

最大电流
浓度
边界掩码 浮动 (编码,视频)
增加靠近边界的宏块的量化器。

明细 整数 (编码,视频)
设置最小宏块滞后因子 (VBR)。

最大 整数 (编码,视频)
设置最大宏块滞后因子 (VBR)。

机电 整数 (编码,视频)
设置运动估计比特率惩罚补偿 (1.0 = 256)。

跳过循环过滤器 整数 (解码,视频)
跳过_idct 整数 (解码,视频)
跳过帧 整数 (解码,视频)
根据选项选择的帧类型进行解码器丢弃处理
计算值。

跳过循环过滤器 跳过帧循环过滤, 跳过_idct 跳帧
IDCT/去量化, 跳过帧 跳过解码。

可能的值:

没有
不丢弃任何帧。

默认
丢弃无用的帧,如 0 大小的帧。

参考
丢弃所有非参考帧。

比迪尔
丢弃所有双向帧。

诺基
丢弃除关键帧之外的所有帧。

所有 丢弃所有帧。

默认值为 默认.

bidir_refine 整数 (编码,视频)
优化双向宏块中使用的两个运动矢量。

brd_scale 整数 (编码,视频)
用于动态 B 帧决策的缩减帧。

keyint_min 整数 (编码,视频)
设置 IDR 帧之间的最小间隔。

裁判 整数 (编码,视频)
设置参考帧以考虑进行运动补偿。

色差 整数 (编码,视频)
从亮度设置色度 qp 偏移。

网格 整数 (编码、音频、视频)
设置率失真最佳量化。

sc_因子 整数 (编码,视频)
设置值乘以每帧的 qscale 并添加到scene_change_score。

mv0_阈值 整数 (编码,视频)
b_敏感性 整数 (编码,视频)
调整 b_frame_strategy 1 的灵敏度。

压缩级别 整数 (编码、音频、视频)
最小预测顺序 整数 (编码,音频)
最大预测顺序 整数 (编码,音频)
时间码_帧_开始 整数 (编码,视频)
以非丢帧格式设置 GOP 时间码帧起始编号。

请求频道 整数 (解码,音频)
设置所需的音频通道数。

每个原始样本位数 整数
频道布局 整数 (解码/编码,音频)
可能的值:

请求频道布局 整数 (解码,音频)
可能的值:

rc_max_vbv_use 浮动 (编码,视频)
rc_min_vbv_use 浮动 (编码,视频)
每帧刻度数 整数 (解码/编码,音频,视频)
原色 整数 (解码/编码,视频)
颜色_trc 整数 (解码/编码,视频)
色彩空间 整数 (解码/编码,视频)
颜色范围 整数 (解码/编码,视频)
如果用作输入参数,则作为对解码器的提示,其中 color_range
输入有。

色度样本位置 整数 (解码/编码,视频)
日志级别偏移量 整数
设置日志级别偏移量。

整数 (编码,视频)
切片数,用于并行化编码。

线程类型 标志 (解码/编码,视频)
选择要使用的多线程方法。

用于 框架 会将每个线程的解码延迟增加一帧,因此客户端
不能提供未来的框架不应该使用它。

可能的值:


一次解码一帧的多个部分。

使用切片的多线程仅在视频使用切片编码时才有效。

框架
一次解码不止一帧。

默认值为 切片+帧.

音频服务类型 整数 (编码,音频)
设置音频服务类型。

可能的值:

ma 主要音频服务

ef 效果

vi 视障人士

hi 听力障碍

di 对话

co 评论

em 紧急灾难

vo 旁白

ka KTV

请求样本_fmt 样本_fmt (解码,音频)
设置样本格式音频解码器应该更喜欢。 默认值为“无”。

pkt_时基 合理的
子字符 编码 (解码、字幕)
设置输入字幕字符编码。

字段顺序 字段顺序 (电影)
设置/覆盖视频的场顺序。 可能的值:

进步
渐进式视频

tt 隔行视频,顶部场编码并首先显示

bb 隔行视频,底场编码并首先显示

tb 隔行视频,顶部编码,底部先显示

bt 隔行视频,底部先编码,顶部先显示

跳过_阿尔法 整数 (解码,视频)
设置为 1 以禁用处理 alpha(透明度)。 这就像 灰色 标志在
标志 跳过色度信息而不是 alpha 的选项。 默认值为 0。

编解码器白名单 名单 (输入)
"," 分隔的允许解码器列表。 默认情况下,所有都是允许的。

转储分隔符 绳子 (输入)
用于分隔命令行上打印的关于 Stream 的字段的分隔符
参数。 例如用换行符和缩进分隔字段:

ffprobe -dump_separator "
“ -一世 〜/视频/matrixbench_mpeg2.mpg

解码器


解码器是 FFmpeg 中的配置元素,允许对多媒体流进行解码。

当您配置 FFmpeg 构建时,所有支持的本机解码器都由
默认。 需要外部库的解码器必须通过
相应的“--enable-lib”选项。 您可以使用以下命令列出所有可用的解码器
配置选项“--list-decoders”。

您可以使用配置选项“--disable-decoders”禁用所有解码器和
使用选项“--enable-decoder=”有选择地启用/禁用单个解码器解码器” /
“--禁用解码器=解码器”.

ff* 工具的选项“-decoders”将显示启用的解码器列表。

视频中心 解码器


一些当前可用的视频解码器的描述如下。

HEVC
HEVC / H.265 解码器。

注意: 跳过循环过滤器 选项仅在“全部”级别有效。

原始视频
原始视频解码器。

该解码器对原始视频流进行解码。

附加选项

最佳 顶部字段第一
指定输入视频的假定字段类型。

-1 假定视频是渐进式的(默认)

0 假设底场优先

1 假设为顶场优先

AUDIO 解码器


一些当前可用的音频解码器的描述如下。

ac3
AC-3 音频解码器。

该解码器实现了 ATSC A/52:2010 和 ETSI TS 102 366 的一部分,以及
未记录的 RealAudio 3(又名 dnet)。

AC-3 解码功能 附加选项

-drc_scale 折扣值
动态范围比例因子。 应用于 AC-3 动态范围值的系数
溪流。 该因子以指数方式应用。 有3个值得注意的比例因子
范围:

drc_比例尺 == 0
DRC 禁用。 产生全频音频。

0 < drc_比例尺 <= 1
启用 DRC。 应用流 DRC 值的一小部分。 音频再现是
在全范围和全压缩之间。

drc_比例尺 > 1
启用 DRC。 不对称地应用 drc_scale。 响亮的声音被完全压缩。
柔和的声音得到增强。

后手
FLAC 音频解码器。

该解码器旨在实现 Xiph 的完整 FLAC 规范。

FLAC 解码功能 选项

-use_buggy_lpc
lavc FLAC 编码器用于产生具有高 lpc 值的错误流(如
默认值)。 此选项可以通过以下方式正确解码此类流
使用 lavc 的旧错误 lpc 逻辑进行解码。

ffwave合成器
内部波形合成器。

该解码器根据预定义的序列生成波形。 它的用途纯粹是
内部及其接受的数据格式未公开记录。

自由意志
libcelt 解码器包装器。

libcelt 允许 libavcodec 解码 Xiph CELT 超低延迟音频编解码器。 需要
配置过程中 libcelt 头文件和库的存在。 你需要
使用“--enable-libcelt”显式配置构建。


libgsm 解码器包装器。

libgsm 允许 libavcodec 解码 GSM 全速率音频编解码器。 需要存在
配置期间的 libgsm 头文件和库。 您需要显式配置
使用“--enable-libgsm”构建。

此解码器支持普通 GSM 和 Microsoft 变体。


libilbc 解码器包装器。

libilbc 允许 libavcodec 解码 Internet 低比特率编解码器 (iLBC) 音频编解码器。
需要在配置期间存在 libilbc 头文件和库。 你需要
使用“--enable-libilbc”显式配置构建。

附加选项

libilbc 包装器支持以下选项。

提高
设置为 1 时启用解码音频的增强。默认值为 0
(已禁用)。

libopencore-amrnb
libopencore-amrnb 解码器包装器。

libopencore-amrnb 允许 libavcodec 解码自适应多速率窄带音频
编解码器。 使用它需要在使用期间存在 libopencore-amrnb 头文件和库
配置。 您需要显式配置构建
“--enable-libopencore-amrnb”。

存在用于 AMR-NB 的 FFmpeg 本地解码器,因此用户无需此即可解码 AMR-NB
图书馆。

libopencore-amrwb
libopencore-amrwb 解码器包装器。

libopencore-amrwb 允许 libavcodec 解码自适应多速率宽带音频
编解码器。 使用它需要在使用期间存在 libopencore-amrwb 头文件和库
配置。 您需要显式配置构建
“--启用-libopencore-amrwb”。

存在用于 AMR-WB 的 FFmpeg 本地解码器,因此用户无需此即可解码 AMR-WB
图书馆。

Libopus
libopus 解码器包装器。

libopus 允许 libavcodec 解码 Opus 交互式音频编解码器。 需要
在配置期间存在 libopus 头文件和库。 你需要明确
使用“--enable-libopus”配置构建。

存在用于 Opus 的 FFmpeg 本地解码器,因此用户可以在没有此库的情况下解码 Opus。

字幕 解码器


dvb订阅
附加选项

计算集群
-1 如果流中没有匹配的 CLUT,则计算 clut。

0 从不计算 CLUT

1 始终计算 CLUT 并覆盖流中提供的那个。

dvb_子流
选择 dvb 子流或所有子流(如果为 -1,这是默认值)。

影碟机
该编解码器对 DVD 中使用的位图字幕进行解码; 也可以找到相同的字幕
在 VobSub 文件对和一些 Matroska 文件中。

附加选项

调色板
指定位图使用的全局调色板。 当存储在 VobSub 中时,调色板是
通常在索引文件中指定; 在 Matroska 中,调色板存储在编解码器中
与 VobSub 格式相同的额外数据。 在 DVD 中,调色板存储在 IFO 中
文件,因此在从转储的 VOB 文件中读取时不可用。

此选项的格式是一个包含 16 个 24 位十六进制数的字符串
(没有 0x 前缀)以逗号分隔,例如“0d00ee、ee450d、101010、eaeaea、
0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1, 7b2a0e, 0d950c, 0f007b, cf0dec,
cfa80c、7c127b”。

ifo_调色板
指定从中获取全局调色板的 IFO 文件。 (实验性)

force_subs_only
仅解码标记为强制的字幕条目。 一些标题有强制和非强制
同一曲目中的字幕。 将此标志设置为 1 只会保持强制
字幕。 默认值为 0。

libzvbi-图文电视
Libzvbi 允许 libavcodec 解码 DVB 图文电视页面和 DVB 图文电视字幕。
需要在配置期间存在 libzvbi 头文件和库。 你需要
使用“--enable-libzvbi”显式配置构建。

附加选项

txt_页
要解码的图文电视页码列表。 您可以使用特殊的 * 字符串来匹配所有
页。 与指定列表不匹配的页面将被删除。 默认值为 *。

txt_chop_top
丢弃顶部的图文电视行。 默认值为 1。

txt_格式
指定解码字幕的格式。 图文解码器能够
将图文电视页面解码为位图或简单文本,您应该使用“位图”
图文电视页面,因为某些图形和颜色不能用简单的方式表达
文本。 如果您的应用程序可以处理,您可以将“文本”用于基于图文电视的字幕
简单的基于文本的字幕。 默认值为位图。

左文本
生成的位图的 X 偏移量,默认为 0。

txt_顶部
生成的位图的 Y 偏移量,默认为 0。

txt_chop_spaces
剪切前导和尾随空格并从生成的文本中删除空行。
此选项对于可能存在空格的基于图文电视的字幕很有用
在行的开头或结尾,或者在行之间可能存在空行
由于双倍大小的图文电视字符,字幕行。 默认值为 1。

txt_持续时间
以毫秒为单位设置解码的图文电视页面或字幕的显示持续时间。
默认值为 30000,即 30 秒。

txt_透明
强制生成的图文电视位图的透明背景。 默认值为 0
这意味着不透明(黑色)背景。

比特流 滤波器


当您配置 FFmpeg 构建时,所有支持的比特流过滤器都由
默认。 您可以使用配置选项“--list-bsfs”列出所有可用的。

您可以使用配置选项“--disable-bsfs”禁用所有比特流过滤器,并且
使用选项“--enable-bsf=BSF”有选择地启用任何比特流过滤器,或者您可以
使用选项“--disable-bsf=BSF”禁用特定的比特流过滤器。

ff* 工具的选项“-bsfs”将显示所有支持的比特流列表
过滤器包含在您的构建中。

ff* 工具为每个流应用了一个 -bsf 选项,采用逗号分隔的列表
过滤器,其参数跟随过滤器名称后的“=”。

ffmpeg -i 输入 -c:v 复制 -bsf:v filter1[=opt1=str1/opt2=str2][,filter2] 输出

下面是对当前可用的比特流过滤器的描述,以及它们的
参数,如果有的话。

aac_adtstoasc
将 MPEG-2/4 AAC ADTS 转换为 MPEG-4 音频特定配置比特流过滤器。

此过滤器从 MPEG-4/2 ADTS 标头创建一个 MPEG-4 AudioSpecificConfig 并删除
ADTS 标头。

例如,将 AAC 流从原始 ADTS AAC 容器复制到
FLV 或 MOV/MP4 文件。

排骨
删除数据包末尾的零填充。

转储_额外
将额外数据添加到过滤数据包的开头。

附加参数指定应过滤哪些数据包。 它接受
值:

a 向所有关键数据包添加额外数据,但前提是 本地头 设置在 flags2 编解码器
上下文字段

k 向所有关键数据包添加额外数据

e 向所有数据包添加额外数据

如果未指定,则假定 k.

例如以下 ffmpeg的 命令强制全局标题(从而禁用个人
包头)在由“libx264”编码器生成的 H.264 包中,但更正它们
通过将存储在 extradata 中的标头添加到关键数据包中:

ffmpeg -i 输入 -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts

h264_mp4toannexb
将 H.264 比特流从长度前缀模式转换为起始码前缀模式(如
ITU-T H.264 规范的附件 B 中定义)。

这是某些流格式所必需的,通常是 MPEG-2 传输流格式
(“mpegts”)。

例如,将包含 H.4 流的 MP264 文件重新混合为 mpegts 格式 ffmpeg的,
您可以使用以下命令:

ffmpeg -i INPUT.mp4 -编解码器复制 -bsf:v h264_mp4toannexb OUTPUT.ts

转储
修改比特流以适合 MOV 并可供 Final Cut Pro 解码器使用。 这个
过滤器仅适用于 mpeg2video 编解码器,Final Cut Pro 7 可能不需要
和更新的适当的 -标签:v.

例如,要将 30 MB/秒的 NTSC IMX 重新混合到 MOV:

ffmpeg -i input.mxf -c copy -bsf:v imxdump -tag:v mx3n 输出.mov

mjpeg2jpeg
将 MJPEG/AVI1 数据包转换为完整的 JPEG/JFIF 数据包。

MJPEG 是一种视频编解码器,其中每个视频帧本质上都是一个 JPEG 图像。 这
可以无损失地提取单个帧,例如通过

ffmpeg -i ../some_mjpeg.avi -c:v 复制frames_%d.jpg

不幸的是,这些块是不完整的 JPEG 图像,因为它们缺少 DHT 段
解码所需。 引用自
<http://www.digitalpreservation.gov/formats/fdd/fdd000063.shtml>:

Avery Lee 于 2001 年在 rec.video.desktop 新闻组中写道,“MJPEG,或
至少具有 MJPG Fourcc 的 AVI 中的 MJPEG 被限制为具有固定的 JPEG -- 和
*省略*——霍夫曼表。 JPEG 必须是 YCbCr 色彩空间,必须是 4:2:2,并且
必须使用基本的霍夫曼编码,而不是算术或渐进式编码。 . . . 你确实可以
提取 MJPEG 帧并使用常规 JPEG 解码器对其进行解码,但您必须
将 DHT 段添加到它们之前,否则解码器将不知道如何解压缩
数据。 OpenDML 规范中给出了所需的确切表格。”

此位流过滤器修补从 MJPEG 流中提取的帧的标头
(携带 AVI1 标头 ID 且缺少 DHT 段)以生成完全合格的 JPEG
图像。

ffmpeg -i mjpeg-movie.avi -c:v 复制 -bsf:v mjpeg2jpeg frame_%d.jpg
exiftran -i -9 框架*.jpg
ffmpeg -i frame_%d.jpg -c:v 复制rotated.avi

mjpega_dump_header
移动订阅
mp3_header_解压缩
mpeg4_unpack_bframes
解压缩 DivX 风格的 B 帧。

DivX 样式的打包 B 帧不是有效的 MPEG-4,只是损坏的解决方法
Windows 子系统的视频。 它们使用更多空间,可能会导致轻微的 AV 同步问题,需要
更多的 CPU 解码能力(除非播放器有一些已解码的图片队列来补偿
每个数据包样式的 2,0,2,0 帧)并且如果复制到标准容器中会导致问题
像 mp4 或 mpeg-ps/ts,因为 MPEG-4 解码器可能无法解码它们,因为它们
不是有效的 MPEG-4。

例如,修复包含带有 DivX 样式打包 B 帧的 MPEG-4 流的 AVI 文件
运用 ffmpeg的,您可以使用以下命令:

ffmpeg -i INPUT.avi -codec 复制 -bsf:v mpeg4_unpack_bframes OUTPUT.avi

噪声
在不损坏容器的情况下损坏包的内容。 可用于模糊测试或
测试错误弹性/隐藏。

参数:一个数字字符串,其值与输出字节的频率有关
修改的。 因此,小于或等于 0 的值是被禁止的,并且越低越
频繁的字节将被修改,1 表示每个字节都被修改。

ffmpeg -i 输入 -c 复制 -bsf 噪声 [=1] 输出.mkv

将修改应用于每个字节。

删除_额外

FORMAT 配置


libavformat 库提供了一些通用的全局选项,可以在所有
多路复用器和多路分配器。 此外,每个复用器或解复用器可能支持所谓的私有
选项,这是特定于该组件的。

可以通过指定来设置选项 -选项 折扣值 在 FFmpeg 工具中,或通过设置
值明确在“AVFormatContext”选项或使用 libavutil/opt.h API 用于
程序化使用。

支持的选项列表如下:

航空旗 标志 (输入/输出)
可能的值:

直接
减少缓冲。

探针尺寸 整数 (输入)
以字节为单位设置探测大小,即要分析以获取流的数据的大小
信息。 较高的值将能够检测到更多信息,以防万一
分散到流中,但会增加延迟。 必须是不小于整数
大于 32。默认为 5000000。

包大小 整数 (产量)
设置数据包大小。

标志 标志 (输入/输出)
设置格式标志。

可能的值:

点燃
忽略索引。

快速搜索
启用快速但不准确的搜索某些格式。

绅士
生成 PTS。

无填充
可以精确计算的缺失值不要填写。

没有解析
禁用 AVParsers,这也需要“+nofillin”。

导数
忽略 DTS。

丢弃腐败
丢弃损坏的帧。

排序
尝试通过 DTS 交错输出数据包。

保留边
不要合并边数据。

拉特姆
启用 RTP MP4A-LATM 负载。

无缓冲
减少可选缓冲引入的延迟

精确
只编写平台、构建和时间无关的数据。 这确保文件
并且数据校验和是可重复的并且在平台之间匹配。 它的主要用途
用于回归测试。

寻求任何 整数 (输入)
如果设置为 1,则在支持时允许在 demuxer 级别寻找非关键帧。默认
是0。

分析 整数 (输入)
指定分析多少微秒来探测输入。 更高的值将
启用检测更准确的信息,但会增加延迟。 它默认为
5,000,000 微秒 = 5 秒。

密匙 十六进制 绳子 (输入)
设置解密密钥。

索引内存 整数 (输入)
设置用于时间戳索引的最大内存(每个流)。

缓存大小 整数 (输入)
设置用于缓冲实时帧的最大内存。

调试 标志 (输入/输出)
打印特定的调试信息。

可能的值:

ts
最大延迟 整数 (输入/输出)
以微秒为单位设置最大复用或解复用延迟。

fps探测大小 整数 (输入)
设置用于探测 fps 的帧数。

音频预加载 整数 (产量)
设置音频数据包应提前交错的微秒数。

块持续时间 整数 (产量)
为每个块设置微秒。

块大小 整数 (产量)
为每个块设置大小(以字节为单位)。

错误检测, f_错误_检测 标志 (输入)
设置错误检测标志。 “f_err_detect”已弃用,只能通过
ffmpeg的 工具。

可能的值:

校验
验证嵌入的 CRC。

比特流
检测比特流规范偏差。

缓冲
检测不正确的比特流长度。

爆炸
在检测到小错误时中止解码。

小心
考虑违反规范并且尚未在野外看到的事物
错误。

兼容
将所有不符合规范的行为视为错误。

侵略性
考虑一个健全的编码器不应该做的错误。

最大交错增量 整数 (产量)
设置交错的最大缓冲持续时间。 持续时间表示为
微秒,默认为 1000000(1 秒)。

为确保所有流正确交错,libavformat 将等待直到它
在实际写入任何数据包之前,每个流至少有一个数据包
输出文件。 当某些流“稀疏”时(即之间存在很大的间隙)
连续的数据包),这会导致过度缓冲。

该字段指定第一个时间戳和第一个时间戳之间的最大差异
muxing 队列中的最后一个数据包,在该数据包之上libavformat 将输出一个数据包
不管它是否已经为所有流排队了一个数据包。

如果设置为 0,libavformat 将继续缓冲数据包,直到它有一个数据包
每个流,无论缓冲的最大时间戳差异如何
包。

使用_wallclock_as_timestamps 整数 (输入)
使用挂钟作为时间戳。

避免_否定_ts 整数 (产量)
可能的值:

使非负数
移动时间戳使它们非负。 另请注意,这仅影响
前导负时间戳,而不是非单调负时间戳。

置零
移动时间戳,使第一个时间戳为 0。

汽车 (默认)
在目标格式需要时启用移位。

禁用
禁用时间戳转换。

启用移位后,所有输出时间戳都会移位相同的量。 声音的,
视频和字幕不同步和相对时间戳差异被保留
与他们在没有转移的情况下的情况相比。

跳过初始字节 整数 (输入)
如果设置为 1,则设置在读取标头和帧之前要跳过的字节数。默认值为
0.

right_ts_overflow 整数 (输入)
如果设置为 1,则更正单个时间戳溢出。默认值为 1。

冲洗数据包 整数 (产量)
在每个数据包之后刷新底层 I/O 流。 默认 1 启用它,并具有
减少延迟的效果; 0 禁用它,可能会稍微提高性能
一些案例。

输出 ts 偏移 抵消 (产量)
设置输出时间偏移。

抵消 必须是持续时间规范,请参阅 时间 为期 部分 in
ffmpeg 实用程序(1) 手册.

偏移量由复用器添加到输出时间戳。

指定一个正偏移量意味着相应的流被延迟
中指定的持续时间 抵消. 默认值为 0(意味着没有偏移量
应用)。

格式白名单 名单 (输入)
"," 分隔的允许分路器列表。 默认情况下,所有都是允许的。

转储分隔符 绳子 (输入)
用于分隔命令行上打印的关于 Stream 的字段的分隔符
参数。 例如用换行符和缩进分隔字段:

ffprobe -dump_separator "
“ -一世 〜/视频/matrixbench_mpeg2.mpg

格式
格式流说明符允许选择一个或多个匹配特定的流
属性。

流说明符的可能形式是:

流索引
将流与此索引匹配。

流类型[:流索引]
流类型 是以下之一:“v”表示视频,“a”表示音频,“s”表示副标题,“d”
用于数据,'t' 用于附件。 如果 流索引 给出,然后它匹配
流数 流索引 这种类型的。 否则,它匹配这个的所有流
类型。

p:程序编号[:流索引]
If 流索引 给出,然后它匹配带有数字的流 流索引 ,在
带有 id 的程序 程序编号. 否则,它匹配程序中的所有流。

#流标识
通过特定于格式的 ID 匹配流。

流说明符的确切语义由
“avformat_match_stream_specifier()”函数在 libavformat/avformat.h
标头。

分路器


解复用器是 FFmpeg 中的配置元素,可以从
特定类型的文件。

当您配置 FFmpeg 构建时,默认情况下会启用所有支持的分路器。
您可以使用配置选项“--list-demuxers”列出所有可用的。

您可以使用配置选项“--disable-demuxers”禁用所有分路器,并且
使用选项“--enable-demuxer=”有选择地启用单个分路器分路器”, 或禁用
它带有选项“--disable-demuxer=分路器”.

ff* 工具的选项“-formats”将显示已启用的分路器列表。

一些当前可用的分路器的描述如下。

aa
可听格式 2、3 和 4 多路分配器。

此解复用器用于解复用 Audible Format 2、3 和 4 (.aa) 文件。

苹果http
Apple HTTP Live Streaming 解复用器。

该解复用器呈现来自所有变体流的所有 AVStream。 id 字段设置为
比特率变体索引号。 通过在 AVStreams 上设置丢弃标志(通过按“a”
或 ffplay 中的“v”),调用者可以决定实际接收哪些变体流。 这
流所属的变体的总比特率在元数据键中可用
名为“variant_bitrate”。

apng
动画便携式网络图形解复用器。

此解复用器用于解复用 APNG 文件。 所有标题,但 PNG 签名,最多(但
不包括)第一个 fcTL 块作为额外数据传输。 然后分割帧
作为两个 fcTL 之间的所有块,或最后一个 fcTL 和 IEND 块之间的所有块。

-ignore_loop 布尔
如果设置,则忽略文件中的循环变量。

-最大帧率 INT
以每秒帧数为单位的最大帧速率(0 表示无限制)。

-默认fps INT
当文件中没有指定时,默认帧率以每秒帧数为单位(0 表示
尽可能快地)。

ASF
高级系统格式解复用器。

此解复用器用于解复用 ASF 文件和 MMS 网络流。

-无重新同步搜索 布尔
不要试图通过寻找某个可选的起始代码来重新同步。

CONCAT
虚拟连接脚本解复用器。

此解复用器从文本文件中读取文件列表和其他指令并将它们解复用
一个接一个,好像他们所有的数据包都混在一起了。

调整文件中的时间戳,以便第一个文件从 0 开始,每个下一个
文件从前一个完成的地方开始。 请注意,它是全局完成的,可能会导致
如果所有流的长度不完全相同,则会出现间隙。

所有文件必须具有相同的流(相同的编解码器、相同的时基等)。

每个文件的持续时间用于调整下一个文件的时间戳:如果
持续时间不正确(因为它是使用比特率计算的,或者因为文件是
截断,例如),它可能会导致伪影。 “持续时间”指令可用于
覆盖存储在每个文件中的持续时间。

句法

该脚本是一个扩展 ASCII 格式的文本文件,每行一个指令。 空行,
前导空格和以“#”开头的行将被忽略。 以下指令是
认可:

“文件 "
要读取的文件的路径; 特殊字符和空格必须用反斜杠转义
或单引号。

所有后续与文件相关的指令都适用于该文件。

"ffconcat 版本 1.0“
确定脚本类型和版本。 它还设置了 安全 如果是,则选择 1
它的默认值-1。

为了让 FFmpeg 自动识别格式,这个指令必须准确出现
在脚本的第一行按原样(没有额外的空间或字节顺序标记)。

“期间 "
文件的持续时间。 这些信息可以从文件中指定; 指定它
如果文件中的信息不可用,这里可能更有效或有帮助
或准确。

如果为所有文件设置了持续时间,则可以在整个文件中查找
连接的视频。

"点 时间戳"
在文件点。 当分路器打开文件时,它会立即寻找
指定的时间戳。 搜索已完成,以便所有流都可以成功呈现
在点。

该指令最适用于帧内编解码器,因为对于非帧内编解码器
您通常会在实际入点和解码内容之前获得额外的数据包
也很可能包含入点之前的帧。

对于每个文件,文件入点之前的数据包的时间戳将小于
计算出的文件开始时间戳(第一个文件为负),以及
文件的持续时间(如果“持续时间”指令未指定)将减少
基于他们指定的入点。

由于指定入点之前的潜在数据包,数据包时间戳可能
两个连接文件之间的重叠。

“点 时间戳"
文件的出点。 当分路器到达指定的解码时间戳时
任何流,它将其作为文件结束条件处理并跳过当前
以及来自所有流的所有剩余数据包。

出点是独占的,这意味着分路器不会输出带有
解码时间戳大于或等于出点。

该指令最适用于所有流都在的帧内编解码器和格式
紧密交错。 对于非帧内编解码器,您通常会获得额外的
在 Out 点之后具有显示时间戳的数据包因此解码的内容将
最有可能在出点之后也包含帧。 如果您的数据流不紧密
交错,您可能无法在出点之前从所有流中获得所有数据包,并且您
可能只能解码最早的流,直到出点。

文件的持续时间(如果“持续时间”指令未指定)将是
根据他们指定的出点减少。

"file_packet_metadata 键=值"
文件包的元数据。 将为每个文件设置指定的元数据
包。 您可以多次指定此指令以添加多个元数据
条目。

“流”
在虚拟文件中引入一个流。 所有后续与流相关的指令
适用于最后引入的流。 必须设置某些流属性才能
允许识别子文件中的匹配流。 如果没有定义流
脚本,来自第一个文件的流被复制。

"exact_stream_id id"
设置流的id。 如果给出此指令,则带有
将使用子文件中的相应 id。 这对 MPEG-PS 特别有用
(VOB) 文件,其中流的顺序不可靠。

附加选项

此多路分配器接受以下选项:

安全
如果设置为 1,则拒绝不安全的文件路径。 如果文件路径不安全,则该文件路径被认为是安全的
包含协议规范并且是相对的,所有组件仅包含
可移植字符集中的字符(字母、数字、句点、下划线和
连字符)并且在组件的开头没有句点。

如果设置为 0,则接受任何文件名。

默认为 -1,如果格式被自动探测,则相当于 1,而 0
除此以外。

自动转换
如果设置为 1,则尝试对数据包数据执行自动转换以使流
可串联。 默认值为 1。

目前,唯一的转换是将 h264_mp4toannexb 比特流过滤器添加到
MP264 格式的 H.4 流。 如果有解决方案,这尤其必要
的变化。

FLV
Adobe Flash 视频格式解复用器。

该解复用器用于解复用 FLV 文件和 RTMP 网络流。

-flv_元数据 布尔
根据 onMetaData 数组内容分配流。


Game Music Emu 库是视频游戏音乐文件模拟器的集合。

看到http://code.google.com/p/game-music-emu/>有关更多信息。

有些文件有多个轨道。 默认情况下,分路器将选择第一首曲目。 这
跟踪索引 选项可用于选择不同的曲目。 轨道索引从 0 开始。
demuxer 将轨道数导出为 轨道 元数据输入。

对于非常大的文件, 最大尺寸 选项可能需要调整。

库维
使用 quvi 项目播放来自 Internet 服务的媒体。

分路器接受一个 格式 请求特定质量的选项。 它默认设置为
世界上最好的.

看到http://quvi.sourceforge.net/>有关更多信息。

FFmpeg 需要使用“--enable-libquvi”构建才能启用此多路分配器。

GIF
动画 GIF 分离器。

它接受以下选项:

最小延迟
以百分之几秒为单位设置帧之间的最小有效延迟。 范围是 0 到
6000。默认值为 2。

最大gif延迟
以百分之一秒为单位设置帧之间的最大有效延迟。 范围是 0 到
65535。默认值为65535(将近十一分钟),允许的最大值
规范。

默认_延迟
以百分之几秒为单位设置帧之间的默认延迟。 范围是 0 到 6000。
默认值为 10。

忽略循环
GIF 文件可以包含循环一定次数(或无限次)的信息。
If 忽略循环 设置为 1,则输入的循环设置将被忽略,并且
不会发生循环。 如果设置为 0,则将发生循环并将循环编号
根据 GIF 的次数。 默认值为 1。

例如,使用叠加过滤器,在另一个视频上放置一个无限循环的 GIF:

ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex 覆盖=最短=1 out.mkv

请注意,在上面的示例中,覆盖过滤器的最短选项用于结束
以最短输入文件的长度输出视频,在这种情况下是 输入.mp4 as
本例中的 GIF 无限循环。

image2
图像文件分离器。

该解复用器从模式指定的图像文件列表中读取。 语法和
模式的含义由选项指定 模式类型.

模式可能包含一个后缀,用于自动确定
文件中包含的图像。

所有图像的大小、像素格式和每个图像的格式必须相同
序列中的文件。

此多路分配器接受以下选项:

帧率
设置视频流的帧率。 默认为 25。

循环
如果设置为 1,则循环输入。 默认值为 0。

模式类型
选择用于解释提供的文件名的模式类型。

模式类型 接受以下值之一。

没有
禁用模式匹配,因此视频将只包含指定的
图片。 如果您不想从创建序列,则应使用此选项
多个图像,您的文件名可能包含特殊模式字符。

序列
选择一个序列模式类型,用于指定索引的文件序列
连续编号。

序列模式可能包含字符串“%d”或“%0”Nd",它指定
每个文件名中代表序列号的字符的位置
与模式相匹配。 如果表格“%d0Nd" 被使用,该字符串表示
每个文件名中的数字是 0 填充的,并且 N 是 0 填充数字的总数
代表数字。 可以在模式中指定文字字符 '%'
带有字符串“%%”。

如果序列模式包含“%d”或“%0Nd", 文件的第一个文件名
模式指定的列表必须包含一个数字,包含在两者之间
起始编号起始编号+起始编号范围-1,以及以下所有数字
必须是连续的。

例如,模式“img-%03d.bmp”将匹配
申请 img-001.bmp, img-002.bmp,..., img-010.bmp, 等等。; 模式
"i%%m%%g-%d.jpg" loading="lazy" 将匹配表单的一系列文件名 我%m%g-1.jpg,
我%m%g-2.jpg,..., 我%m%g-10.jpg等等。

请注意,模式不一定必须包含“%d”或“%0”Nd”,例如
转换单个图像文件 图片.jpeg 您可以使用以下命令:

ffmpeg -i img.jpeg img.png

水珠
选择全局通配符模式类型。

该模式被解释为“glob()”模式。 这仅在以下情况下可选
libavformat 是在 globbing 支持下编译的。

全局序列 (已弃用, be 已删除)
选择混合 glob 通配符/序列模式。

如果您的 libavformat 版本是使用通配支持编译的,并且
提供的模式在“%*?[]{}”中至少包含一个全局元字符,即
前面是未转义的“%”,该模式被解释为“glob()”模式,
否则它被解释为一个序列模式。

所有 glob 特殊字符“%*?[]{}”都必须以“%”为前缀。 为了逃避一个
文字“%”你应该使用“%%”。

例如,模式“foo-%*.jpeg”将匹配所有以
"foo-" 并以 ".jpeg" 结尾,"foo-%?%?%?.jpeg" 将匹配所有
以“foo-”为前缀的文件名,后跟三个字符的序列,以及
以“.jpeg”结尾。

不推荐使用此模式类型以支持 水珠序列.

默认值为 全局序列.

像素格式
设置要读取的图像的像素格式。 如果未指定,像素格式为
从序列中的第一个图像文件猜测。

起始编号
设置要开始读取的图像文件模式匹配的文件的索引。
默认值为 0。

起始编号范围
设置查找第一个图像文件时要检查的索引间隔范围
顺序,从 起始编号. 默认值为 5。

ts_from_file
如果设置为 1,则将帧时间戳设置为图像文件的修改时间。 注意
没有提供时间戳的单调性:图像的顺序与没有这个的顺序相同
选项。 默认值为 0。如果设置为 2,将设置帧时间戳为修改
图像文件的纳秒精度时间。

视频大小
设置要读取的图像的视频大小。 如果未指定,则猜测视频大小
从序列中的第一个图像文件。

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

· 用 ffmpeg的 用于从文件序列中的图像创建视频 img-001.jpeg,
img-002.jpeg, ..., 假设输入帧率为每秒 10 帧:

ffmpeg -framerate 10 -i 'img-%03d.jpeg' out.mkv

· 同上,但从按顺序读取索引为 100 的文件开始:

ffmpeg -framerate 10 -start_number 100 -i 'img-%03d.jpeg' out.mkv

· 读取匹配 "*.png" loading="lazy" glob 模式的图片,即所有以
".png" loading="lazy" 后缀:

ffmpeg -framerate 10 -pattern_type glob -i "*.png" loading="lazy" out.mkv

mov/mp4/3gp/快拍
Quicktime / MP4 解复用器。

此多路分配器接受以下选项:

启用_drefs
启用加载外部曲目,默认情况下禁用。 启用这个可以
理论上在某些用例中会泄漏信息。

使用绝对路径
允许通过绝对路径加载外部轨道,默认情况下禁用。 启用
这会带来安全风险。 仅当已知源为非时才应启用它
恶意的。

mpegts
MPEG-2 传输流解复用器。

此多路分配器接受以下选项:

重新同步大小
设置查找新同步的大小限制。 默认值为 65536。

修复图文电视点
使用从
图文电视流所属的第一个节目的 PCR,不会被丢弃。
默认值为 1,如果您想要图文数据包 PTS 和 DTS,请将此选项设置为 0
价值不变。

ts_数据包大小
输出选项携带原始数据包大小(以字节为单位)。 显示检测到的原始数据包
大小,不能由用户设置。

扫描所有pmts
扫描并组合所有 PMT。 该值是一个整数,值从 -1 到 1(-1 表示
自动设置,1 表示启用,0 表示禁用)。 默认值为 -1。

原始视频
原始视频解复用器。

该多路分配器允许读取原始视频数据。 由于没有标头指定
假定的视频参数,用户必须指定它们以便能够解码
数据正确。

此多路分配器接受以下选项:

帧率
设置输入视频帧率。 默认值为 25。

像素格式
设置输入视频像素格式。 默认值为“yuv420p”。

视频大小
设置输入视频大小。 必须明确指定该值。

例如读取一个 rawvideo 文件 输入.raw ffplay,假设像素格式为
“rgb24”,视频大小为“320x240”,帧速率为每秒 10 张图像,使用
命令:

ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw

b
SBaGen 脚本解复用器。

这个解复用器读取 SBaGen 使用的脚本语言http://uazu.net/sbagen/>至
生成双耳节拍会话。 SBG 脚本如下所示:

-如果
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
离开: -
现在 == 一个
+0:07:00 == 乙
+0:14:00 == 一个
+0:21:00 == 乙
+0:30:00 折扣

SBG 脚本可以混合使用绝对和相对时间戳。 如果脚本仅使用
绝对时间戳(包括脚本开始时间)或仅相对时间戳,则其
布局是固定的,转换很简单。 另一方面,如果脚本
混合两种时间戳,然后 现在 相对时间戳的参考将是
取自读取脚本时的当前时间,以及脚本布局
将根据该参考冻结。 这意味着如果脚本是直接
播放时,实际时间将与声音控制器的绝对时间戳匹配
时钟精度,但如果用户以某种方式暂停播放或搜索,所有时间都将是
相应地转移了。

字幕
JSON 字幕用于http://www.ted.com/>.

TED 不提供字幕的链接,但可以从页面上猜出它们。 这
文件 工具/bookmarklets.html 来自 FFmpeg 源代码树包含要公开的书签
他们。

此多路分配器接受以下选项:

开始时间
设置 TED 演讲的开始时间,以毫秒为单位。 默认值为 15000(15 秒)。 这是
用于将字幕与可下载视频同步,因为它们包含 15s
介绍。

示例:将字幕转换为大多数玩家都能理解的格式:

ffmpeg-i http://www.ted.com/talks/subtitles/id/1/lang/en talk1-zh.srt

元数据


FFmpeg 能够将媒体文件中的元数据转储为简单的 UTF-8 编码的类似 INI 的文本
文件,然后使用元数据复用器/解复用器将其加载回来。

文件格式如下:

1. 一个文件由一个标题和许多元数据标签组成,分为多个部分,每个部分
在自己的线上。

2. 标题是一个 ;FF元数据 字符串,后跟版本号(现在为 1)。

3.元数据标签的形式 键=值

4. 紧跟在全局元数据之后的头部

5. 在全局元数据之后,可能会有包含每个流/每个章节元数据的部分。

6.节以大写的节名(即STREAM或CHAPTER)开头
括号 ([, ]) 并以下一部分或文件结尾结束。

7. 在章节部分的开头可能有一个可选的时基用于
开始/结束值。 它必须是形式 时基=NUM/,其中 NUM 是整数。
如果缺少时基,则假定开始/结束时间以毫秒为单位。

接下来的章节部分必须包含章节开始和结束时间的形式 START =NUM,
结束=NUM,其中 NUM 是一个正整数。

8. 空行和以开头的行 ; or # 被忽略了。

9. 元数据键或值包含特殊字符(=, ;, #, \ 和换行符)必须
用反斜杠转义 \.

10. 注意元数据中的空格(例如 FOO = 酒吧) 被认为是
标签(在上面的例子中,关键是 FOO ,值为
酒吧).

ffmetadata 文件可能如下所示:

;FF元数据1
标题=自行车\\棚
;这是评论
艺术家=FFmpeg 巨魔团队

[章节]
时基=1/1000
开始=0
#章节于 0:01:00 结束
完=60000
标题=章节\#1
[溪流]
标题=多\
线

通过使用 ffmetadata muxer 和 demuxer,可以从输入中提取元数据
文件转换为 ffmetadata 文件,然后将文件转码为输出文件
已编辑的 ffmetadata 文件。

使用以下命令提取 ffmetadata 文件 ffmpeg的 如下:

ffmpeg -i 输入 -f ffmetadata FFMETADATAFILE

从 FFMETADATAFILE 文件重新插入编辑过的元数据信息可以通过以下方式完成:

ffmpeg -i 输入 -i FFMETADATAFILE -map_metadata 1 -codec 复制输出

PROTOCOLS


协议是 FFmpeg 中的配置元素,可以访问需要的资源
具体协议。

当您配置 FFmpeg 构建时,默认情况下会启用所有支持的协议。
您可以使用配置选项“--list-protocols”列出所有可用的。

您可以使用配置选项“--disable-protocols”禁用所有协议,并且
使用选项“--enable-protocol=”有选择地启用协议外交协定”,或者你可以
使用选项“--disable-protocol=”禁用特定协议外交协定".

ff* 工具的选项“-protocols”将显示支持的协议列表。

下面是对当前可用协议的描述。

异步
输入流的异步数据填充包装器。

在后台线程中填充数据,将 I/O 操作与 demux 线程解耦。

异步:
异步:http://host/resource
异步:缓存:http://host/resource

蓝光
阅读蓝光播放列表。

接受的选项是:

角度
蓝光角度


开始章节 (1...N)

播放列表
要读取的播放列表(BDMV/PLAYLIST/?????.mpls)

例子:

从安装到 /mnt/bluray 的 BluRay 读取最长的播放列表:

蓝光:/ mnt/蓝光

从安装到/mnt/bluray的BluRay读取播放列表2的角度4,从第2章开始:

-播放列表 4 -角度 2 -第 2 章蓝光:/mnt/bluray

缓存
输入流的缓存包装器。

将输入流缓存到临时文件。 它为直播带来了寻找能力。

缓存:

CONCAT
物理串联协议。

按顺序从许多资源中读取和查找,就好像它们是一种独特的资源。

此协议接受的 URL 具有以下语法:

连接: | |...|

哪里 网址1, 网址2,..., 网址 是要连接的资源的 url,每一个
可能指定一个不同的协议。

例如读取文件序列 拆分1.mpeg, 拆分2.mpeg, 拆分3.mpeg ffplay
使用命令:

ffplay 连接:split1.mpeg\|split2.mpeg\|split3.mpeg

请注意,您可能需要对字符“|”进行转义这是许多贝壳的特殊之处。

加密
AES 加密流读取协议。

接受的选项是:

根据给定的十六进制表示设置 AES 解密密钥二进制块。

iv 从给定的十六进制设置 AES 解密初始化向量二进制块
表示。

接受的 URL 格式:

加密:
加密+

data
URI 中的内嵌数据。 看http://en.wikipedia.org/wiki/Data_URI_scheme>.

例如,要转换内联给出的 GIF 文件 ffmpeg的:

ffmpeg -i "data:image/gif;base64,R0lGODdhCAAIAMIEAAAAAAAA//8AAP//AP///////////////ywAAAAACAAIAAADF0gEDLojDgdGiJdJqUX02iB4E8Q9jUMkADs=" smiley.png

文件
文件访问协议。

读取或写入文件。

文件 URL 可以采用以下形式:

文件:

哪里 文件名 是要读取的文件的路径。

没有协议前缀的 URL 将被假定为文件 URL。 根据
构建,一个 URL,看起来像一个以驱动器号开头的 Windows 路径
也将被假定为一个文件 URL(在类似 unix 的构建中通常不是这种情况
系统)。

例如从文件中读取 输入.mpeg ffmpeg的 使用命令:

ffmpeg -i 文件:输入.mpeg 输出.mpeg

该协议接受以下选项:

截短
如果设置为 1,则在写入时截断现有文件。值为 0 可防止截断。
默认值为 1。

块大小
设置 I/O 操作最大块大小,以字节为单位。 默认值为“INT_MAX”,即
导致不限制请求的块大小。 将此值设置得相当低
提高用户终止请求的反应时间,这对于慢速文件很有价值
介质。

FTP
FTP(文件传输协议)。

使用 FTP 协议读取或写入远程资源。

需要以下语法。

ftp://[用户[:密码]@]服务器[:端口]/path/to/remote/resource.mpeg

该协议接受以下选项。

超时
设置底层低级别使用的套接字 I/O 操作的超时时间(以微秒为单位)
手术。 默认情况下,它设置为 -1,这意味着未指定超时。

ftp-匿名密码
以匿名用户身份登录时使用的密码。 通常一个电子邮件地址应该是
用过的。

ftp 写入可寻址
在编码期间控制连接的可搜索性。 如果设置为 1,则资源为
应该是可搜索的,如果设置为 0,则假定不可搜索。 默认值
是0。

注意:协议可以作为输出,但建议不要这样做,除非特殊
小心(测试,定制的服务器配置等)。 不同的 FTP 服务器行为
在搜索操作期间以不同的方式。 ff* 工具可能会产生不完整的内容,因为
服务器限制。

地鼠
地鼠协议。


阅读 Apple HTTP Live Streaming 兼容的分段流作为统一的流。 M3U8
描述片段的播放列表可以是远程 HTTP 资源或本地文件,访问
使用标准文件协议。 嵌套协议通过指定“+"
在 hls URI 方案名称之后,其中 是“文件”或“http”。

高位+http://host/path/to/remote/resource.m3u8
hls+文件://路径/to/local/resource.m3u8

不鼓励使用此协议 - hls 分路器应该也能正常工作(如果没有,
请报告问题)并且更完整。 要改用 hls 分离器,只需
使用指向 m3u8 文件的直接 URL。

HTTP
HTTP(超文本传输​​协议)。

该协议接受以下选项:

可搜索的
控制连接的可寻性。 如果设置为 1 资源应该是
可搜索,如果设置为 0 则假定不可搜索,如果设置为 -1 它将尝试
自动检测它是否可搜索。 默认值为 -1。

分块帖子
如果设置为 1,则对帖子使用分块传输编码,默认值为 1。

内容类型
为 POST 消息设置特定的内容类型。


设置自定义 HTTP 标头,可以覆盖内置的默认标头。 该值必须是
对标头进行编码的字符串。

多个请求
如果设置为 1,则使用持久连接,默认为 0。

发布数据
设置自定义 HTTP 发布数据。

用户代理
USER_AGENT
覆盖 User-Agent 标头。 如果未指定,协议将使用字符串
描述 libavformat 构建。 (“拉夫夫/ ”)

超时
设置底层低级别使用的套接字 I/O 操作的超时时间(以微秒为单位)
手术。 默认情况下,它设置为 -1,这意味着未指定超时。

哑剧类型
导出 MIME 类型。

冰冷的 如果设置为 1,则从服务器请求 ICY (SHOUTcast) 元数据。 如果服务器支持
这样,应用程序必须通过读取元数据来检索元数据
icy_metadata_headers冰冷元数据包 选项。 默认值为 1。

icy_metadata_headers
如果服务器支持 ICY 元数据,则它包含特定于 ICY 的 HTTP 回复
标题,由换行符分隔。

冰冷元数据包
如果服务器支持 ICY 元数据,并且 冰冷的 被设置为 1,这包含最后一个非
服务器发送的空元数据包。 应该定期轮询
对中流元数据更新感兴趣的应用程序。

曲奇饼
设置要在以后的请求中发送的 cookie。 每个cookie的格式都是一样的
作为 Set-Cookie HTTP 响应字段的值。 多个cookies可以由
换行符。

抵消
设置初始字节偏移量。

结束偏移量
尝试将请求限制在此偏移量之前的字节。

方法
当用作客户端选项时,它为请求设置 HTTP 方法。

当用作服务器选项时,它会设置预期的 HTTP 方法
客户。 如果预期和接收到的 HTTP 方法与客户端不匹配
将得到一个错误的请求响应。 取消设置时,不检查 HTTP 方法
现在。 这将在未来被自动检测取代。


如果设置为 1,则启用实验性 HTTP 服务器。 使用时可用于发送数据
作为输出选项,或在用作输入时使用 HTTP POST 从客户端读取数据
选项。 如果设置为 2,则启用实验性多客户端 HTTP 服务器。 这还没有
在 ffmpeg.c 或 ffserver.c 中实现,因此不得用作命令行
选项。

# 服务器端(发送):
ffmpeg -i somefile.ogg -c copy -listen 1 -f ogg http:// :

# 客户端(接收):
ffmpeg -i http:// : -c 复制 somefile.ogg

# 客户端也可以用 wget 来完成:
wget http:// : -O somefile.ogg

# 服务器端(接收):
ffmpeg -listen 1 -i http:// : -c 复制 somefile.ogg

# 客户端(发送):
ffmpeg -i somefile.ogg -chunked_post 0 -c 复制 -f ogg http:// :

# 客户端也可以用 wget 来完成:
wget --post-file=somefile.ogg http:// :

HTTP Cookies

除非 cookie 值随请求传入,否则某些 HTTP 请求将被拒绝。 这
曲奇饼 选项允许指定这些 cookie。 至少,每个 cookie 必须
指定一个值以及路径和域。 匹配两个域的 HTTP 请求
并且 path 将自动在 HTTP Cookie 标头字段中包含 cookie 值。
多个 cookie 可以用换行符分隔。

播放指定 cookie 的流所需的语法是:

ffplay -cookies "nlqptid=nltid=tsn; path=/; domain=somedomain.com;" http://somedomain.com/somestream.m3u8

的Icecast
Icecast 协议(流到 Icecast 服务器)

该协议接受以下选项:

冰类型
设置流类型。

冰名称
设置流名称。

冰描述
设置流描述。

冰_网址
设置流网站 URL。

冰公共
设置流是否应该是公开的。 默认值为 0(非公开)。

USER_AGENT
覆盖 User-Agent 标头。 如果未指定形式为“Lavf/ ”
将被使用。

密码
设置 Icecast 挂载点密码。

内容类型
设置流内容类型。 如果它与音频/mpeg 不同,则必须设置它。

遗产_icecast
这将启用对不支持 HTTP PUT 的 Icecast 版本 < 2.4.0 的支持
方法,但 SOURCE 方法。

冰投://[ [: ]@] : /

毫米波
基于 TCP 的 MMS(Microsoft 媒体服务器)协议。

嗯嗯
基于 HTTP 的 MMS(Microsoft 媒体服务器)协议。

所需的语法是:

mmsh:// [: ][/ ][/ ]

md5
MD5 输出协议。

计算要写入的数据的 MD5 哈希值,并在关闭时将其写入
如果没有指定,则指定输出或标准输出。 它可用于测试多路复用器,而无需
写一个实际的文件。

下面是一些例子。

# 将编码后的 AVI 文件的 MD5 哈希写入文件 output.avi.md5。
ffmpeg -i 输入.flv -f avi -y md5:输出.avi.md5

# 将编码后的 AVI 文件的 MD5 哈希写入 stdout。
ffmpeg -i input.flv -f avi -y md5:

请注意,某些格式(通常是 MOV)要求输出协议是可查找的,因此它们
将因 MD5 输出协议而失败。


UNIX 管道访问协议。

从 UNIX 管道读取和写入。

接受的语法是:

管道:[ ]

是与管道的文件描述符对应的数字(例如,0 表示标准输入,1
用于标准输出,2 用于标准错误)。 如果 未指定,默认为标准输出文件
描述符将用于写入,stdin 用于读取。

例如从标准输入读取 ffmpeg的:

猫测试.wav | ffmpeg -i 管道:0
# ...这与...相同
猫测试.wav | ffmpeg -i 管道:

用于写入标准输出 ffmpeg的:

ffmpeg -i test.wav -f avi 管道:1 | 猫 > test.avi
# ...这与...相同
ffmpeg -i test.wav -f avi 管道: | 猫 > test.avi

该协议接受以下选项:

块大小
设置 I/O 操作最大块大小,以字节为单位。 默认值为“INT_MAX”,即
导致不限制请求的块大小。 将此值设置得相当低
提高用户终止请求的反应时间,如果数据是有价值的
传输很慢。

请注意,某些格式(通常为 MOV)要求输出协议可查找,因此
他们将因管道输出协议而失败。

转播时间
实时消息传递协议。

实时消息传递协议 (RTMP) 用于跨网络流式传输多媒体内容
TCP/IP 网络。

所需的语法是:

rtmp://[ : @] [: ][/ ][/ ][/ ]

接受的参数是:

用户名
一个可选的用户名(主要用于发布)。

密码
可选密码(主要用于发布)。

服务器
RTMP 服务器的地址。

端口
要使用的 TCP 端口号(默认为 1935)。

应用 它是要访问的应用程序的名称。 它通常对应于其中的路径
该应用程序安装在 RTMP 服务器上(例如 /一经请求/, /闪光/现场/等)。
您也可以通过“rtmp_app”选项覆盖从 URI 解析的值。

游戏路径
它是参考应用程序播放的资源的路径或名称
指定于 应用, 可能以“mp4:”为前缀。 您可以覆盖从中解析的值
URI 也通过“rtmp_playpath”选项。


充当服务器,侦听传入连接。

超时
等待传入连接的最长时间。 暗示倾听。

此外,以下参数可以通过命令行选项设置(或在代码中通过
“AVOption”):

rtmp_应用程序
要在 RTMP 服务器上连接的应用程序的名称。 此选项覆盖参数
在 URI 中指定。

rtmp_缓冲区
以毫秒为单位设置客户端缓冲时间。 默认值为 3000。

rtmp连接
额外的任意 AMF 连接参数,从字符串解析,例如“B:1
S:authMe O:1 NN:code:1.23 NS:flag:ok O:0"。每个值都有一个前缀
表示类型的字符,B 代表布尔值,N 代表数字,S 代表字符串,O 代表对象,
或 Z 为空,后跟一个冒号。 对于布尔值,数据必须为 0 或 1
分别为 FALSE 或 TRUE。 同样对于对象,数据必须是 0 或 1 才能结束或
分别开始一个对象。 可以通过在子对象中添加前缀来命名子对象中的数据项
输入'N'并在值前指定名称(即“NB:myFlag:1”)。 这个
选项可以多次使用来构建任意 AMF 序列。

rtmp_flashver 文件
用于运行 SWF 播放器的 Flash 插件版本。 默认值为 LNX 9,0,124,2。
(发布时默认为FMLE/3.0(兼容; ))

rtmp_flush_interval
在同一请求中刷新的数据包数(仅限 RTMPT)。 默认值为 10。

rtmp_直播
指定媒体是实时流。 在直播中没有恢复或寻找是
可能的。 默认值为“any”,表示订阅者首先尝试播放
播放路径中指定的直播流。 如果未找到该名称的直播,
它播放录制的流。 其他可能的值是“live”和“recorded”。

rtmp_pageurl
嵌入媒体的网页的 URL。 默认情况下不会发送任何值。

rtmp_播放路径
要播放或发布的流标识符。 此选项覆盖指定的参数
在 URI 中。

rtmp_订阅
要订阅的直播流的名称。 默认情况下不会发送任何值。 它只是
如果指定了选项或 rtmp_live 设置为 live,则发送。

rtmp_swf哈希
解压后的 SWF 文件的 SHA256 哈希值(32 字节)。

rtmp_swf大小
解压后的 SWF 文件的大小,是 SWFVerification 所必需的。

rtmp_swfurl 文件
媒体的 SWF 播放器的 URL。 默认情况下不会发送任何值。

rtmp_swf验证
播放器 swf 文件的 URL,自动计算哈希/大小。

rtmp_tcurl 文件
目标流的 URL。 默认为 proto://host[:port]/app。

例如阅读 ffplay 来自应用程序的名为“sample”的多媒体资源
来自 RTMP 服务器“myserver”的“vod”:

ffplay rtmp://myserver/vod/sample

要发布到受密码保护的服务器,请分别传递播放路径和应用程序名称:

ffmpeg -re -i -f flv -rtmp_playpath some/long/path -rtmp_app long/app/name rtmp://username:password@myserver/

rmp
加密的实时消息传递协议。

加密实时消息传递协议 (RTMPE) 用于流式传输多媒体
标准密码原语中的内容,由 Diffie-Hellman 密钥组成
交换和 HMACSHA256,生成一对 RC4 密钥。

实时传输协议
通过安全 SSL 连接的实时消息传递协议。

实时消息传递协议 (RTMPS) 用于跨媒体传输多媒体内容
加密连接。

提示符
通过 HTTP 隧道传输的实时消息传递协议。

通过 HTTP 隧道传输的实时消息传递协议 (RTMPT) 用于流式传输
HTTP 请求中的多媒体内容以穿越防火墙。

文件
通过 HTTP 隧道传输的加密实时消息传递协议。

通过 HTTP 隧道传输的加密实时消息传递协议 (RTMPTE) 用于
在 HTTP 请求中流式传输多媒体内容以穿越防火墙。

提示音
通过 HTTPS 隧道传输的实时消息传递协议。

通过 HTTPS (RTMPTS) 隧道传输的实时消息传递协议用于流式传输
HTTPS 请求中的多媒体内容以穿越防火墙。

libsmb客户端
libsmbclient 允许操作 CIFS/SMB 网络资源。

需要以下语法。

smb://[[域:]用户[:密码@]]服务器[/share[/path[/file]]]

该协议接受以下选项。

超时
设置底层低层使用的套接字 I/O 操作的超时时间(以毫秒为单位)
手术。 默认情况下,它设置为 -1,这意味着未指定超时。

截短
如果设置为 1,则在写入时截断现有文件。值为 0 可防止截断。
默认值为 1。

工作组
设置用于建立连接的工作组。 默认情况下未指定工作组。

有关更多信息,请参阅:http://www.samba.org/>.

libssh
通过 libssh 的安全文件传输协议

使用 SFTP 协议读取或写入远程资源。

需要以下语法。

sftp://[用户[:密码]@]服务器[:端口]/path/to/remote/resource.mpeg

该协议接受以下选项。

超时
设置底层低级操作使用的套接字 I/O 操作的超时时间。 经过
默认设置为 -1,这意味着未指定超时。

截短
如果设置为 1,则在写入时截断现有文件。值为 0 可防止截断。
默认值为 1。

私钥
指定包含要在授权期间使用的私钥的文件的路径。 经过
默认的 libssh 在 〜/ .ssh / 目录。

示例:播放存储在远程服务器上的文件。

ffplayftp://用户:密码@服务器地址:22/home/user/resource.mpeg

库文件 rtmp, rtmp, rtmps, rtmp, 文件
通过 librtmp 支持的实时消息传递协议及其变体。

需要在配置期间存在 librtmp 头文件和库。 你需要
使用“--enable-librtmp”显式配置构建。 如果启用,这将替换
原生 RTMP 协议。

该协议提供了大多数客户端功能和一些支持所需的服务器功能
RTMP、通过 HTTP 隧道传输的 RTMP (RTMPT)、加密的 RTMP (RTMPE)、基于 SSL/TLS 的 RTMP (RTMPS) 和
这些加密类型的隧道变体(RTMPTE、RTMPTS)。

所需的语法是:

:// [: ][/ ][/ ]

哪里 rtmp_proto文件 是字符串“rtmp”、“rtmpt”、“rtmpe”、“rtmps”、“rtmpte”之一,
对应于每个 RTMP 变体的“rtmpts”,以及 服务器, 端口, 应用游戏路径
与为 RTMP 本机协议指定的含义相同。 选项 包含空间列表-
表单的分离选项 =VAL.

有关更多信息,请参阅 librtmp 手册页 (man 3 librtmp)。

例如,使用实时流式传输文件到 RTMP 服务器 ffmpeg的:

ffmpeg -re -i myfile -f flv rtmp://myserver/live/mystream

使用播放相同的流 ffplay:

ffplay "rtmp://myserver/live/mystream live=1"

RTP
实时传输协议。

RTP URL 所需的语法是:rtp://主机[:端口][?选项=VAL...]

端口 指定要使用的 RTP 端口。

支持以下 URL 选项:

TTL=n
设置 TTL(生存时间)值(仅适用于多播)。

rtcp端口=n
将远程 RTCP 端口设置为 n.

本地端口=n
将本地 RTP 端口设置为 n.

本地rtcpport=n'
将本地 RTCP 端口设置为 n.

包大小=n
将最大数据包大小(以字节为单位)设置为 n.

连接=0|1
在 UDP 套接字上执行“connect()”(如果设置为 1)或不执行(如果设置为 0)。

来源=ip[,ip]
列出允许的源 IP 地址。

块=ip[,ip]
列出不允许(阻止)的源 IP 地址。

write_to_source=0|1
将数据包发送到最新接收到的数据包的源地址(如果设置为 1)或发送到
默认远程地址(如果设置为 0)。

本地端口=n
将本地 RTP 端口设置为 n.

这是一个已弃用的选项。 反而, 本地端口 应该使用。

重要的说明:

1。 如果 端口号 未设置 RTCP 端口将设置为 RTP 端口值加 1。

2。 如果 本地端口 (本地 RTP 端口)未设置任何可用端口将用于
本地 RTP 和 RTCP 端口。

3。 如果 本地端口 (本地 RTCP 端口)未设置将设置为本地 RTP 端口
值加1。

RTSP
实时流协议。

RTSP 在技术上不是 libavformat 中的协议处理程序,它是一个多路复用器和多路复用器。 这
demuxer 支持普通的 RTSP(通过 RTP 传输数据;这被例如使用
Apple 和 Microsoft)和 Real-RTSP(通过 RDT 传输数据)。

多路复用器可用于使用 RTSP ANNOUNCE 将流发送到支持它的服务器
(目前是 Darwin Streaming Server 和 Mischa Spiegelmock 的
<https://github.com/revmischa/rtsp-server>)。

RTSP url 所需的语法是:

rtsp:// [: ]/

选项可以在 ffmpeg的/ffplay 命令行,或通过“AVOption”或在代码中设置
“avformat_open_input”。

支持以下选项。

初始暂停
如果设置为 1,则不要立即开始播放流。默认值为 0。

rtsp_传输
设置 RTSP 传输协议。

它接受以下值:

UDP 使用 UDP 作为较低的传输协议。

TCP 使用 TCP(在 RTSP 控制通道内交错)作为较低的传输
协议。

udp_多播
使用 UDP 多播作为较低的传输协议。

HTTP
使用 HTTP 隧道作为较低的传输协议,这对于传递非常有用
代理。

可以指定多个较低的传输协议,在这种情况下,它们会尝试一个
一次(如果一个设置失败,则尝试下一个)。 对于多路复用器,只有
TCPUDP 支持选项。

rtsp_标志
设置 RTSP 标志。

接受以下值:

过滤源
仅接受来自协商对等地址和端口的数据包。


充当服务器,侦听传入连接。

首选_tcp
如果 TCP 可用作 RTSP RTP 传输,请先尝试使用 TCP 进行 RTP 传输。

默认值为 没有.

允许的媒体类型
设置要从服务器接受的媒体类型。

接受以下标志:

电影
音频
data

默认情况下,它接受所有媒体类型。

最小端口
设置最小本地 UDP 端口。 默认值为 5000。

最大端口
设置最大本地 UDP 端口。 默认值为 65000。

超时
设置最大超时(以秒为单位)以等待传入连接。

值 -1 表示无限(默认)。 该选项意味着 rtsp_标志 设置
.

重新排序队列大小
设置要缓冲的数据包数量以处理重新排序的数据包。

超时
以微秒为单位设置套接字 TCP I/O 超时。

用户代理
覆盖 User-Agent 标头。 如果未指定,则默认为 libavformat
标识符字符串。

当通过 UDP 接收数据时,分路器尝试重新排序接收到的数据包(因为它们
可能会乱序到达,或者数据包可能会完全丢失)。 这可以通过设置禁用
最大解复用延迟为零(通过 AVFormatContext 的“max_delay”字段)。

观看多比特率 Real-RTSP 流时 ffplay,要显示的流可以是
用“-vst”选择 n 和“-ast” n 分别用于视频和音频,并且可以打开
通过按“v”和“a”来飞行。

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

下面的例子都使用了 ffplayffmpeg的 工具。

· 通过 UDP 观看流,最大重新排序延迟为 0.5 秒:

ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4

· 观看通过 HTTP 隧道传输的流:

ffplay -rtsp_transport http rtsp://server/video.mp4

· 实时发送流到 RTSP 服务器,供其他人观看:

ffmpeg -re -i -f rtsp -muxdelay 0.1 rtsp://server/live.sdp

· 实时接收流:

ffmpeg -rtsp_flags 听 -i rtsp://ownaddress/live.sdp

树液
会话公告协议 (RFC 2974)。 这在技术上不是协议处理程序
libavformat,它是一个多路复用器和多路分离器。 它用于 RTP 流的信令,通过
在单独的端口上定期宣布流的 SDP。

多路复用器

提供给多路复用器的 SAP url 的语法是:

树液:// [: ][? ]

RTP 数据包被发送到 目的地 在港口 端口, 如果没有端口,则到端口 5004
指定的。 选项 是一个“&”分隔的列表。 支持以下选项:

公告地址=地址
指定将通知发送到的目标 IP 地址。 如果省略,则
公告发送到常用的SAP公告组播地址
224.2.127.254 (sap.mcast.net) 或 ff0e::2:7ffe 如果 目的地 是一个 IPv6 地址。

公告端口=端口
指定发送通知的端口,如果未指定,则默认为 9875。

TTL=TTL
指定公告和 RTP 数据包的生存时间值,默认为 255。

相同端口=0 | 1
如果设置为 1,则在同一端口对上发送所有 RTP 流。 如果为零(默认值),则所有
流在唯一的端口上发送,每个流在端口 2 上的数字高于
以前的。 VLC/Live555 要求将此设置为 1,以便能够接收流。
libavformat 中用于接收的 RTP 堆栈要求所有流都以唯一的方式发送
端口。

示例命令行如下。

要在本地子网上广播流,以便在 VLC 中观看:

ffmpeg -re -i -f sap sap://224.0.0.255?same_port=1

同样,对于观看 ffplay:

ffmpeg -re -i -f 汁液://224.0.0.255

为了观看 ffplay,通过 IPv6:

ffmpeg -re -i -f sap sap://[ff0e::1:2:3:4]

分路器

提供给分路器的 SAP url 的语法是:

树液://[ ][: ]

地址 是用于侦听公告的多播地址,如果省略,则为默认值
使用 224.2.127.254 (sap.mcast.net)。 端口 是监听的端口,如果是 9875
省略。

分路器侦听给定地址和端口上的公告。 一次
收到通知后,它会尝试接收该特定流。

示例命令行如下。

要回放在正常 SAP 多播地址上宣布的第一个流:

ffplay树液://

要回放在默认 IPv6 SAP 多播地址上宣布的第一个流:

ffplay sap://[ff0e::2:7ffe]

SCTP
流控制传输协议。

接受的 URL 语法是:

scp:// : [? ]

该协议接受以下选项:


如果设置为任何值,则侦听传入连接。 传出连接由
默认。

最大流
设置最大流数。 默认情况下没有设置限制。

回复
安全实时传输协议。

接受的选项是:

srtp_in_suite
srtp_out_suite
选择输入和输出编码套件。

支持的值:

AES_CM_128_HMAC_SHA1_80
SRTP_AES128_CM_HMAC_SHA1_80
AES_CM_128_HMAC_SHA1_32
SRTP_AES128_CM_HMAC_SHA1_32
srtp_in_params
srtp_out_params
设置输入输出编码参数,用base64编码表示
二进制块的表示。 这个二进制块的前 16 个字节用作
主密钥,以下 14 个字节用作主盐。

子文件
虚拟地提取文件或另一个流的一段。 底层流必须是
可寻。

接受的选项:

开始
提取段的起始偏移量,以字节为单位。

结束 提取段的结束偏移量,以字节为单位。

例子:

从 DVD VOB 文件中提取一章(从外部和
乘以 2048):

子文件,,开始,153391104,结束,268142592,,:/media/dvd/VIDEO_TS/VTS_08_1.VOB

直接从 TAR 存档播放 AVI 文件:

子文件,,开始,183241728,结束,366490624,,:archive.tar

TCP
传输控制协议。

TCP url 所需的语法是:

tcp:// : [? ]

选项 包含表单的 & 分隔选项列表 =VAL.

支持的选项列表如下。

听=1 | 0
侦听传入连接。 默认值为 0。

超时=微秒
设置引发错误超时,以微秒表示。

此选项仅与读取模式相关:如果超过此时间没有数据到达
间隔,引发错误。

收听超时=毫秒
设置监听超时,以毫秒为单位。

以下示例显示如何设置侦听 TCP 连接 ffmpeg的,这是
然后访问 ffplay:

ffmpeg -i -F tcp:// : ?听
ffplay tcp:// :

TLS
传输层安全 (TLS) / 安全套接字层 (SSL)

TLS/SSL url 所需的语法是:

网址:// : [? ]

可以通过命令行选项(或通过“AVOption”在代码中)设置以下参数:

ca_file, 咖啡馆=文件名
包含要视为受信任的证书颁发机构 (CA) 根证书的文件。 如果
链接的 TLS 库包含一个默认值,这可能不需要指定
验证工作,但并非所有库和设置都有内置的默认值。
文件必须是 OpenSSL PEM 格式。

tls_验证=1 | 0
如果启用,请尝试验证我们正在与之通信的对等方。 注意,如果使用
OpenSSL,这目前仅确保对等证书由以下之一签署
CA 数据库中的根证书,但它不验证
证书实际上与我们尝试连接的主机名相匹配。 (使用 GnuTLS,
主机名也经过验证。)

默认情况下这是禁用的,因为它需要由 CA 数据库提供
在许多情况下调用者。

证书文件, 证书=文件名
包含在与对等方握手时使用的证书的文件。 (什么时候
作为服务器运行,在侦听模式下,这通常是对等方需要的,而
仅在某些设置中强制要求使用客户端证书。)

密钥文件, 键=文件名
包含证书私钥的文件。

听=1 | 0
如果启用,在提供的端口上侦听连接,并承担服务器角色
握手而不是客户端角色。

示例命令行:

创建一个为输入流提供服务的 TLS/SSL 服务器。

ffmpeg -i -F 网址:// : ?听&证书= &key=

使用 TLS/SSL 服务器播放流 ffplay:

ffplay tls:// :

UDP
用户数据报协议。

UDP URL 所需的语法是:

udp:// : [? ]

选项 包含表单的 & 分隔选项列表 =VAL.

如果系统上启用了线程,则使用循环缓冲区来存储
传入数据,它允许减少由于 UDP 套接字缓冲区溢出而导致的数据丢失。
先进先出尺寸overrun_nonfatal 选项与此缓冲区相关。

支持的选项列表如下。

缓冲区大小=尺寸
设置 UDP 最大套接字缓冲区大小(以字节为单位)。 这用于设置
接收或发送缓冲区大小,取决于套接字的用途。 默认是
64KB。 也可以看看 先进先出尺寸.

本地端口=端口
覆盖要绑定的本地 UDP 端口。

本地地址=地址
选择本地 IP 地址。 这很有用,例如,如果发送多播并且主机有
多个接口,用户可以选择通过哪个接口发送
指定该接口的 IP 地址。

包大小=尺寸
设置 UDP 数据包的大小(以字节为单位)。

重用=1 | 0
明确允许或禁止重用 UDP 套接字。

TTL=TTL
设置生存时间值(仅适用于多播)。

连接=1 | 0
使用“connect()”初始化 UDP 套接字。 在这种情况下,目标地址
以后不能用 ff_udp_set_remote_url 更改。 如果目标地址不是
一开始就知道,这个选项也可以在 ff_udp_set_remote_url 中指定。 这个
允许使用getsockname找出数据包的源地址,并使
如果收到“目标无法到达”,则写入返回 AVERROR(ECONNREFUSED)。
对于接收,这提供了仅从指定的接收数据包的好处
对等地址/端口。

来源=地址[,地址]
只接收从指定发送者 IP 之一发送到多播组的数据包
地址。

块=地址[,地址]
忽略从指定发送方 IP 地址发送到多播组的数据包。

先进先出大小=单位
设置UDP接收循环缓冲区大小,表示为有大小的包数
188 字节。 如果未指定,则默认为 7*4096。

overrun_nonfatal=1 | 0
在 UDP 接收循环缓冲区溢出的情况下存活。 默认值为 0。

超时=微秒
设置引发错误超时,以微秒表示。

此选项仅与读取模式相关:如果超过此时间没有数据到达
间隔,引发错误。

广播=1 | 0
明确允许或禁止 UDP 广播。

请注意,广播可能无法在有广播风暴的网络上正常工作
保护。

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

· 用 ffmpeg的 通过 UDP 流传输到远程端点:

ffmpeg -i -F udp:// :

· 用 ffmpeg的 使用 188 个大小的 UDP 数据包通过 UDP 以 mpegts 格式流式传输,使用
大输入缓冲区:

ffmpeg -i -f mpegts udp:// : ?pkt_size=188&buffer_size=65535

· 用 ffmpeg的 从远程端点通过 UDP 接收:

ffmpeg -i udp://[ ]: ...

UNIX
Unix 本地套接字

Unix 套接字 URL 所需的语法是:

Unix://

可以通过命令行选项(或通过“AVOption”在代码中)设置以下参数:

超时
以毫秒为单位的超时时间。


在侦听模式下创建 Unix 套接字。

支持装置 配置


libavdevice 库提供与 libavformat 相同的接口。 即,输入
设备被认为是一个多路复用器,一个输出设备像一个多路复用器,接口
和通用设备选项与 libavformat 提供的相同(请参阅 ffmpeg-formats
手动的)。

此外,每个输入或输出设备可能支持所谓的私有选项,它们是
特定于该组件。

可以通过指定来设置选项 -选项 折扣值 在 FFmpeg 工具中,或通过设置
值在设备“AVFormatContext”选项中明确显示或使用 libavutil/opt.h API
用于程序化用途。

INPUT 设备


输入设备是 FFmpeg 中的配置元素,可以访问即将到来的数据
从连接到系统的多媒体设备。

当您配置 FFmpeg 构建时,所有支持的输入设备都由
默认。 您可以使用配置选项“--list-indevs”列出所有可用的。

您可以使用配置选项“--disable-indevs”禁用所有输入设备,并且
使用选项“--enable-indev=”有选择地启用输入设备创新”,或者你可以
使用选项“--disable-indev=”禁用特定的输入设备创新".

ff* 工具的选项“-devices”将显示支持的输入设备列表。

当前可用的输入设备的描述如下。

阿尔萨
ALSA(高级 Linux 声音架构)输入设备。

要在配置期间启用此输入设备,您需要在您的计算机上安装 libasound
系统。

该设备允许从 ALSA 设备进行捕获。 要捕获的设备的名称必须
是一个 ALSA 卡标识符。

ALSA 标识符的语法如下:

硬件: [, [, ]]

其中 DEV子开发 组件是可选的。

三个参数(按顺序: ,DEV,子开发) 指定卡号或标识符、设备
编号和子设备编号(-1 表示任何)。

要查看系统当前识别的卡列表,请检查文件
/ proc /声音/卡/proc/声音/设备.

例如捕捉 ffmpeg的 从卡 ID 为 0 的 ALSA 设备,您可以运行
命令:

ffmpeg -f alsa -i hw:0 alsaout.wav

有关更多信息,请参阅:http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html>

附加选项

采样率
以赫兹为单位设置采样率。 默认值为 48000。

通道
设置通道数。 默认值为 2。

基金会
AVFoundation 输入设备。

AVFoundation 是 Apple 当前推荐的用于在 OSX 上进行流抓取的框架 >=
10.7 以及在 iOS 上。 自 OSX 以来,旧的 QTKit 框架已被标记为已弃用
版本10.7。

输入文件名必须按照以下语法给出:

-i "[[视频]:[音频]]"

第一个条目选择视频输入,而后者选择音频输入。 这
流必须由设备名称或设备索引指定,如设备所示
列表。 或者,可以使用索引来选择视频和/或音频输入设备

B<-video_device_index E 索引>



B<-audio_device_index E 索引>

, 覆盖输入文件名中给出的任何设备名称或索引。

可以通过使用枚举所有可用的设备 -列表设备 true, 列出所有设备
名称和相应的索引。

有两个设备名称别名:

“默认”
选择对应类型的AVFoundation默认设备。

“没有”
不记录相应的媒体类型。 这相当于指定一个空的
设备名称或索引。

附加选项

AVFoundation 支持以下选项:

-列表设备
如果设置为 true,则给出所有可用输入设备的列表,显示所有设备
名称和索引。

-视频设备索引
通过索引指定视频设备。 覆盖输入文件名中给出的任何内容。

-音频设备索引
通过索引指定音频设备。 覆盖输入文件名中给出的任何内容。

-像素格式
请求视频设备使用特定的像素格式。 如果指定的格式是
不支持,提供了可用格式列表,该列表中的第一个是
改为使用。 可用的像素格式有:“monob、rgb555be、rgb555le、rgb565be、
rgb565le、rgb24、bgr24、0rgb、bgr0、0bgr、rgb0、
bgr48be、uyvy422、yuva444p、yuva444p16le、yuv444p、yuv422p16、yuv422p10、yuv444p10、
yuv420p、nv12、yuyv422、灰色”

-帧率
设置抓取帧率。 默认为“ntsc”,对应的帧率为
“ 30000/1001”。

-视频大小
设置视频帧大小。

-捕获光标
捕捉鼠标指针。 默认值为 0。

-捕获鼠标点击
捕获屏幕鼠标点击。 默认值为 0。

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

· 打印 AVFoundation 支持的设备列表并退出:

$ ffmpeg -f avfoundation -list_devices true -i ""

· 将视频设备 0 的视频和音频设备 0 的音频录制到 out.avi:

$ ffmpeg -f avfoundation -i "0:0" out.avi

· 将视频设备 2 的视频和音频设备 1 的音频录制到 out.avi:

$ ffmpeg -f avfoundation -video_device_index 2 -i ":1" out.avi

· 使用像素格式 bgr0 从系统默认视频设备录制视频并执行
不将任何音频录制到 out.avi 中:

$ ffmpeg -f avfoundation -pixel_format bgr0 -i "default:none" out.avi

背影
BSD 视频输入设备。

附加选项

帧率
设置帧率。

视频大小
设置视频帧大小。 默认为“VGA”。

标准
可用值为:

朋友
国家安全委员会
安全摄像头
帕尔恩
棕榈
恩特斯杰

的DeckLink
Decklink 输入设备为 Blackmagic DeckLink 设备提供捕捉功能。

要启用此输入设备,您需要 Blackmagic DeckLink SDK 并且您需要
配置适当的“--extra-cflags”和“--extra-ldflags”。 在 Windows 上,您
需要通过运行 IDL 文件 .

DeckLink 对它支持的格式非常挑剔。 像素格式为uyvy422或v210,
必须为您的设备确定帧率和视频大小 -列表格式 1. 声音的
采样率始终为 48 kHz,通道数可以是 2、8 或 16。

附加选项

列表设备
如果设置为 true, 打印设备列表并退出。 默认为 false.

列表格式
如果设置为 true, 打印支持的格式列表并退出。 默认为 false.

bm_v210
如果设置为 1, 视频以 10 位 v210 而不是 uyvy422 捕获。 并非所有 Blackmagic
设备支持此选项。

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

· 列出输入设备:

ffmpeg -f 甲板链接 -list_devices 1 -i 虚拟

· 列出支持的格式:

ffmpeg -f 甲板链接 -list_formats 1 -i '强度专业'

· 以 1080i50(格式 11)捕获视频片段:

ffmpeg -f 甲板链接 -i 'Intensity Pro@11' -acodec copy -vcodec copy output.avi

· 在 1080i50 10 位捕获视频剪辑:

ffmpeg -bm_v210 1 -f 甲板链接 -i 'UltraStudio Mini Recorder@11' -acodec copy -vcodec copy output.avi

显示
Windows DirectShow 输入设备。

使用 mingw-w64 项目构建 FFmpeg 时启用 DirectShow 支持。 目前
仅支持音频和视频设备。

多个设备可以作为单独的输入打开,但它们也可以在同一个输入端打开。
输入,这应该可以提高它们之间的同步性。

输入名称应采用以下格式:

= [: = ]

哪里 可以是 音频 or 电影您的姓名 是设备的名称或替代名称
名称 ..

附加选项

如果未指定任何选项,则使用设备的默认值。 如果设备没有
支持请求的选项,它将无法打开。

视频大小
在捕获的视频中设置视频大小。

帧率
在捕获的视频中设置帧速率。

采样率
设置捕获音频的采样率(以 Hz 为单位)。

样本大小
设置捕获音频的样本大小(以位为单位)。

通道
设置捕获的音频中的通道数。

列表设备
如果设置为 true, 打印设备列表并退出。

列表选项
如果设置为 true, 打印所选设备的选项列表并退出。

视频设备编号
为同名设备设置视频设备编号(从 0 开始,默认为 0)。

音频设备编号
为同名设备设置音频设备编号(从 0 开始,默认为 0)。

像素格式
选择 DirectShow 使用的像素格式。 这只能在视频时设置
编解码器未设置或设置为 rawvideo。

音频缓冲区大小
以毫秒为单位设置音频设备缓冲区大小(这可以直接影响延迟,
取决于设备)。 默认使用音频设备的默认缓冲区大小
(通常是 500 毫秒的倍数)。 将此值设置得太低会降低性能
表现。 也可以看看
<http://msdn.microsoft.com/en-us/library/windows/desktop/dd377582(v=vs.85).aspx>

视频引脚名称
选择要按名称或备用名称使用的视频捕获引脚。

音频引脚名称
选择要按名称或备用名称使用的音频捕获引脚。

crossbar_video_input_pin_number
为纵横式设备选择视频输入引脚编号。 这将被路由到横杆
设备的视频解码器输出引脚。 请注意,更改此值可能会影响未来
调用(设置新的默认值)直到系统重新启动。

crossbar_audio_input_pin_number
选择交叉设备的音频输入引脚编号。 这将被路由到横杆
设备的音频解码器输出引脚。 请注意,更改此值可能会影响未来
调用(设置新的默认值)直到系统重新启动。

显示视频设备对话框
如果设置为 true, 在捕获开始之前,向最终用户弹出一个显示对话框,
允许他们手动更改视频过滤器属性和配置。 笔记
对于交叉设备,有时可能需要调整此对话框中的值以
在 PAL (25 fps) 和 NTSC (29.97) 输入帧速率、大小、隔行、
等。更改这些值可以启用不同的扫描速率/帧速率并避免
底部的绿条、闪烁的扫描线等。请注意,对于某些设备,
更改这些属性也会影响未来的调用(设置新的默认值),直到
系统重新启动。

显示音频设备对话框
如果设置为 true, 在捕获开始之前,向最终用户弹出一个显示对话框,
允许他们手动更改音频过滤器属性和配置。

show_video_crossbar_connection_dialog
如果设置为 true, 在捕获开始之前,向最终用户弹出一个显示对话框,
允许他们在打开视频设备时手动修改横杆引脚路由。

show_audio_crossbar_connection_dialog
如果设置为 true, 在捕获开始之前,向最终用户弹出一个显示对话框,
允许他们在打开音频设备时手动修改 crossbar pin 路由。

显示模拟电视调谐器对话框
如果设置为 true, 在捕获开始之前,向最终用户弹出一个显示对话框,
允许他们手动修改电视频道和频率。

show_analog_tv_tuner_audio_dialog
如果设置为 true, 在捕获开始之前,向最终用户弹出一个显示对话框,
允许他们手动修改电视音频(如单声道与立体声、语言 A、B 或 C)。

音频设备负载
从文件加载音频捕获过滤器设备,而不是按名称搜索。 它可能
也加载其他参数,如果过滤器支持其序列化
属性到。 要使用它,必须指定音频捕获源,但它可以是
任何东西甚至是假的。

音频设备保存
保存当前使用的音频捕获过滤器设备及其参数(如果过滤器
支持)到一个文件。 如果存在同名文件,它将被覆盖。

视频设备负载
从文件加载视频捕获过滤器设备,而不是按名称搜索。 它可能
也加载其他参数,如果过滤器支持其序列化
属性到。 要使用它,必须指定视频捕获源,但它可以是
任何东西甚至是假的。

视频设备保存
保存当前使用的视频捕获过滤器设备及其参数(如果过滤器
支持)到一个文件。 如果存在同名文件,它将被覆盖。

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

· 打印 DirectShow 支持的设备列表并退出:

$ ffmpeg -list_devices true -f dshow -i 虚拟

· 打开视频设备 相机:

$ ffmpeg -f dshow -i 视频=“相机”

· 用名字打开第二个视频设备 相机:

$ ffmpeg -f dshow -video_device_number 1 -i video="相机"

· 打开视频设备 相机 和音频设备 全向麦:

$ ffmpeg -f dshow -i video="Camera":audio="麦克风"

· 打印所选设备中支持的选项列表并退出:

$ ffmpeg -list_options true -f dshow -i video="相机"

· 指定引脚名称按名称或备用名称捕获,指定备用设备
名称:

$ ffmpeg -f dshow -audio_pin_name "Audio Out" -video_pin_name 2 -i video=video="@device_pnp_\\?\pci#ven_1a0a&dev_6200&subsys_62021461&rev_01#4&e2c7dd6&0&00e1#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\{ca465100-deb0-4d59-818f-8c477184adf6}":audio="Microphone"

· 配置横杆设备,指定横杆引脚,允许用户调整视频
在启动时捕获属性:

$ ffmpeg -f dshow -show_video_device_dialog true -crossbar_video_input_pin_number 0
-crossbar_audio_input_pin_number 3 -i video="AVerMedia BDA 模拟采集":audio="AVerMedia BDA 模拟采集"

dv1394
Linux DV 1394 输入设备。

附加选项

帧率
设置帧率。 默认值为 25。

标准
可用值为:

朋友
国家安全委员会

默认值为“ntsc”。

开发者
Linux 帧缓冲输入设备。

Linux 帧缓冲区是一个独立于图形硬件的抽象层,用于显示图形
在计算机显示器上,通常在控制台上。 它通过文件设备访问
节点,通常 /开发/ fb0.

有关更多详细信息,请阅读文件 Documentation/fb/framebuffer.txt 包含在
Linux 源代码树。

也可以看看http://linux-fbdev.sourceforge.net/>,和 设置(1)。

从帧缓冲设备记录 /开发/ fb0 ffmpeg的:

ffmpeg -f fbdev -framerate 10 -i /dev/fb0 out.avi

您可以使用以下命令拍摄单个屏幕截图:

ffmpeg -f fbdev -framerate 1 -i /dev/fb0 -frames:v 1 截图.jpeg

附加选项

帧率
设置帧率。 默认值为 25。

格迪拉布
基于 Win32 GDI 的屏幕捕获设备。

此设备允许您在 Windows 上捕获显示区域。

输入文件名有两个选项:

通过电脑捐款

or

标题=

第一个选项将捕获整个桌面,或桌面的固定区域。 这
第二个选项将改为捕获单个窗口的内容,而不管其
屏幕上的位置。

例如,使用抓取整个桌面 ffmpeg的:

ffmpeg -f gdigrab -framerate 6 -i 桌面输出.mpg

在“640”位置抓取一个 480x10,20 的区域:

ffmpeg -f gdigrab -帧速率 6 -offset_x 10 -offset_y 20 -video_size vga -i 桌面 out.mpg

获取名为“Calculator”的窗口的内容

ffmpeg -f gdigrab -framerate 6 -i title=计算器 out.mpg

附加选项

绘制鼠标
指定是否绘制鼠标指针。 使用值 0 不绘制指针。
默认值为 1。

帧率
设置抓取帧率。 默认值为“ntsc”,对应的帧率为
“ 30000/1001”。

显示区域
在屏幕上显示抓取的区域。

If 显示区域 指定为 1,则抓取区域将显示在
屏幕。 使用此选项,如果只有一部分,很容易知道正在抓取什么
屏幕被抓取。

需要注意的是 显示区域 与抓取单个窗口的内容不兼容。

例如:

ffmpeg -f gdigrab -show_region 1 -framerate 6 -video_size cif -offset_x 10 -offset_y 20 -i 桌面 out.mpg

视频大小
设置视频帧大小。 默认是捕获全屏,如果 通过电脑捐款 is
选择,或整个窗口大小,如果 标题=window_title 被选中。

偏移量_x
当捕获一个区域时 视频大小, 设置距左边缘的距离
屏幕或桌面。

请注意,偏移量计算是从主监视器的左上角开始的
视窗。 如果您的主显示器左侧有一台显示器,您可以
将需要使用否定 偏移量_x 值将区域移动到该监视器。

偏移量_y
当捕获一个区域时 视频大小, 设置距顶部边缘的距离
屏幕或桌面。

请注意,偏移量计算是从主监视器的左上角开始的
视窗。 如果您的显示器位于主显示器上方,则需要
使用否定 偏移量_y 值将区域移动到该监视器。

IEC61883
FireWire DV/HDV 输入设备使用 libiec61883。

要启用此输入设备,您需要安装 libiec61883、libraw1394 和 libavc1394
你的系统。 使用配置选项“--enable-libiec61883”与设备一起编译
启用。

iec61883 采集设备支持从通过 IEEE1394 连接的视频设备采集
(FireWire),使用 libiec61883 和新的 Linux FireWire 堆栈 (juju)。 这是默认的
Linux 内核 2.6.37 及更高版本中的 DV/HDV 输入方法,因为旧的 FireWire 堆栈是
除去。

指定要用作输入文件的 FireWire 端口,或“自动”选择第一个端口
连接的。

附加选项

类型
覆盖 DV/HDV 的自动检测。 仅当自动检测不可用时才应使用
工作,或者是否应禁止使用不同的设备类型。 处理 DV
设备作为 HDV(反之亦然)将不起作用并导致未定义的行为。 这
价值观 汽车, dvHDV 支持。

缓冲区
为传入数据设置缓冲区的最大大小,以帧为单位。 对于 DV,这是一个精确的
价值。 对于 HDV,它不是精确帧,因为 HDV 没有固定的帧大小。

dvguid
通过指定它的 GUID 来选择捕获设备。 只会执行捕获
如果没有找到具有给定 GUID 的设备,则失败。 这是
如果同时连接多个设备,则可用于选择输入。 看
在 /sys/bus/firewire/devices 中找出 GUID。

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

· 抓取并显示 FireWire DV/HDV 设备的输入。

ffplay -f iec61883 -i 自动

· 抓取并记录火线DV/HDV设备的输入,使用100000的数据包缓冲区
如果源是 HDV。

ffmpeg -f iec61883 -i 自动 -hdvbuffer 100000 out.mpg

千斤顶
插孔输入设备。

要在配置期间启用此输入设备,您需要在您的计算机上安装 libjack
系统。

一个 JACK 输入设备创建一个或多个 JACK 可写客户端,每个音频通道一个,
有名字 客户名称:输入_N,其中 客户名称 是应用程序提供的名称,
N 是一个标识频道的数字。 每个可写客户端将发送
获取的数据到 FFmpeg 输入设备。

一旦您创建了一个或多个 JACK 可读客户端,您需要将它们连接到一个
或更多 JACK 可写客户端。

要连接或断开 JACK 客户端,您可以使用 插孔连接插孔断开
程序,或者通过图形界面来完成,例如 qjackctl.

要列出 JACK 客户端及其属性,您可以调用命令 杰克lsp.

遵循一个示例,该示例显示如何使用以下命令捕获 JACK 可读客户端 ffmpeg的.

# 创建一个名为“ffmpeg”的 JACK 可写客户端。
$ ffmpeg -f jack -i ffmpeg -y 输出.wav

# 启动示例 jack_metro 可读客户端。
$ jack_metro -b 120 -d 0.2 -f 4000

# 列出当前的 JACK 客户端。
$ jack_lsp -c
系统:捕获_1
系统:捕获_2
系统:播放_1
系统:播放_2
ffmpeg:输入_1
地铁:120_bpm

# 将metro连接到ffmpeg可写客户端。
$ jack_connect 地铁:120_bpm ffmpeg:input_1

欲了解更多信息,请阅读:http://jackaudio.org/>

附加选项

通道
设置通道数。 默认值为 2。

拉菲
Libavfilter 输入虚拟设备。

此输入设备从 libavfilter 过滤器图的开放输出板读取数据。

对于每个 filtergraph 打开输出,输入设备都会创建一个对应的流
映射到生成的输出。 目前仅支持视频数据。 这
filtergraph 通过选项指定 图形.

附加选项

图形
指定用作输入的过滤器图。 每个视频打开输出必须标有
形式为“out”的唯一字符串N“,在哪里 N 是一个从 0 开始的数字,对应于
设备生成的映射输入流。 第一个未标记的输出是
自动分配给“out0”标签,但需要指定所有其他标签
明确地。

后缀“+subcc”可以附加到输出标签以创建一个额外的流
附加到该输出的隐藏式字幕数据包(实验性;仅适用于 EIA-608 /
CEA-708 目前)。 subcc 流是在所有普通流之后创建的,在
对应流的顺序。 例如,如果有“out19+subcc”,
“out7+subcc”直到“out42”,流#43 是流#7 和流#44 的subcc
是流 #19 的 subcc。

如果未指定,则默认为为输入设备指定的文件名。

图形文件
设置要读取并发送到其他过滤器的过滤器图的文件名。 句法
filtergraph 与选项指定的相同 图形.

转储图
将图形转储到 stderr。

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

· 创建彩色视频流并播放 ffplay:

ffplay -f lavfi -graph "color=c=pink [out0]" 假人

· 和前面的例子一样,但是使用文件名来指定图形描述,并且
省略“out0”标签:

ffplay -f lavfi 颜色=c=粉红色

· 创建三个不同的视频测试过滤源并播放它们:

ffplay -f lavfi -graph "testsrc [out0]; testsrc,hflip [out1]; testsrc,negate [out2]" test3

· 使用电影源从文件中读取音频流并播放 ffplay:

ffplay -f lavfi "amovie=test.wav"

· 读取音频流和视频流并用 ffplay:

ffplay -f lavfi "movie=test.avi[out0];amovie=test.wav[out1]"

· 将解码的帧转储到图像并将隐藏式字幕转储到文件(实验性):

ffmpeg -f lavfi -i "movie=test.ts[out0+subcc]" -map v frame%08d.png -map s -c copy -f rawvideo subcc.bin

库迪奥
基于 libcdio 的音频 CD 输入设备。

要在配置期间启用此输入设备,您需要在您的计算机上安装 libcdio
系统。 它需要配置选项“--enable-libcdio”。

该设备允许播放和抓取音频 CD。

例如复制 ffmpeg的 整个音频CD / dev / sr0,您可以运行以下命令:

ffmpeg -f libcdio -i /dev/sr0 cd.wav

附加选项

速度
设置驱动器读取速度。 默认值为 0。

该速度是指定 CD-ROM 速度的单位。 速度通过libcdio设置
“cdio_cddap_speed_set”函数。 在许多 CD-ROM 驱动器上,指定的值太大
将导致使用最快的速度。

偏执模式
设置偏执恢复模式标志。 它接受以下值之一:

关闭
确认
交叠
从不跳过


默认值为 关闭.

有关可用恢复模式的更多信息,请参阅偏执项目
文档。

libdc1394
IIDC1394 输入设备,基于 libdc1394 和 libraw1394。

需要配置选项“--enable-libdc1394”。

公开的
OpenAL 输入设备在所有具有工作 OpenAL 1.1 的系统上提供音频捕获
实施。

要在配置期间启用此输入设备,您需要 OpenAL 头文件和库
安装在您的系统上,并且需要使用“--enable-openal”配置 FFmpeg。

OpenAL 头文件和库应该作为 OpenAL 实现的一部分提供,或者
作为额外下载(一个 SDK)。 根据您的安装,您可能需要指定
通过“--extra-cflags”和“--extra-ldflags”的附加标志以允许构建
系统来定位 OpenAL 头文件和库。

OpenAL 实现的不完整列表如下:

创意奖学金
Windows 官方实现,提供支持的硬件加速
设备和软件回退。 看http://openal.org/>.

OpenAL的
便携式、开源 (LGPL) 软件实现。 包括最多的后端
Windows、Linux、Solaris 和 BSD 操作系统上的通用声音 API。 看
<http://kcat.strangesoft.net/openal.html>.

Apple
OpenAL 是 Core Audio(Mac OS X 官方音频接口)的一部分。 看
<http://developer.apple.com/technologies/mac/audio-and-video.html>

该设备允许从通过 OpenAL 处理的音频输入设备进行捕获。

您需要在提供的文件名中指定要捕获的设备名称。 如果
提供空字符串,设备将自动选择默认设备。 你可以
使用选项获取支持的设备列表 列表设备.

附加选项

通道
设置捕获的音频中的通道数。 只有价值观 1 (单声道)和 2
(立体声)目前受支持。 默认为 2.

样本大小
设置捕获音频的样本大小(以位为单位)。 只有价值观 816 ,那恭喜你,
目前支持。 默认为 16.

采样率
设置捕获音频的采样率(以 Hz 为单位)。 默认为 44.1k.

列表设备
如果设置为 true, 打印设备列表并退出。 默认为 false.

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

打印 OpenAL 支持的设备列表并退出:

$ ffmpeg -list_devices true -f openal -i dummy out.ogg

从 OpenAL 设备捕获 DR-BT101 通过 的PulseAudio:

$ ffmpeg -f openal -i 'DR-BT101 via PulseAudio' out.ogg

从默认设备捕获(注意空字符串 '' 作为文件名):

$ ffmpeg -f openal -i '' out.ogg

同时从两个设备捕获,写入两个不同的文件,在同一个
ffmpeg的 命令:

$ ffmpeg -f openal -i 'DR-BT101 via PulseAudio' out1.ogg -f openal -i 'ALSA Default' out2.ogg

注意:并非所有 OpenAL 实现都支持多个同时捕获 - 尝试
如果上述方法不起作用,则使用最新的 OpenAL Soft。

中心
打开声音系统输入设备。

提供给输入设备的文件名是代表OSS输入的设备节点
设备,通常设置为 /开发/DSP.

例如从 /开发/DSP 运用 ffmpeg的 使用命令:

ffmpeg -f oss -i /dev/dsp /tmp/oss.wav

有关 OSS 的更多信息,请参阅:http://manuals.opensound.com/usersguide/dsp.html>

附加选项

采样率
以赫兹为单位设置采样率。 默认值为 48000。

通道
设置通道数。 默认值为 2。

脉冲
PulseAudio 输入设备。

要启用此输出设备,您需要使用“--enable-libpulse”配置 FFmpeg。

提供给输入设备的文件名是源设备或字符串“default”

要列出 PulseAudio 源设备及其属性,您可以调用命令
契约 名单 来源.

有关 PulseAudio 的更多信息,请访问http://www.pulseaudio.org>.

附加选项

服务器
连接到由 IP 地址指定的特定 PulseAudio 服务器。 默认服务器
未提供时使用。

姓名
指定 PulseAudio 在显示活动客户端时将使用的应用程序名称,通过
默认它是“LIBAVFORMAT_IDENT”字符串。

流名称
指定 PulseAudio 在显示活动流时将使用的流名称,默认情况下它
是“记录”。

采样率
以Hz为单位指定采样率,默认使用48kHz。

通道
指定使用的通道,默认设置为 2(立体声)。

帧大小
指定每帧的字节数,默认设置为 1024。

片段大小
在PulseAudio中指定最小缓冲片段,它会影响音频
潜伏。 默认情况下它是未设置的。

挂钟
使用当前时间设置初始 PTS。 默认值为 1。

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

从默认设备录制流:

ffmpeg -f 脉冲 -i 默认 /tmp/pulse.wav

qtkit
QTKit 输入设备。

作为输入传递的文件名被解析为包含设备名称或索引。 这
也可以使用 -video_device_index 给出设备索引。 给定的设备索引将
覆盖任何给定的设备名称。 如果所需的设备仅包含数字,请使用
-video_device_index 来识别它。 如果为空字符串,将选择默认设备
或者给出设备名称“default”。 可用的设备可以通过使用枚举
-list_devices。

ffmpeg -f qtkit -i "0" out.mpg

ffmpeg -f qtkit -video_device_index 0 -i "" out.mpg

ffmpeg -f qtkit -i “默认” out.mpg

ffmpeg -f qtkit -list_devices true -i ""

附加选项

帧率
设置帧率。 默认值为 30。

列表设备
如果设置为“true”,则打印设备列表并退出。 默认为“假”。

视频设备索引
对于具有相同名称的设备(从 0 开始),按索引选择视频设备。

斯迪奥
sndio 输入设备。

要在配置期间启用此输入设备,您需要在您的计算机上安装 libsndio
系统。

提供给输入设备的文件名是表示 sndio 的设备节点
输入设备,通常设置为 /开发/音频0.

例如从 /开发/音频0 运用 ffmpeg的 使用命令:

ffmpeg -f sndio -i /dev/audio0 /tmp/oss.wav

附加选项

采样率
以赫兹为单位设置采样率。 默认值为 48000。

通道
设置通道数。 默认值为 2。

video4linux2, v4l2
Video4Linux2 输入视频设备。

“v4l2”可以用作“video4linux2”的别名。

如果 FFmpeg 是使用 v4l-utils 支持构建的(通过使用“--enable-libv4l2”配置
选项),可以将它与“-use_libv4l2”输入设备选项一起使用。

要抓取的设备名称是文件设备节点,通常Linux系统倾向于
当设备(例如 USB 网络摄像头)插入时自动创建这样的节点
系统,并有一个名称 /开发/视频N,其中 N 是一个与


Video4Linux2 设备通常支持有限的一组 宽度x高度 尺寸和帧速率。
您可以使用 -列表格式 所有 用于 Video4Linux2 设备。 一些
设备,如电视卡,支持一种或多种标准。 可以列出所有
支持的标准使用 -列表标准 所有.

时间戳的时基为 1 微秒。 取决于内核版本和
配置,时间戳可能来自实时时钟(起源于 Unix
Epoch)或单调时钟(通常起源于启动时,不受NTP或手动
更改时钟)。 这 -时间戳 ABS or -ts ABS 选项可用于强制
转换为实时时钟。

video4linux2设备的一些使用示例 ffmpeg的ffplay:

· 列出 video4linux2 设备支持的格式:

ffplay -f video4linux2 -list_formats all /dev/video0

· 抓取并显示 video4linux2 设备的输入:

ffplay -f video4linux2 -帧速率 30 -video_size hd720 /dev/video0

· 抓取并记录video4linux2设备的输入,保留帧率和大小为
之前设置:

ffmpeg -f video4linux2 -input_format mjpeg -i /dev/video0 out.mpeg

有关 Video4Linux 的更多信息,请查看http://linuxtv.org/>.

附加选项

标准
设定标准。 必须是受支持标准的名称。 获取列表
支持的标准,使用 列表标准 选项。

渠道
设置输入通道号。 默认为 -1,表示使用之前选择的
通道。

视频大小
设置视频帧大小。 参数必须是以下形式的字符串 宽度x高度 或者
有效的尺寸缩写。

像素格式
选择像素格式(仅对原始视频输入有效)。

输入格式
设置首选像素格式(用于原始视频)或编解码器名称。 此选项允许
一个选择输入格式,当有几个可用时。

帧率
设置首选视频帧率。

列表格式
列出可用格式(支持的像素格式、编解码器和帧大小)并退出。

可用值为:

所有 显示所有可用的(压缩和非压缩)格式。

仅显示原始视频(非压缩)格式。

压缩
仅显示压缩格式。

列表标准
列出支持的标准并退出。

可用值为:

所有 显示所有支持的标准。

时间戳, ts
设置抓取帧的时间戳类型。

可用值为:

默认
使用内核中的时间戳。

ABS 使用绝对时间戳(挂钟)。

Mono2abs
强制从单调转换为绝对时间戳。

默认值为“默认”。

使用_libv4l2
使用 libv4l2 (v4l-utils) 转换函数。 默认值为 0。

虚拟防火墙
VfW(Windows 视频)捕获输入设备。

作为输入传递的文件名是捕获驱动程序编号,范围从 0 到 9。您可以
使用“list”作为文件名打印驱动程序列表。 将解释任何其他文件名
作为设备号 0。

附加选项

视频大小
设置视频帧大小。

帧率
设置抓取帧率。 默认值为“ntsc”,对应的帧率为
“ 30000/1001”。

x11抓取
X11 视频输入设备。

要在配置期间启用此输入设备,您需要在系统上安装 libxcb。
它会在配置过程中自动检测。

或者,配置选项 --启用-x11grab 为旧版 Xlib 用户而存在。

该设备允许人们捕捉 X11 显示器的一个区域。

作为输入传递的文件名具有以下语法:

[ ]: . [+ , ]

主机:显示编号.屏幕编号 指定要抓取的屏幕的 X11 显示名称
从。 主机 可以省略,默认为“localhost”。 环境变量
显示屏玻璃制造 包含默认显示名称。

x_偏移量y_偏移量 指定抓取区域相对于左上角的偏移量
X11 屏幕的边框。 它们默认为 0。

检查 X11 文档(例如 男子 X) 了解更多详细信息。

使用 xdpy信息 用于获取有关 X11 属性的基本信息的程序
显示(例如“名称”或“尺寸”的 grep)。

例如从 :0.0 运用 ffmpeg的:

ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0 输出.mpg

抓住位置“10,20”:

ffmpeg -f x11grab -framerate 25 -video_size cif -i :0.0+10,20 输出.mpg

附加选项

绘制鼠标
指定是否绘制鼠标指针。 值为 0 指定不绘制
指针。 默认值为 1。

跟随鼠标
使抓取的区域跟随鼠标。 参数可以是“居中的”或多个
像素 像素.

当指定为“居中”时,抓取区域跟随鼠标指针
并将指针保持在区域的中心; 否则,该区域仅在
鼠标指针到达 像素 (大于零)到区域的边缘。

例如:

ffmpeg -f x11grab -follow_mouse 居中 -framerate 25 -video_size cif -i :0.0 out.mpg

仅在鼠标指针到达边缘 100 像素以内时跟随:

ffmpeg -f x11grab -follow_mouse 100 -帧速率 25 -video_size cif -i :0.0 out.mpg

帧率
设置抓取帧率。 默认值为“ntsc”,对应的帧率为
“ 30000/1001”。

显示区域
在屏幕上显示抓取的区域。

If 显示区域 指定为 1,则抓取区域将显示在
屏幕。 使用此选项,如果只有一部分,很容易知道正在抓取什么
屏幕被抓取。

区域边界
设置区域边框粗细,如果 -显示区域 1 用来。 范围是 1 到 128 和
默认值为 3(仅限基于 XCB 的 x11grab)。

例如:

ffmpeg -f x11grab -show_region 1 -framerate 25 -video_size cif -i :0.0+10,20 输出.mpg

跟随鼠标:

ffmpeg -f x11grab -follow_mouse 居中 -show_region 1 -framerate 25 -video_size cif -i :0.0 out.mpg

视频大小
设置视频帧大小。 默认值为“vga”。

使用_shm
将 MIT-SHM 扩展用于共享内存。 默认值为 1。可能有必要
为远程显示器禁用它(仅限旧版 x11grab)。

抢_x 抢_y AV选项

语法是:

-grab_x -grab_y

设置抓取区域坐标。 它们表示为从左上角的偏移量
X11 窗口。 默认值为 0。

重采样器 配置


音频重采样器支持以下命名选项。

可以通过指定来设置选项 -选项 折扣值 在 FFmpeg 工具中, 选项=折扣值 等加工。为
aresample 过滤器,通过在“SwrContext”选项中显式设置值或使用
libavutil/opt.h 用于编程使用的 API。

哎, 频道内计数
设置输入通道数。 默认值为 0。设置此值不是
如果相应的频道布局是强制性的 通道布局 置。

哦, 输出通道数
设置输出通道数。 默认值为 0。设置此值不是
如果相应的频道布局是强制性的 输出通道布局 置。

呃, 使用_channel_count
设置使用的输入通道数。 默认值为 0。此选项仅用于
用于特殊重映射。

是, 采样率
设置输入采样率。 默认值为 0。

操作系统, 输出采样率
设置输出采样率。 默认值为 0。

伊夫, in_sample_fmt
指定输入样本格式。 它默认设置为“无”。

操作系统, 输出样本_fmt
指定输出样本格式。 它默认设置为“无”。

TSF, 内部样本fmt
设置内部样本格式。 默认值为“无”。 这将自动成为
未明确设置时选择。

集成电路, 通道布局
奥克, 输出通道布局
设置输入/输出通道布局。

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

克莱夫, 中心混合级别
设置中央混音电平。 它是一个以分贝表示的值,并且必须在
区间 [-32,32]。

斯莱夫, 环绕混合级别
设置环绕混音电平。 它是一个以分贝表示的值,并且必须在
区间 [-32,32]。

生命混合级别
将 LFE 混音设置为非 LFE 电平。 当有 LFE 输入但没有 LFE 时使用
输出。 它是一个以分贝表示的值,必须在区间 [-32,32] 内。

均体积, 重新矩阵体积
设置重新矩阵体积。 默认值为 1.0。

rematrix_maxval
设置重新矩阵的最大输出值。 这可用于防止剪裁与剪裁。
防止音量减小 值为 1.0 可防止剪辑。

标志 swr_flags
设置转换器使用的标志。 默认值为 0。

它支持以下单独的标志:

水库 强制重采样,该标志强制使用重采样,即使输入和
输出采样率匹配。

抖动比例
设置抖动比例。 默认值为 1。

抖动方法
设置抖动方法。 默认值为 0。

支持的值:

长方形
选择矩形抖动

三角形的
选择三角形抖动

三角形_马力
选择带高通的三角抖动

利普希茨
选择lipshitz噪声整形抖动

柴田
选择 shibata 噪声整形抖动

低柴田
选择低 shibata 噪声整形抖动

高柴田
选择高 shibata 噪声整形抖动

f_加权
选择 f 加权噪声整形抖动

修改的_e_加权
选择修正的 e 加权噪声整形抖动

改进的e_weighted
选择改进的 e 加权噪声整形抖动

重采样器
设置重采样引擎。 默认值为 swr。

支持的值:

SWR 选择原生软件重采样器; 过滤器选项 precision 和 cheby 不是
在这种情况下适用。

索克斯
选择 SoX Resampler(如果可用); 补偿和过滤选项
filter_size、phase_shift、filter_type 和 kaiser_beta,不适用于此
情况。

过滤器尺寸
仅对于 swr,设置重采样过滤器大小,默认值为 32。

相移
仅对于swr,设置重采样相移,默认值为10,且必须在
区间 [0,30]。

线性插值
如果设置为 1,则使用线性插值,默认值为 0。

截止
设置截止频率(swr:6dB点;soxr:0dB点)比率; 必须是浮点值
介于 0 和 1 之间。 swr 的默认值为 0.97,soxr 的默认值为 0.91(其中,带有
44100 的采样率,将整个音频带保留为 20kHz)。

精确
仅对于 soxr,将计算重采样信号的精度(以位为单位)。
默认值 20(经过适当的抖动处理,适用于
目标位深度为 16) 给出了 SoX 的“高质量”; 28 的值给出了 SoX 的
'非常高质量'。

切比
仅对于 soxr,选择通带滚降无 (Chebyshev) 和更高精度
“非理性”比率的近似值。 默认值为 0。

异步
仅对于 swr,简单的 1 参数音频使用拉伸、挤压、
填充和修剪。 将此设置为 1 将启用填充和修剪,更大
值表示数据可能被拉伸的样本中的最大数量或
挤压每一秒。 默认值为 0,因此不应用任何补偿来使
样本与音频时间戳相匹配。

第一分
仅对于 swr,假设第一个 pts 应该是这个值。 时间单位为1/样本
速度。 这允许在流开始时进行填充/修剪。 默认情况下,没有
假设是关于第一帧的预期 pts,所以没有填充或修剪
完毕。 例如,这可以设置为 0 以在开头填充静音
音频流在视频流之后开始或用负 pts 修剪任何样本
由于编码器延迟。

最小补偿
仅对于 swr,设置时间戳和音频数据之间的最小差异(在
秒)触发拉伸/挤压/填充或修剪数据以使其
匹配时间戳。 默认是拉伸/挤压/填充和修剪是
禁用 (最小补偿 =“FLT_MAX”)。

最小硬压缩
仅对于 swr,设置时间戳和音频数据之间的最小差异(在
秒)触发添加/删除样本以使其与时间戳匹配。 这个
选项有效地是在硬(修剪/填充)和软之间进行选择的阈值
(挤压/拉伸)补偿。 请注意,默认情况下所有补偿都是禁用的
通过 最小补偿. 默认值为 0.1。

合成时间
仅对于 swr,设置数据被拉伸/挤压的持续时间(以秒为单位)
它匹配时间戳。 必须是非负双浮点值,默认值为
1.0.

最大软补偿
仅对于 swr,设置数据被拉伸/压缩以使其匹配的最大因子
时间戳。 必须是非负双浮点值,默认值为 0。

矩阵编码
选择矩阵立体声编码。

它接受以下值:

没有
选择无

杜比
选择杜比

dplii
选择杜比定向逻辑 II

默认值为“无”。

过滤器类型
仅对于 swr,选择重采样滤波器类型。 这只会影响重采样操作。

它接受以下值:

立方体
选择立方

布莱克曼纳塔尔
选择 Blackman Nuttall Windowed Sinc

凯泽
选择 Kaiser Windowed Sinc

凯撒测试版
仅对于 swr,设置 Kaiser Window Beta 值。 必须是区间 [2,16] 中的整数,
默认值为 9。

输出样本位
仅对于 swr,设置用于抖动的输出采样位数。 必须是整数
在区间[0,64]中,默认值为0,表示不使用。

标量 配置


视频缩放器支持以下命名选项。

可以通过指定来设置选项 -选项 折扣值 在 FFmpeg 工具中。 对于程序化使用,
它们可以在“SwsContext”选项中显式设置或通过 libavutil/opt.h API。

sws_flags
设置缩放器标志。 这也用于设置缩放算法。 只有一个
应该选择算法。

它接受以下值:

快速双线性
选择快速双线性缩放算法。

双线性
选择双线性缩放算法。

双三次
选择双三次缩放算​​法。

试验
选择实验缩放算法。

邻居
选择最近邻重缩放算法。


选择平均面积重新缩放算法。

双胞胎蛋白
为亮度分量选择双三次缩放算​​法,为色度选择双线性
组件。

高斯
选择高斯缩放算法。

辛克
选择 sinc 重新缩放算法。

兰佐斯
选择 lanczos 重新缩放算法。

仿样
选择自然双三次样条重新缩放算法。

打印信息
启用打印/调试日志记录。

准确_rnd
启用精确舍入。

full_chroma_int
启用全色度插值。

全色度输入
选择全色度输入。

精确
启用 bitexact 输出。

源文件
设置源宽度。

源文件
设置源高度。

数据中心
设置目标宽度。

嘘嘘
设置目标高度。

源文件格式
设置源像素格式(必须表示为整数)。

dst_格式
设置目标像素格式(必须表示为整数)。

来源范围
选择源范围。

目标范围
选择目的地范围。

参数0, param1
设置缩放算法参数。 指定的值特定于某些缩放
算法而被其他人忽略。 指定的值为浮点数
值。

sws_抖动
设置抖动算法。 接受以下值之一。 默认值为
汽车.

汽车
自动选择

没有
没有抖动

拜尔
拜耳抖动

ed 误差扩散抖动

抖动
算术抖动,基于使用加法

x_抖动
算术抖动,基于使用异或(更随机/不太明显的图案,
a_dither)。

字母混合
设置当输入有 alpha 但输出没有时使用的 alpha 混合。
默认值为 没有.

统一颜色
混合到统一的背景颜色

棋盘
混合到棋盘上

没有
没有混合

筛选 引言


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 服务在线使用 ffplay-all


免费服务器和工作站

下载 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