FFPlay专辑

FFplay文档解读-32-视频过滤器七

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

前言

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

29.60 find_rect

找到一个矩形对象

它接受以下选项:

object

对象图像的文件路径,需要为gray8

threshold

检测阈值,默认为0.5

mipmaps

mipmap数量,默认为3

xmin,ymin,xmax,ymax

指定要搜索的矩形。

29.60.1 示例

29.61 cover_rect

盖住一个矩形物体

它接受以下选项:

cover

可选封面图像的文件路径,需要在yuv420中。

mode

设置覆盖模式。

它接受以下值:

解释
cover 用提供的图像覆盖它
blur 通过插入周围像素来覆盖它

默认值是:blur

29.61.1 示例

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

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

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

将检测到场景变化的级别指定为0100之间的值以指示新场景;较低的值反映了当前帧引入新场景的概率较低,而较高的值意味着当前帧更可能是一个。默认值为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,GB0.00.0之间的浮点数) 1.0(包括))或(ffmpeg-utils)颜色语法中指定的颜色描述,位置(指定为X/Y,其中XY是浮点数)and/or字符串。

参数的数量和类型取决于加载的效果。如果未指定效果参数,则设置默认值。

29.68.1 示例

有关更多信息,请访问http://frei0r.dyne.org

29.69 fspp

应用快速简单的后处理。它是spp的更快版本。

它将(I)DCT分成水平/垂直通道。与简单的后处理滤波器不同,每个块执行一次,而不是每个像素。这允许更高的速度。

过滤器接受以下选项:

quality

设定质量。此选项定义平均的级别数。它接受4-5范围内的整数。默认值为4

qp

强制一个恒定的量化参数。它接受0-63范围内的整数。如果未设置,过滤器将使用视频流中的QP(如果可用的话)。

strength

设置过滤器强度。它接受范围为-1532的整数。较低的值意味着更多的细节,但也有更多的伪像,而较高的值使图像更平滑但也更模糊。默认值为0 - PSNR最优。

use_bframe_qp

如果设置为1,则允许从B帧使用QP。使用此选项可能会导致闪烁,因为B帧通常具有更大的QP。默认值为0(不可用)。

上一篇下一篇

猜你喜欢

热点阅读