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

前言

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

  • 将音频降低到80%的速度:

      atempo=0.8
    
  • 要将音频加速到125%的速度:

      atempo=1.25
    

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过滤器。

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

下面是示例:

  • 删除除输入的第二分钟以外的所有内容:

      ffmpeg -i INPUT -af atrim=60:120
    
  • 仅保留前1000个样本:

      ffmpeg -i INPUT -af atrim=end_sample=1000
    

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

  • 例如,假设一个5.1 +缩混输入MOV文件可以使用如下的命令行:

      ffmpeg -i in.mov -filter 'channelmap=map=DL-FL|DR-FR' out.wav
    

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

  • 修复以AAC原生频道顺序不正确编码的5.1 WAV:

      ffmpeg -i in.wav -filter 'channelmap=1|2|0|5|3|4:5.1' out.wav
    

26.40 channelsplit

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

它接受以下参数:

channel_layout

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

channels

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

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

26.40.1 示例

  • 例如,假设立体声输入MP3文件:

      ffmpeg -i in.mp3 -filter_complex channelsplit 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
    
  • 仅从5.1 WAV文件中提取LFE

      ffmpeg -i in.wav -filter_complex 'channelsplit=channel_layout=5.1:channels=LFE[LFE]'
      -map '[LFE]' lfe.wav
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,454评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,553评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,921评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,648评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,770评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,950评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,090评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,817评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,275评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,592评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,724评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,409评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,052评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,815评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,043评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,503评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,627评论 2 350

推荐阅读更多精彩内容