26.70 silencedetect
检测音频流中的静音。
此过滤器在检测到输入音量小于或等于噪声容限值的持续时间大于或等于最小检测到的噪声持续时间时记录消息。
打印时间和持续时间以秒为单位表示。
过滤器接受以下选项:
duration, d
设置静音持续时间直到通知(默认为2
秒)。
noise, n
设置噪音容差。 可以以dB
为单位指定(如果dB
附加到指定值)或幅度比。 默认值为-60dB
或0.001
。
26.70.1 示例
-
使用
-50dB
噪声容限检测5
秒静音:silencedetect=n=-50dB:d=5
-
完整示例使用
ffmpeg
在silence.mp3
中检测具有0.0001
噪声容限的静音:ffmpeg -i silence.mp3 -af silencedetect=noise=0.0001 -f null -
学习地址:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~
26.71 silenceremove
从音频的开头,中间或末尾删除静音。
过滤器接受以下选项:
start_periods
此值用于指示是否应在音频开头修剪音频。值为零表示不应从头开始修剪静音。指定非零值时,它会调整音频,直到找到非静音。通常,当从音频开始调整静音时,start_periods
将为1
,但是可以将其增加到更高的值以将所有音频调整到非静音时段的特定计数。默认值为0
。
start_duration
指定在停止修剪音频之前必须检测到非静音的时间量。通过增加持续时间,可以将噪声突发视为静音并进行修剪。默认值为0
。
start_threshold
这表明应将哪个样本值视为静音。对于数字音频,值0
可能没问题但是对于从模拟录制的音频,您可能希望增加该值以考虑背景噪声。可以以dB
为单位指定(如果dB
附加到指定值)或幅度比。默认值为0
。
stop_periods
设置音频结束时修剪静音的计数。要从文件中间删除静音,请指定一个负数的stop_periods
。然后将该值视为正值,并用于指示效果应重启start_periods
指定的处理,使其适合于删除音频中间的静音时段。默认值为0
。
stop_duration
指定在不再复制音频之前必须存在的静音持续时间。通过指定更高的持续时间,可以在音频中保留所需的静音。默认值为0
。
stop_threshold
这与start_threshold
相同,但是从音频结束处调整静音。可以以dB
为单位指定(如果