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加群领取哦~
![]()
它确定允许哪些输入样本格式,这会影响音量缩放的精度。
样本格式 | 解释 |
---|---|
fixed | 8 位定点; 这将输入样本格式限制为U8 ,S16 和S32 |
float | 32 位浮点; 这将输入样本格式限制为FLT 。 (默认) |
double | 64 位浮点; 这会将输入样本格式限制为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_rate
和tb
变量可用,所有其他变量将计算为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 dB
,62
个-5 dB
,286
个-6 dB
等。
换句话说,将音量提高+4 dB
不会导致任何削波,将其提高+5 dB
会导致6
个样本的削波等。