音频处理深入:混音、降噪、音量调节与格式转换

📅 2026/7/8 3:18:14
音频处理深入:混音、降噪、音量调节与格式转换
音频处理深入混音、降噪、音量调节与格式转换视频处理讲完了这篇专门讲音频。音量忽大忽小怎么办背景噪音怎么消两个音频怎么混一起麦克风录音怎么优化FFmpeg 的音频滤镜虽然不如视频多但日常处理完全够用。大家好我是黒漂技术佬。很多人做视频只关心画面忽略了音频——但观众对音频的容忍度比视频低多了。画面糊一点能看声音渣、有杂音、忽大忽小直接就划走了。这篇把 FFmpeg 常用的音频处理讲清楚音量、降噪、混音、格式转换、常用滤镜配合实际场景讲。一、音频基础概念扫盲先搞懂几个基本概念后面参数才看得懂。采样率Sample Rate每秒对声音采样多少次单位 Hz。常见44100 Hz44.1kHzCD 音质最常用48000 Hz48kHz视频常用标准22050 Hz / 16000 Hz语音、电话音质位深Bit Depth每个采样点用多少位存储决定动态范围16 bitCD 音质够用24 bit专业录音后期处理空间大声道数Channels1单声道Mono2立体声Stereo5.1、7.1环绕声码率Bitrate每秒音频的数据量单位 kbps。和音质正相关64 kbps 单声道语音够用128 kbps 立体声MP3 常见接近 CD 听感192-320 kbps高音质无损FLAC/PCM1000 kbps二、音频格式转换常见格式对比格式编码特点适用场景MP3MPEG-1 Layer3兼容性最好有损通用、音乐AACAdvanced Audio Coding同码率比 MP3 好视频、手机、流媒体OpusOpus低码率音质最好语音、直播、WebRTCFLACFree Lossless无损压缩音乐存档WAVPCM 原始数据无损、体积大录音、后期制作常用转换命令MP3 → AACffmpeg-iinput.mp3-acodecaac-b:a128k output.m4aWAV → MP3ffmpeg-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-afvolume2output.mp3# 音量减半ffmpeg-iinput.mp3-afvolume0.5output.mp3# 降低 3dBffmpeg-iinput.mp3-afvolume-3dBoutput.mp3可以用倍数也可以用 dB分贝。音量标准化自动调到合适大小录音声音忽大忽小或者整体太小怎么办用loudnorm滤镜做响度标准化ffmpeg-iinput.mp3-afloudnormI-16:TP-1.5:LRA11output.mp3参数说明I-16综合响度 -16 LUFS视频平台常用标准TP-1.5峰值不超过 -1.5 dBLRA11响度范围做视频上传 B 站、YouTube 的话响度标准化很有用——不会声音太小被淹没也不会太大被平台二次压缩。检测音量先看看当前音频的音量情况再决定调多少ffmpeg-iinput.mp3-afvolumedetect-fnull /dev/null输出里会有max_volume、mean_volume告诉你最大音量和平均音量。四、降噪录音有背景噪音空调声、电脑风扇声用 FFmpeg 可以消掉一部分。方法 1afftdn频域降噪ffmpeg-iinput.mp3-afafftdnnf-20output.mp3nf-20降噪强度单位 dB。数值越小降噪越强。常用范围-15 到 -30优点简单一步到位缺点降噪强了容易有「水音」「金属音」方法 2arnndnAI 降噪推荐FFmpeg 7.0 支持的 AI 降噪滤镜效果比传统方法好很多。ffmpeg-iinput.mp3-afarnndnmmodel.rnnnoutput.mp3需要下载训练好的模型文件.rnnn 格式网上有很多开源的语音降噪模型。我做售货柜语音交互的时候对比过arnndn 对环境噪音的抑制效果明显更好人声也更自然。缺点是需要额外模型文件老版本 FFmpeg 不支持。降噪的正确姿势先录一段纯噪音没人说话的几秒用噪音样本做降噪参考部分降噪工具支持降噪强度别开太大否则人声会失真降噪是「减法」噪音太大救不回来前期录好最重要五、混音与拼接两个音频混合叠加ffmpeg-ivoice.mp3-ibgm.mp3-filter_complex[0:a][1:a]amixinputs2:durationshortestoutput.mp3amixinputs2两个输入混合durationshortest以短的那个为准播完就结束背景音乐音量调小ffmpeg-ivoice.mp3-ibgm.mp3-filter_complex[1:a]volume0.3[bgm];[0:a][bgm]amixinputs2output.mp3先把背景音乐降到 30%再和人声混合。多个音频首尾拼接和视频拼接一样用 concat# filelist.txtfile001.mp3file002.mp3file003.mp3ffmpeg-fconcat-ifilelist.txt-ccopy output.mp3格式、采样率、声道数必须一致才能 copy否则要重新编码。六、声道处理立体声转单声道ffmpeg-istereo.mp3-ac1mono.mp3提取左声道 / 右声道# 左声道ffmpeg-istereo.mp3-afpanmono|c0c0left.mp3# 右声道ffmpeg-istereo.mp3-afpanmono|c0c1right.mp3单声道转立体声复制声道ffmpeg-imono.mp3-ac2stereo.mp3只是左右声道一模一样不是真的立体声效果。双声道各自处理比如左声道人声、右声道伴奏分别处理再混合。七、常用音频效果淡入淡出# 前 3 秒淡入最后 3 秒淡出ffmpeg-iinput.mp3-afafadetin:d3,afadetout:st27:d3output.mp3tin淡入tout淡出d3持续 3 秒st27从第 27 秒开始淡出均衡器EQ# 提升低音100Hz 增益 5dBffmpeg-iinput.mp3-afequalizerf100:tq:w1:g5output.mp3# 提升高音5kHz 增益 3dBffmpeg-iinput.mp3-afequalizerf5000:tq:w1:g3output.mp3简单调节音色让声音更闷或更亮。压缩器Compressor声音忽大忽小时压缩器把大的压小、小的放大整体音量更平稳。ffmpeg-iinput.mp3-afacompressorthreshold-20dB:ratio4:attack5:release50output.mp3threshold-20dB超过 -20dB 的部分开始压缩ratio44:1 压缩比attack5启动时间 5msrelease50释放时间 50ms做语音节目、播客的时候加个压缩器听感会好很多——不会突然一声吓一跳也不会小声听不清。混响Reverbffmpeg-iinput.mp3-afaecho0.8:0.9:1000:0.3output.mp3加一点点空间感干巴巴的人声会自然一些。别加太多不然像澡堂子里说话。八、重采样改采样率和位深# 48kHz 转 44.1kHzffmpeg-iinput.wav-ar44100output.wav# 16bit 转 24bitffmpeg-iinput.wav-sample_fmts32 output.wav-ar改采样率-sample_fmt改位深格式。视频和音频合并的时候如果采样率不一致最好先统一否则播放可能有问题。九、实战麦克风录音优化流程我做售货柜语音模块的时候总结的一套处理流程原始录音 → 降噪 → 压缩 → 响度标准化 → 输出一条命令搞定ffmpeg-irecord.wav\-afafftdnnf-20,acompressorthreshold-18dB:ratio3,loudnormI-16:TP-1.5:LRA11\-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 数据集的最佳实践——做计算机视觉的同学一定会用到。我是黒漂技术佬。