美文网首页FFPlay专辑
FFplay文档解读-22-音频过滤器七

FFplay文档解读-22-音频过滤器七

作者: 张芳涛 | 来源:发表于2018-11-15 16:55 被阅读8次

    前言

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

    26.60 loudnorm

    EBU R128响度归一化。包括动态和线性归一化模式。支持单通道(直播,文件)和双通(文件)模式。该算法可以针对ILLRA和最大真实峰值。为了准确地检测真实峰值,音频流将被上采样到192 kHz,除非归一化模式是线性的。使用-ar选项或aresample过滤器显式设置输出采样率。

    过滤器接受以下选项:

    I, i
    

    设置集成响度目标。范围是-70.0 - -5.0。默认值为-24.0

    LRA, lra
    

    设置响度范围目标。范围是1.0 - 20.0。默认值为7.0

    TP, tp
    

    设置最大真峰值。范围是-9.0 - +0.0。默认值为-2.0。

    measured_I, measured_i
    

    测量输入文件的IL。范围是-99.0 - +0.0

    measured_LRA, measured_lra
    

    测量输入文件的LRA。范围是0.0 - 99.0

    measured_TP, measured_tp
    

    测量输入文件的真峰值。范围是-99.0 - +99.0

    measured_thresh
    

    输入文件的测量阈值。范围是-99.0 - +0.0

    offset
    

    设置偏移增益。在真峰值限制器之前应用增益。范围是-99.0 - +99.0。默认值为+0.0

    linear
    

    如果可能,线性标准化。还必须指定measured_Imeasured_LRAmeasured_TPmeasured_thresh才能使用此模式。选项是真还是假。默认为true

    dual_mono
    

    将单声道输入文件视为dual-mono。如果单声道文件用于在立体声系统上播放,则其EBU R128测量将在感知上不正确。如果设置为true,则此选项将补偿此效果。多通道输入文件不受此选项的影响。选项是真还是假。默认值为false

    print_format
    

    设置统计信息的打印格式。选项是summaryjsonnone。默认值为none

    26.61 lowpass

    应用具有3dB点频率的低通滤波器。 滤波器可以是单极或双极(默认)。 滤波器以每极每极6dB(每极每极20dB)滚降。

    过滤器接受以下选项:

    frequency, f
    

    设置频率,单位为Hz。 默认值为500

    poles, p
    

    设置极数。 默认值为2

    width_type,t
    

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

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

    width_type为单位指定过滤器的带宽。 仅适用于双极滤波器。 默认值为0.707q并给出Butterworth响应。

    channels, c
    

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

    26.61.1 示例

    低通只有LFE通道,它不存在LIFE它什么都不做:

    lowpass=c=LFE
    

    26.61.2 命令行

    此筛选器支持以下命令:

    frequency, f
    

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

    width_type,t
    

    更改低通宽度_type。 该命令的语法是:width_type

    width, w
    

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

    26.62 lv2

    加载LV2LADSPA版本2)插件。

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

    plugin, p
    

    指定插件URI。您可能需要转义':'

    controls, c
    

    设置'|'分隔的控件列表,这些控件是零个或多个浮点值,用于确定加载的插件的行为(例如延迟,阈值或增益)。如果‘controls’设置为help,则会打印所有可用控件及其有效范围。

    sample_rate,s
    

    指定采样率,默认为44100。仅在插件输入为零时使用。

    nb_samples,n
    

    设置每个输出帧的每个通道的采样数,默认为1024。仅在插件输入为零时使用。

    duration, d
    

    设置源音频的最短持续时间。请参阅(ffmpeg-utils)接受语法的持续时间语法。请注意,结果持续时间可能大于指定的持续时间,因为生成的音频始终在完整帧的末尾被剪切。如果未指定,或者表达的持续时间为负,则应该永久生成音频。仅在插件输入为零时使用。

    26.62.1 示例

    • 应用Calf的低音增强器插件:

        lv2=p=http\\\\://calf.sourceforge.net/plugins/BassEnhancer:c=amount=2
      
    • 从Calf申请vinyl插件:

        lv2=p=http\\\\://calf.sourceforge.net/plugins/Vinyl:c=drone=0.2|aging=0.5
      
    • 应用ArtyFXbit crusher插件:

        lv2=p=http\\\\://www.openavproductions.com/artyfx#bitta:c=crush=0.3
      

    26.63 mcompand

    多频段压缩或扩展音频的动态范围。

    使用4Linkwitz-Riley IIR将输入音频划分为频段。 这类似于扬声器的交叉,并且在没有压缩扩展器动作时导致平坦的频率响应。

    它接受以下参数:

    args
    

    这个选项的语法是:attack,decay,[attack,decay..] soft-knee points crossover_frequency [delay [initial_volume [gain]]] | attack,decay ...有关每个项目的说明,请参阅compand过滤器文档相关章节。

    26.64 pan

    混合具有特定增益级别的通道。 过滤器接受输出通道布局,后跟一组通道定义。

    此滤波器还可以有效地重新映射音频流的通道。

    过滤器接受以下形式的参数:l|outdef|outdef|...

    l
    

    输出通道布局或通道数

    outdef
    

    输出通道规范,格式为:out_name = [gain *] in_name [(+ - )[gain *] in_name ...]

    out_name
    

    输出通道,用于定义通道名称(FL,FR等)或通道编号(c0,c1等)

    gain
    

    通道的乘法系数,1保持音量不变

    in_name
    

    要使用的输入通道,有关详细信息,请参阅out_name; 无法混合命名和编号的输入通道

    如果通道规范中的'=''<'替换,那么该规范的增益将被重新规范化,以使总数为1,从而避免削波噪声。

    26.64.1混合示例

    例如,如果要从立体声向单声道混音,但左声道具有更大的因子:

    pan=1c|c0=0.9*c0+0.1*c1
    

    定制的下混音立体声,可自动适用于3声道,4声道,5声道和7声道环绕声:

    pan=stereo| FL < FL + 0.5*FC + 0.6*BL + 0.6*SL | FR < FR + 0.5*FC + 0.6*BR + 0.6*SR
    

    请注意,ffmpeg集成了一个默认的下混(和上混)系统,除非有特殊需求,否则应该首选该系统(参见'-ac'选项)。

    26.64.2重新映射示例

    当且仅当以下情况时,频道重新映射才有效:

    • 增益系数为零或一。
    • 每个通道输出只有一个输入。

    如果满足所有这些条件,则过滤器将通知用户("Pure channel mapping detected"),并使用优化且无损耗的方法进行重新映射。

    例如,如果您有一个5.1源并希望通过删除额外的通道来获得立体声音频流:

    pan="stereo| c0=FL | c1=FR"
    

    给定相同的源,您还可以切换左前和右前通道并保持输入通道布局:

    pan="5.1| c0=c1 | c1=c0 | c2=c2 | c3=c3 | c4=c4 | c5=c5"
    

    如果输入是立体声音频流,可以将前左声道(并保持立体声声道布局)静音:

    pan="stereo|c1=c1"
    

    仍然使用立体声音频流输入,可以复制左前和右前的右声道:

    pan="stereo| c0=FR | c1=FR"
    

    26.65 replaygain

    ReplayGain扫描仪过滤器。 此过滤器将音频流作为输入并以不变的方式输出。 在过滤结束时,它会显示track_gaintrack_peak

    26.66 resample

    转换音频样本格式,采样率和通道布局。 它并不意味着直接使用。

    26.67 rubberband

    使用librubberband进行时间拉伸和变速。

    过滤器接受以下选项:

    tempo
    

    设定速度比例因子。

    pitch
    

    设置音高比例因子。

    transients
    

    设置瞬态检测器。 可能的值是:

    参数
    crisp
    mixed
    smooth
    detector
    

    设置检测器。 可能的值是:

    参数
    compound
    percussive
    soft
    phase
    

    设定阶段。 可能的值是:

    参数
    laminar
    independent
    window
    

    设置处理窗口大小。 可能的值是:

    参数
    standard
    short
    long
    smoothing
    

    设置平滑。 可能的值是:

    参数
    off
    on
    formant
    

    在换档时启用共振峰保持。 可能的值是:

    参数
    shifted
    preserved
    pitchq
    

    设定音高质量。 可能的值是:

    参数
    quality
    speed
    consistency
    channels
    

    设置频道。 可能的值是:

    参数
    apart
    together

    26.68 sidechaincompress

    该滤波器的作用与普通压缩器相同,但能够使用第二输入信号压缩检测到的信号。它需要两个输入流并返回一个输出流。将根据第二流信号处理第一输入流。然后可以在后续处理阶段用其他滤波器对滤波后的信号进行滤波。请参阅panamerge过滤器。

    过滤器接受以下选项:

    level_in
    

    设置输入增益。默认值为1。范围介于0.01562564之间。

    threshold
    

    如果第二流的信号升高到该水平以上,则将影响第一流的增益减少。默认为0.125。范围介于0.000975631之间。

    ratio
    

    设置信号减少的比率。 1:2表示如果电平比阈值提高4dB,则在降低后仅为2dB。默认值为2。范围介于120之间。

    attack
    

    在增益降低开始之前信号必须升高到阈值以上的毫秒数。默认值为20。范围介于0.012000之间。

    release
    

    在减少之前信号必须降至阈值以下的毫秒数再次减少。默认值为250。范围介于0.019000之间。

    makeup
    

    设置处理后信号放大的数量。默认值为1。范围是164

    knee
    

    使尖锐的膝盖在阈值附近弯曲,以更轻柔地进入增益减少。默认值为2.82843。范围在18之间。

    link
    

    选择侧链流的所有通道之间的平均水平或侧链流的较大(最大)通道是否影响减少。默认值是平均值。

    detection
    

    如果是峰值,则应该采取确切的信号;如果是均方根,则应该采用RMS。默认值是rms,主要是更平滑。

    level_sc
    

    设置侧链增益。默认值为1。范围介于0.01562564之间。

    mix
    

    输出中使用压缩信号多少钱。默认值为1。范围介于01之间。

    26.68.1 示例

    • 完整的ffmpeg示例采用2个音频输入,第1个输入根据第2个输入的信号压缩,后来的压缩信号与第2个输入合并:

        ffmpeg -i main.flac -i sidechain.flac -filter_complex "[1:a]asplit=2[sc][mix];[0:a][sc]sidechaincompress[compr];[compr][mix]amerge"
      

    26.69 sidechaingate

    sidechain gate acts的作用类似于普通(宽带)gate,但能够在将检测到的信号发送到增益降低阶段之前对其进行滤波。通常,gate使用全范围信号来检测高于阈值的电平。例如:如果从侧链信号中切断所有较低频率,只有在没有足够高的高度时,gate才会减小音轨的音量。使用这种技术,可以减少天然鼓的共鸣,或者从严重扭曲的吉他中消除"rumbling"的柔和笔画。它需要两个输入流并返回一个输出流。将根据第二流信号处理第一输入流。

    过滤器接受以下选项:

    level_in
    

    在过滤之前设置输入级别。默认值为1。允许范围为0.01562564

    range
    

    设置信号低于阈值时的增益降低水平。默认值为0.06125。允许范围为01

    threshold
    

    如果信号超过此水平,则释放增益减少。默认值为0.125。允许范围为01

    ratio
    

    设置信号减少的比率。默认值为2。允许范围为19000

    attack
    

    在增益减少停止之前,信号必须超过阈值的毫秒数。默认值为20毫秒。允许范围为0.019000

    release
    

    在减少再次增加之前信号必须降至阈值以下的毫秒数。默认值为250毫秒。允许范围为0.019000

    makeup
    

    设定处理后的信号放大量。默认值为1。允许范围为164

    knee
    

    使尖锐的膝盖在阈值附近弯曲,以更轻柔地进入增益减少。默认值为2.828427125。允许范围为18

    detection
    

    选择是否应该采取确切的信号进行检测,或选择RMS。默认值是rms。可以是峰值或有效值。

    link
    

    选择所有通道之间的平均水平或更大的通道是否会影响减少。默认值是平均值。可以是平均值还是最大值。

    level_sc
    

    设置侧链增益。默认值为1。范围是0.01562564

    相关文章

      网友评论

        本文标题:FFplay文档解读-22-音频过滤器七

        本文链接:https://www.haomeiwen.com/subject/agnyfqtx.html