• FFplay文档解读-24-音频过滤器九


    26.80 volume

    调整输入音量。

    它接受的参数如下:

    volume
    

    设置音量表达式。

    输出值被剪切为最大值。

    输出音量由关系式给出:

    output_volume = volume * input_volume
    

    音量的默认值为1.0

    precision
    

    此参数表示数学精度。

    学习地址:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂

    【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~  

      

    它确定允许哪些输入样本格式,这会影响音量缩放的精度。

    样本格式解释
    fixed8位定点; 这将输入样本格式限制为U8S16S32
    float32位浮点; 这将输入样本格式限制为FLT。 (默认)
    double64位浮点; 这会将输入样本格式限制为DBL
    replaygain
    

    选择在输入帧中遇到ReplayGain边数据时的行为

    参数解释
    drop删除ReplayGain边数据,忽略其内容(默认)
    ignore忽略ReplayGain边数据,但将其保留在框架中
    track如果存在,则优先选择轨道增益
    album如果有专辑,则优先考虑专辑增益
    replaygain_preamp
    

    以dB为单位的预放大增益应用于所选的重放增益。

    replaygain_preamp的默认值为0.0

    eval
    

    在计算音量表达式时设置。

    它接受以下值:

    参数解释
    once仅在过滤器初始化期间或在发送volume命令时评估表达式
    frame计算每个传入帧的表达式

    默认值为'once'

    volume表达式可以包含以下参数:

    n
    

    帧号(从零开始)

    nb_channels
    

    频道数量

    nb_consumed_samples
    

    过滤器消耗的样本数

    nb_samples
    

    当前帧中的样本数

    pos
    

    文件中的原始帧位置

    pts
    

    PTS

    sample_rate
    

    采样率

    startpts
    

    PTS在流的开始

    startt
    

    流开始的时间

    t
    

    帧时间

    tb
    

    时间戳时基

    volume
    

    最后设定的音量值

    请注意,当eval设置为once时,只有sample_ratetb变量可用,所有其他变量将计算为NAN

    26.80.1 命令行

    此筛选器支持以下命令:

    volume
    

    修改volum1e表达式。 该命令接受相应选项的相同语法。

    如果指定的表达式无效,则保持其当前值。

    replaygain_noclip
    

    通过限制应用的增益来防止削波。

    replaygain_noclip的默认值为1

    26.80.2 示例

    • 将输入音量减半:

      1. volume=volume=0.5
      2. volume=volume=1/2
      3. volume=volume=-6.0206dB
    • 在上面的所有示例中,volume的命名键可以省略,例如:

        volume=0.5
      
    • 使用定点精度将输入音频功率提高6分贝:

        volume=volume=6dB:precision=fixed
      

    26.81 volumedetect

    检测输入视频的音量。

    过滤器没有参数。 输入未被修改。 达到输入流结束时,将在日志中打印有关卷的统计信息。

    特别是它将显示平均体积(均方根),最大体积(基于每个样品),以及注册体积值的直方图的开始(从样本的最大值到累积的1/1000))。

    所有体积均以相对于最大PCM值的分贝为单位。

    26.81.1 示例

    以下是输出的摘录:

    1. [Parsed_volumedetect_0 0xa23120] mean_volume: -27 dB
    2. [Parsed_volumedetect_0 0xa23120] max_volume: -4 dB
    3. [Parsed_volumedetect_0 0xa23120] histogram_4db: 6
    4. [Parsed_volumedetect_0 0xa23120] histogram_5db: 62
    5. [Parsed_volumedetect_0 0xa23120] histogram_6db: 286
    6. [Parsed_volumedetect_0 0xa23120] histogram_7db: 1042
    7. [Parsed_volumedetect_0 0xa23120] histogram_8db: 2551
    8. [Parsed_volumedetect_0 0xa23120] histogram_9db: 4609
    9. [Parsed_volumedetect_0 0xa23120] histogram_10db: 8409

    这意味着:

    均方能约为-27dB,或10^-2.7
    最大样本为-4 dB,或更精确地介于-4 dB-5 dB之间。
    4个样本,-4 dB62-5 dB286-6 dB等。
    换句话说,将音量提高+4 dB不会导致任何削波,将其提高+5 dB会导致6个样本的削波等。

  • 相关阅读:
    电脑蓝屏怎么办 七大原因及解决办法来帮你
    A-Level经济真题(10)
    protobuf语法之proto2简述
    F28069M教程4-System Initialization
    Spring boot定时任务
    Ajax fetch navigator.sendBeacon 三个的区别
    20220823 c++
    基于SSM的个人网站的设计与实现
    Elasticsearch安装
    25-多线程
  • 原文地址:https://blog.csdn.net/irainsa/article/details/127809526