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

488 篇文章 14 订阅
463 篇文章 13 订阅

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

  • 将输入音量减半:

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

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

      volume=volume=6dB:precision=fixed
    

26.81 volumedetect

检测输入视频的音量。

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

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

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

26.81.1 示例

以下是输出的摘录:

[Parsed_volumedetect_0  0xa23120] mean_volume: -27 dB
[Parsed_volumedetect_0  0xa23120] max_volume: -4 dB
[Parsed_volumedetect_0  0xa23120] histogram_4db: 6
[Parsed_volumedetect_0  0xa23120] histogram_5db: 62
[Parsed_volumedetect_0  0xa23120] histogram_6db: 286
[Parsed_volumedetect_0  0xa23120] histogram_7db: 1042
[Parsed_volumedetect_0  0xa23120] histogram_8db: 2551
[Parsed_volumedetect_0  0xa23120] histogram_9db: 4609
[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个样本的削波等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值