FFPlay专辑

FFplay文档解读-19-音频过滤器四

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

前言

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

26.31 astats

显示有关音频通道的时域统计信息。 计算并显示每个音频通道的统计数据,并在适用的情况下给出总体数字。

它接受以下选项:

length

短窗长度,以秒为单位,用于峰值和谷值RMS测量。 默认值为0.0550毫秒)。 允许范围为[0.01 - 10]

metadata

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

每个通道的可用键是:DC_offset Min_level Max_level Min_difference Max_difference Mean_difference RMS_difference Peak_level RMS_peak RMS_trough Crest_factor Flat_factor Peak_count Bit_depth Dynamic_range

总体而言:DC_offset Min_level Max_level Min_difference Max_difference Mean_difference RMS_difference Peak_level RMS_level RMS_peak RMS_trough Flat_factor Peak_count Bit_depth Number_of_samples

例如,全键看起来像这个lavfi.astats.1.DC_offset或者这个lavfi.astats.Overall.Peak_count

有关每个键的含义,请参阅下文:

reset

设置要重新计算统计数据的帧数。默认为禁用。

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

DC offset

从零开始的平均幅度位移。

Min level

最低样本水平。

Max level

最大样本水平。

Min difference

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

Max difference

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

Mean difference

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

RMS difference

两个连续样本之间的均方根差异。

Peak level dB

RMS level dB

标准峰值和RMS水平以dBFS为单位。

RMS peak dB

RMS trough dB

通过短窗口测量的RMS水平的峰值和谷值。

Crest factor

标准峰值与RMS水平之比(注意:不以dB为单位)。

Flat factor

信号在其峰值水平(即最小水平或最大水平)的平坦度(即具有相同值的连续样本)。

Peak count

信号达到最低级别或最高级别的次数(不是样本数)。

Bit depth

音频的总位深度。每个样本使用的位数。

Dynamic range

dB为单位测量的音频动态范围。

26.32 atempo

调整音频速度。

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

26.32.1 示例

26.33 atrim

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

它接受以下参数:

start

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

end

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

start_pts

start相同,但此选项设置样本中的开始时间戳而不是秒。

end_pts

end相同,但此选项设置样本中的结束时间戳而不是秒。

duration

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

start_sample

应输出的第一个样本的编号。

end_sample

应删除的第一个样本的编号。

'start''end''duration'表示为持续时间规范;请参阅(ffmpeg-utils)持续时间语法

请注意,前两组start/end选项和'duration'选项查看帧时间戳,而_sample选项只计算通过过滤器的样本。因此,当时间戳错误,不精确或不从零开始时,start/end_ptsstart/end_sample将给出不同的结果。另请注意,此过滤器不会修改时间戳。如果希望输出时间戳从零开始,请在atrim过滤器后插入asetpts过滤器。

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

默认值是保留所有输入。所以可以设置例如只是最终值,以保持指定时间之前的一切。

下面是示例:

26.34 bandpass

应用具有中心频率和(3dB点)带宽宽度的双极Butterworth带通滤波器。 csg选项选择恒定裙边增益(peak gain = Q)而不是默认值:恒定0dB peak gain。 滤波器以每倍频程6dB(20dB per decade)滚降。

过滤器接受以下选项:

frequency, f

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

csg

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

width_type,t

设置方法以指定过滤器的带宽:

参数 含义
h Hz
q Q-Factor
o octave
s slope
k kHz
width, w

width_type为单位指定过滤器的带宽。

channels, c

指定要过滤的通道,默认情况下会过滤所有可用的通道。

26.34.1 命令行

此筛选器支持以下命令:

frequency, f

改变带通频率。 该命令的语法是:frequency

width_type,t

更改bandpass width_type。 该命令的语法是:width_type

width, w

改变带通宽度。 该命令的语法是:width

26.35 bandreject

应用具有中心频率和(3dB-point)带宽宽度的双极Butterworth带阻滤波器。 滤波器以每倍频程6dB20dB per decade)滚降。

过滤器接受以下选项:

frequency, f

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

width_type, t

设置方法以指定过滤器的带宽。

参数 解释
h Hz
q Q-Factor
o octave
s slope
k kHz
width, w

width_type为单位指定过滤器的带宽。

channels, c

指定要过滤的通道,默认情况下会过滤所有可用的通道。

26.35.1 命令行

此筛选器支持以下命令:

frequency, f

改变频带反射频率。 该命令的语法是:frequency

width_type,t

更改bandreject width_type。 该命令的语法是:width_type

width, w

更改bandreject宽度。 该命令的语法是:width

26.36 bass

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

过滤器接受以下选项:

gain, g

增益为0 Hz。 它的有用范围是大约-20(用于a large cut)到+20(用于a large boost)。 使用正增益时要小心clipping

frequency, f

设置滤波器的中心频率,因此可用于扩展或减小要增强或削减的频率范围。 默认值为100 Hz

width_type,t

设置方法以指定过滤器的带宽:

参数 解释
h Hz
q Q-Factor
o octave
s slope
k kHz
width, w

确定过滤器的架子过渡有多陡峭。

channels, c

指定要过滤的通道,默认情况下会过滤所有可用的通道。

26.36.1 命令行

此筛选器支持以下命令:

frequency, f

改变低音频率。 该命令的语法是:frequency

width_type,t

改变低音width_type。 该命令的语法是:width_type

width, w

改变低音宽度。 该命令的语法是:width

gain, g

改变低音增益。 该命令的语法是:gain

26.37 biquad

应用具有给定系数的双二阶IIR滤波器。 其中b0,b1,b2a0,a1,a2分别是分子和分母系数。 和通道,c指定要过滤的通道,默认情况下,所有可用的通道都被过滤。

26.37.1 命令行

此筛选器支持以下命令:

‘a0’
‘a1’
‘a2’
‘b0’
‘b1’
‘b2’

更改biquad参数。 该命令的语法是:value

26.38 bs2b

Bauer立体声到双耳转换,改善了立体声音频记录的耳机收听。

要启用此过滤器的编译,需要使用--enable-libbs2b配置FFmpeg

它接受以下参数:

profile

预定义crossfeed level

参数 解释
default 默认级别(fcut=700, feed=50)
cmoy Chu Moy circuit (fcut=700, feed=60)
jmeier Jan Meier circuit (fcut=650, feed=95)
fcut

切割频率(Hz)

feed

Feed级别(Hz)

26.39 channelmap

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

它接受以下参数:

map

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

channel_layout

输出流的通道布局。

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

26.39.1 示例

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

26.40 channelsplit

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

它接受以下参数:

channel_layout

输入流的通道布局。 默认为stereo

channels

描述要作为单独输出流提取的通道的通道布局或"all"以将每个输入通道提取为单独的流。 默认为"all"

选择输入中不存在于通道布局中的通道将导致错误。

26.40.1 示例

  将创建一个输出Matroska文件,其中包含两个音频流,一个仅包含左声道,另一个包含右声道。

上一篇下一篇

猜你喜欢

热点阅读