音频处理深入:混音、降噪、音量调节与格式转换
音频处理深入:混音、降噪、音量调节与格式转换
视频处理讲完了,这篇专门讲音频。音量忽大忽小怎么办?背景噪音怎么消?两个音频怎么混一起?麦克风录音怎么优化?FFmpeg 的音频滤镜虽然不如视频多,但日常处理完全够用。
大家好,我是黒漂技术佬。
很多人做视频只关心画面,忽略了音频——但观众对音频的容忍度比视频低多了。画面糊一点能看,声音渣、有杂音、忽大忽小,直接就划走了。
这篇把 FFmpeg 常用的音频处理讲清楚:音量、降噪、混音、格式转换、常用滤镜,配合实际场景讲。
一、音频基础概念扫盲
先搞懂几个基本概念,后面参数才看得懂。
采样率(Sample Rate)
每秒对声音采样多少次,单位 Hz。常见:
- 44100 Hz(44.1kHz):CD 音质,最常用
- 48000 Hz(48kHz):视频常用标准
- 22050 Hz / 16000 Hz:语音、电话音质
位深(Bit Depth)
每个采样点用多少位存储,决定动态范围:
- 16 bit:CD 音质,够用
- 24 bit:专业录音,后期处理空间大
声道数(Channels)
- 1:单声道(Mono)
- 2:立体声(Stereo)
- 5.1、7.1:环绕声
码率(Bitrate)
每秒音频的数据量,单位 kbps。和音质正相关:
- 64 kbps 单声道:语音够用
- 128 kbps 立体声:MP3 常见,接近 CD 听感
- 192-320 kbps:高音质
- 无损(FLAC/PCM):1000+ kbps
二、音频格式转换
常见格式对比
| 格式 | 编码 | 特点 | 适用场景 |
|---|---|---|---|
| MP3 | MPEG-1 Layer3 | 兼容性最好,有损 | 通用、音乐 |
| AAC | Advanced Audio Coding | 同码率比 MP3 好 | 视频、手机、流媒体 |
| Opus | Opus | 低码率音质最好 | 语音、直播、WebRTC |
| FLAC | Free Lossless | 无损压缩 | 音乐存档 |
| WAV | PCM 原始数据 | 无损、体积大 | 录音、后期制作 |
常用转换命令
MP3 → AAC
ffmpeg-iinput.mp3-acodecaac-b:a128k output.m4aWAV → MP3
ffmpeg-iinput.wav-acodeclibmp3lame-q:a2output.mp3-q:a 2是 LAME 的 VBR 模式,约 190kbps,音质很好。
任意格式 → WAV(无损提取)
ffmpeg-iinput.mp3-acodecpcm_s16le output.wav提取视频里的音频
ffmpeg-iinput.mp4-vn-acodeccopy output.aac-vn去掉视频流,-acodec copy直接复制音频,不重新编码,速度快。
三、音量调节
基础调节
# 音量加倍ffmpeg-iinput.mp3-af"volume=2"output.mp3# 音量减半ffmpeg-iinput.mp3-af"volume=0.5"output.mp3# 降低 3dBffmpeg-iinput.mp3-af"volume=-3dB"output.mp3可以用倍数,也可以用 dB(分贝)。
音量标准化:自动调到合适大小
录音声音忽大忽小,或者整体太小怎么办?用loudnorm滤镜做响度标准化:
ffmpeg-iinput.mp3-af"loudnorm=I=-16:TP=-1.5:LRA=11"output.mp3参数说明:
I=-16:综合响度 -16 LUFS(视频平台常用标准)TP=-1.5:峰值不超过 -1.5 dBLRA=11:响度范围
做视频上传 B 站、YouTube 的话,响度标准化很有用——不会声音太小被淹没,也不会太大被平台二次压缩。
检测音量
先看看当前音频的音量情况,再决定调多少:
ffmpeg-iinput.mp3-af"volumedetect"-fnull /dev/null输出里会有max_volume、mean_volume,告诉你最大音量和平均音量。
四、降噪
录音有背景噪音(空调声、电脑风扇声),用 FFmpeg 可以消掉一部分。
方法 1:afftdn(频域降噪)
ffmpeg-iinput.mp3-af"afftdn=nf=-20"output.mp3nf=-20:降噪强度,单位 dB。数值越小降噪越强。- 常用范围:-15 到 -30
- 优点:简单,一步到位
- 缺点:降噪强了容易有「水音」「金属音」
方法 2:arnndn(AI 降噪,推荐)
FFmpeg 7.0+ 支持的 AI 降噪滤镜,效果比传统方法好很多。
ffmpeg-iinput.mp3-af"arnndn=m=model.rnnn"output.mp3需要下载训练好的模型文件(.rnnn 格式),网上有很多开源的语音降噪模型。
我做售货柜语音交互的时候对比过,arnndn 对环境噪音的抑制效果明显更好,人声也更自然。缺点是需要额外模型文件,老版本 FFmpeg 不支持。
降噪的正确姿势
- 先录一段纯噪音(没人说话的几秒)
- 用噪音样本做降噪参考(部分降噪工具支持)
- 降噪强度别开太大,否则人声会失真
- 降噪是「减法」,噪音太大救不回来,前期录好最重要
五、混音与拼接
两个音频混合(叠加)
ffmpeg-ivoice.mp3-ibgm.mp3-filter_complex"[0:a][1:a]amix=inputs=2:duration=shortest"output.mp3amix=inputs=2:两个输入混合duration=shortest:以短的那个为准,播完就结束
背景音乐音量调小
ffmpeg-ivoice.mp3-ibgm.mp3-filter_complex"[1:a]volume=0.3[bgm];[0:a][bgm]amix=inputs=2"output.mp3先把背景音乐降到 30%,再和人声混合。
多个音频首尾拼接
和视频拼接一样,用 concat:
# filelist.txtfile'001.mp3'file'002.mp3'file'003.mp3'ffmpeg-fconcat-ifilelist.txt-ccopy output.mp3格式、采样率、声道数必须一致才能 copy,否则要重新编码。
六、声道处理
立体声转单声道
ffmpeg-istereo.mp3-ac1mono.mp3提取左声道 / 右声道
# 左声道ffmpeg-istereo.mp3-af"pan=mono|c0=c0"left.mp3# 右声道ffmpeg-istereo.mp3-af"pan=mono|c0=c1"right.mp3单声道转立体声(复制声道)
ffmpeg-imono.mp3-ac2stereo.mp3只是左右声道一模一样,不是真的立体声效果。
双声道各自处理
比如左声道人声、右声道伴奏,分别处理再混合。
七、常用音频效果
淡入淡出
# 前 3 秒淡入,最后 3 秒淡出ffmpeg-iinput.mp3-af"afade=t=in:d=3,afade=t=out:st=27:d=3"output.mp3t=in淡入,t=out淡出d=3持续 3 秒st=27从第 27 秒开始淡出
均衡器(EQ)
# 提升低音(100Hz 增益 5dB)ffmpeg-iinput.mp3-af"equalizer=f=100:t=q:w=1:g=5"output.mp3# 提升高音(5kHz 增益 3dB)ffmpeg-iinput.mp3-af"equalizer=f=5000:t=q:w=1:g=3"output.mp3简单调节音色,让声音更闷或更亮。
压缩器(Compressor)
声音忽大忽小时,压缩器把大的压小、小的放大,整体音量更平稳。
ffmpeg-iinput.mp3-af"acompressor=threshold=-20dB:ratio=4:attack=5:release=50"output.mp3threshold=-20dB:超过 -20dB 的部分开始压缩ratio=4:4:1 压缩比attack=5:启动时间 5msrelease=50:释放时间 50ms
做语音节目、播客的时候加个压缩器,听感会好很多——不会突然一声吓一跳,也不会小声听不清。
混响(Reverb)
ffmpeg-iinput.mp3-af"aecho=0.8:0.9:1000:0.3"output.mp3加一点点空间感,干巴巴的人声会自然一些。别加太多,不然像澡堂子里说话。
八、重采样:改采样率和位深
# 48kHz 转 44.1kHzffmpeg-iinput.wav-ar44100output.wav# 16bit 转 24bitffmpeg-iinput.wav-sample_fmts32 output.wav-ar改采样率,-sample_fmt改位深格式。
视频和音频合并的时候,如果采样率不一致,最好先统一,否则播放可能有问题。
九、实战:麦克风录音优化流程
我做售货柜语音模块的时候,总结的一套处理流程:
原始录音 → 降噪 → 压缩 → 响度标准化 → 输出一条命令搞定:
ffmpeg-irecord.wav\-af"afftdn=nf=-20,acompressor=threshold=-18dB:ratio=3,loudnorm=I=-16:TP=-1.5:LRA=11"\-acodecaac-b:a64k output.m4a三步处理完,录音的听感提升一个档次。
十、音频处理的几个原则
1. 能不转码就不转码
有损格式每转一次损失一次。只是改封装、拼接,用-c copy。
2. 处理用无损,输出再压
如果要做多步处理(降噪+压缩+EQ),中间用 WAV 或 FLAC 无损格式,最后一步再转成 MP3/AAC。
3. 前期比后期重要
麦克风选好点、环境安静点,比后期用软件降噪效果好十倍。FFmpeg 是辅助,不是万能的。
十一、本篇小结
- 音频三要素:采样率、位深、声道数
- 格式转换:AAC 通用、MP3 兼容好、Opus 低码率强、FLAC 无损
- 音量:
volume手动调,loudnorm自动标准化 - 降噪:
afftdn简单直接,arnndnAI 降噪效果更好 - 混音:
amix叠加,concat首尾拼接 - 效果器:压缩器让音量平稳,EQ 调音色,混响加空间感
- 处理流程尽量少转码,中间用无损格式过渡
下一篇讲抽帧与截图进阶:精确抽帧、关键帧抽帧、批量生成缩略图、做 YOLO 数据集的最佳实践——做计算机视觉的同学一定会用到。
我是黒漂技术佬。
