前言
Github
地址:Github
简书地址:简书
专辑地址:FFplay专辑
29.60 find_rect
找到一个矩形对象
它接受以下选项:
object
对象图像的文件路径,需要为gray8
。
threshold
检测阈值,默认为0.5
。
mipmaps
mipmap
数量,默认为3
。
xmin,ymin,xmax,ymax
指定要搜索的矩形。
29.60.1 示例
-
使用
ffmpeg
生成给定视频的代表性调色板:ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv
29.61 cover_rect
盖住一个矩形物体
它接受以下选项:
cover
可选封面图像的文件路径,需要在yuv420
中。
mode
设置覆盖模式。
它接受以下值:
值 | 解释 |
---|---|
cover | 用提供的图像覆盖它 |
blur | 通过插入周围像素来覆盖它 |
默认值是:blur
。
29.61.1 示例
-
使用
ffmpeg
生成给定视频的代表性调色板:ffmpeg -i file.ts -vf find_rect=newref.pgm,cover_rect=cover.jpg:mode=cover new.mkv
29.62 floodfill
泛滥区域具有相同像素组件的值与另一个值。
它接受以下选项:
x
设置像素x
坐标。
y
设置像素y
坐标。
s0
设置源#0
组件值。
s1
设置源#1
组件值。
s2
设置源#2
组件值。
s3
设置源#3组件值。
d0
设置目标#0
组件值。
d1
设置目标#1
组件值。
d2
设置目标#2
组件值。
d3
设置目标#3
组件值。
29.63 format
将输入视频转换为指定的像素格式之一。 Libavfilter
将尝试选择一个适合作为下一个过滤器的输入。
它接受以下参数:
pix_fmts
一个'|'
分隔的像素格式名称列表,例如pix_fmts = yuv420p | monow | rgb24
。
29.63.1 示例
-
将输入视频转换为
yuv420p
格式:format=pix_fmts=yuv420p
-
将输入视频转换为列表中的任何格式:
format=pix_fmts=yuv420p|yuv444p|yuv410p
29.64 fps
根据需要通过复制或删除帧将视频转换为指定的恒定帧速率。
它接受以下参数:
fps
所需的输出帧速率。 默认值为25
。
start_time
假设第一个PTS应该是给定值,以秒为单位。 这允许在流的开始处进行填充/修剪。 默认情况下,不会对第一帧的预期PTS
做出任何假设,因此不会进行填充或修剪。 例如,如果视频流在音频流之后开始或者用负PTS修剪任何帧,则可以将其设置为0
以用第一帧的重复填充开头。
round
时间戳(PTS
)舍入方法。
可能的值是:
值 | 解释 |
---|---|
zero | round towards 0 |
inf | round away from 0 |
down | round towards -infinity |
up | round towards +infinity |
near | round to nearest |
默认值是:near
。
eof_action
读取最后一帧时执行的操作。
可能的值是:
|round|使用与其他帧相同的时间戳舍入方法|
|pass|如果尚未达到输入持续时间,则通过最后一帧|
默认值是:round
。
或者,可以将选项指定为扁平字符串:fps [:start_time [:round]]
。
另请参见setpts过滤器
。
29.64.1 示例
-
将
fps
设置为25
的典型用法:fps=fps=25
-
将
fps
设置为24
,使用缩写和舍入方法舍入到最近:fps=fps=film:round=near
29.65 framepack
将两个不同的视频流打包成立体视频,在支持的编解码器上设置适当的元数据。 两个视图应具有相同的大小和帧速率,并且当较短的视频结束时处理将停止。 请注意,可以使用比例和fps
过滤器方便地调整视图属性。
它接受以下参数:
format
所需的包装形式。 支持的值是:
值 | 解释 |
---|---|
sbs | 视图彼此相邻(默认) |
tab | 这些观点是彼此重叠的 |
lines | 视图按行包装 |
columns | 视图按列填充 |
frameseq | 视图暂时交错 |
下面是一些示例:
# Convert left and right views into a frame-sequential video
ffmpeg -i LEFT -i RIGHT -filter_complex framepack=frameseq OUTPUT
# Convert views into a side-by-side video with the same output resolution as the input
ffmpeg -i LEFT -i RIGHT -filter_complex [0:v]scale=w=iw/2[left],[1:v]scale=w=iw/2[right],[left][right]framepack=sbs OUTPUT
29.66 framerate
通过从源帧插入新的视频输出帧来更改帧速率。
此滤镜不适用于隔行扫描媒体。如果您希望更改隔行扫描媒体的帧速率,则需要在此滤波器之前进行去隔行扫描,并在此滤波器后重新隔行扫描。
接下来的选项的描述如下。
fps
指定每秒的输出帧数。此选项也可以单独指定为值。默认值为50
。
interp_start
指定将创建输出帧的范围的起点,作为两帧的线性插值。范围是[0-255]
,默认值是15
。
interp_end
指定将创建输出帧的范围的结尾作为两个帧的线性插值。范围是[0-255]
,默认值是240
。
scene
将检测到场景变化的级别指定为0
到100
之间的值以指示新场景;较低的值反映了当前帧引入新场景的概率较低,而较高的值意味着当前帧更可能是一个。默认值为8.2
。
flags
指定影响过滤器进程的标志。
标志的可用值是:
scene_change_detect, scd
使用选项场景的值启用场景变化检测。 默认情况下启用此标志。
29.67 framestep
每第N
帧选择一帧。
此过滤器接受以下选项:
step
在每个步骤帧后选择帧。 允许的值是高于0
的正整数。
默认值为1
。
29.68 frei0r
将frei0r
效果应用于输入视频。
要启用此过滤器的编译,您需要安装frei0r
标头并使用--enable-frei0r
配置FFmpeg
。
它接受以下参数:
filter_name
要加载的frei0r
效果的名称。如果定义了环境变量FREI0R_PATH
,则在FREI0R_PATH
中以冒号分隔的列表指定的每个目录中搜索frei0r
效果。否则,将按以下顺序搜索标准frei0r
路径:‘HOME/.frei0r-1/lib/’, ‘/usr/local/lib/frei0r-1/’, ‘/usr/lib/frei0r-1/’
。
filter_params
传递给frei0r
效果的'|'
分隔参数列表。
frei0r
效果参数可以是布尔值(其值为“y”
或“n”
),双精度,颜色(指定为R/G/B
,其中R,G
和B
是0.0
和0.0
之间的浮点数) 1.0
(包括))或(ffmpeg-utils
)颜色语法中指定的颜色描述,位置(指定为X/Y
,其中X
和Y
是浮点数)and/or
字符串。
参数的数量和类型取决于加载的效果。如果未指定效果参数,则设置默认值。
29.68.1 示例
-
应用
distort0r
效果,设置前两个双参数:frei0r=filter_name=distort0r:filter_params=0.5|0.01
-
应用
colordistance
效果,将颜色作为第一个参数:frei0r=colordistance:0.2/0.3/0.4 frei0r=colordistance:violet frei0r=colordistance:0x112233
-
应用透视效果,指定左上角和右上角的图像位置:
frei0r=perspective:0.2/0.2|0.8/0.2
有关更多信息,请访问http://frei0r.dyne.org
29.69 fspp
应用快速简单的后处理。它是spp
的更快版本。
它将(I)DCT
分成水平/垂直通道。与简单的后处理滤波器不同,每个块执行一次,而不是每个像素。这允许更高的速度。
过滤器接受以下选项:
quality
设定质量。此选项定义平均的级别数。它接受4-5
范围内的整数。默认值为4
。
qp
强制一个恒定的量化参数。它接受0-63
范围内的整数。如果未设置,过滤器将使用视频流中的QP
(如果可用的话)。
strength
设置过滤器强度。它接受范围为-15
到32
的整数。较低的值意味着更多的细节,但也有更多的伪像,而较高的值使图像更平滑但也更模糊。默认值为0 - PSNR
最优。
use_bframe_qp
如果设置为1
,则允许从B
帧使用QP
。使用此选项可能会导致闪烁,因为B
帧通常具有更大的QP
。默认值为0
(不可用)。
网友评论