FFplay文档解读-26-视频过滤器一

配置 FFmpeg构建时,可以使用 --disable-filters禁用任何现有过滤器。 配置输出将显示构建中包含的视频过滤器。

以下是当前可用视频过滤器的说明。

29.1 alphaextract

从输入中提取 alpha分量作为灰度视频。 这对 alphamerge过滤器特别有用。

29.2 alphamerge

使用第二个输入的灰度值添加或替换主输入的 alpha分量。 这旨在与 alphaextract一起使用,以允许传输或存储具有不支持 alpha通道的格式的 alpha的帧序列。

例如,要从正常的 YUV编码视频和使用 alphaextract创建的单独视频重建完整帧,可以使用:

movie=in_alpha.mkv [alpha]; [in][alpha] alphamerge [out]

由于此过滤器是为重建而设计的,因此它在不考虑时间戳的情况下对帧序列进行操作,并在任一输入到达流末尾时终止。 如果您的编码管道丢帧,这将导致问题。 如果您尝试将图像应用为视频流的叠加层,请考虑使用叠加层滤镜。

29.3 ass

与字幕过滤器相同,只是它不需要 libavcodeclibavformat工作。 另一方面,它仅限于 ASSAdvanced Substation Alpha)字幕文件。

除了字幕过滤器中的常用选项外,此过滤器还接受以下选项:

shaping

设置整形引擎

可用值包括:

参数解释auto默认的

整形引擎,它是最好的simple快速,与字体无关的整形器,只能进行替换complex使用

进行替换和定位的较慢整形器

默认值是: auto

29.4 atadenoise

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

过滤器接受以下选项:

0a

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

0b

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

1a

为第二个平面设置阈值 A。 默认值为 0.02。 有效范围是 00.3

1b

设置第二平面的阈值 B。 默认值为 0.04。 有效范围是 05

2a

为第 3平面设置阈值 A。 默认值为 0.02。 有效范围是 00.3

2b

为第 3平面设置阈值 B。 默认值为 0.04。 有效范围是 05

阈值 A设计用于对输入信号的突然变化做出反应,阈值 B设计用于对输入信号的连续变化作出反应。

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

设置帧滤波器的平面将用于平均。 默认是 all

29.5 avgblur

应用平均模糊滤镜。

过滤器接受以下选项:

sizeX

设置水平内核大小。

planes

设置要过滤的平面。 默认情况下,将过滤所有平面。

sizeY

设置垂直内核大小,如果为零则与 sizeX相同。 默认值为 0

29.6 bbox

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

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

过滤器接受以下选项:

min_val

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

29.7 bitplanenoise

显示和测量位平面噪声。

过滤器接受以下选项:

bitplane

设置要分析的平面。 默认值为 1

filter

从上面的 bitplane滤除噪声像素。 默认为禁用。

29.8 blackdetect

检测( almost)完全黑色的视频间隔。可用于检测章节转换,商业广告或无效录制。输出行包含检测到的黑色间隔的开始,结束和持续时间,以秒为单位。

要显示输出行,需要将 loglevel至少设置为 AV_LOG_INFO值。

过滤器接受以下选项:

black_min_duration,d

设置以秒为单位表示的最小检测黑色持续时间它必须是非负浮点数。

默认值为 2.0

picture_black_ratio_th,pic_th

设置考虑图片 "black"的阈值。表达比率的最小值:

nb_black_pixels / nb_pixels

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

pixel_black_th,pix_th

设置考虑像素 "black"的阈值。

阈值表示像素被认为是 "black"的最大像素亮度值。提供的值根据以下等式缩放:

absolute_threshold = luminance_minimum_value + pixel_black_th * luminance_range_size

luminance_range_sizeluminance_minimum_value取决于输入视频格式, YUV全范围格式的范围是 [0-255]YUV非全范围格式的范围是 [16-235]

默认值为 0.10

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

blackdetect = d = 2:pix_th = 0.00

29.9 blackframe

检测 (almost)完全黑色的帧。 可用于检测章节转换或商业广告。 输出行包括检测到的帧的帧编号,黑度百分比,文件中的位置(如果已知)或 -1以及时间戳(以秒为单位)。

要显示输出行,需要将 loglevel至少设置为 AV_LOG_INFO值。

此过滤器导出帧元数据 lavfi.blackframe.pblack。 该值表示图片中低于阈值的像素百分比。

它接受以下参数:

amount

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

threshold, thresh

像素值被认为是黑色的阈值; 它默认为 32

29.10 blend, tblend

将两个视频帧相互混合。

blend滤波器采用两个输入流并输出一个流,第一个输入是 "top"层,第二个输入是 "bottom"层。 默认情况下,输出在最长输入终止时终止。

tblend(时间混合)滤波器从一个单独的流中获取两个连续的帧,并输出通过在旧帧的顶部混合新帧而获得的结果。

接下来的选项的描述如下:

c0_mode
c1_mode
c2_mode
c3_mode
all_mode

all_mode的情况下,为特定像素组件或所有像素组件设置混合模式。 默认值是正常的。

组件模式的可用值为:

值additiongrainmergeandaverageburndarkendifferencegrainextractdividedodgefreezeexclusionextremityglowhardlighthardmixheatlightenlinearlightmultiplymultiply128negationnormaloroverlayphoenixpinlightreflectscreensoftlightsubtractvividlightxor

c0_opacity
c1_opacity
c2_opacity
c3_opacity
all_opacity

all_opacity的情况下,为特定像素组件或所有像素组件设置混合不透明度。 仅与像素组件混合模式结合使用。

c0_expr
c1_expr
c2_expr
c3_expr
all_expr

all_expr的情况下,为特定像素组件或所有像素组件设置混合表达式。 请注意,如果设置了相关模式选项,则将忽略它们。

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

变量解释N过滤帧的序号,从0开始XY当前样本的坐标WH当前滤波平面的宽度和高度SWSH宽度和高度比例取决于当前过滤的平面。 它是相应的亮度平面像素数与当前平面数之间的比率。 例如: 对于

,亮度平面的值为

,色度平面的值为

T当前帧的时间,以秒为单位表示TOP, A第一个视频帧(顶层)当前位置的像素分量值BOTTOM, B第二视频帧(底层)当前位置的像素分量值

混合滤镜还支持 framesync选项。

  • 在前 10秒内应用从底层到顶层的过渡:
  blend=all_expr='A*(if(gte(T,10),1,T/10))+B*(1-(if(gte(T,10),1,T/10)))'
  • 应用从顶层到底层的线性水平过渡:
  blend=all_expr='A*(X/W)+B*(1-X/W)'
  • 应用 1x1 checkerboard效果:
  blend=all_expr='if(eq(mod(X,2),mod(Y,2)),A,B)'
  • 应用 uncover lef效果:
  blend=all_expr='if(gte(N*SW+X,W),A,B)'
  • 应用 uncover down效果:
  blend=all_expr='if(gte(Y-N*SH,0),A,B)'
  • 应用 uncover up-left效果:
  blend=all_expr='if(gte(T*SH*40+Y,H)*gte((T*40*SW+X)*W/H,W),A,B)'
  • 对角线分割视频,并在每侧显示顶层和底层:
  blend=all_expr='if(gt(X,Y*(W/H)),A,B)'
  • 显示当前帧和上一帧之间的差异:
  tblend=all_mode=grainextract

Original: https://blog.csdn.net/irainsa/article/details/127813091
Author: 【零声教育】音视频开发进阶
Title: FFplay文档解读-26-视频过滤器一

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/653841/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球