【音视频学习】“vmware ubuntu22.04使用ffmpge音频采集声音很小”问题解决方法
摘要:在Ubuntu 22.04系统中使用FFmpeg采集音频时遇到音量过小问题。通过检查VMware声卡设置和arecord命令确认录音设备正常后,发现ALSA的Capture音量被设置为0。使用amixer工具将Capture音量调整为最大值15后,重新录制音频恢复正常音量。解决方法为执行amixer -c 0 set 'Capture' 15命令调节输入增益。
·
前言
在使用ubuntu22.04系统上使用ffmpeg采集音频,发现播放时声音很小,经过分析,发现是录音音量被静音了,以下是分析过程。
一、确保系统的录音设备是正常工作的
1、检查vmware的设置,声卡设备是出于连接状态;


2、使用arecord查看当前所有的录音设备
# 查看所有录音设备
arecord -l

- card 0: AudioPCI [Ensoniq AudioPCI]:系统检测到一张名为 “Ensoniq AudioPCI” 的声卡(编号为0)。
- device 0: ES1371/1 [ES1371 DAC2/ADC]:该声卡有一个设备(编号0),型号为 ES1371,支持 ADC(模拟数字转换,即录音功能)。
- Subdevice #0: subdevice #0:子设备正常启用。
arecord -l有输出,说明系统支持录音功能。
二、录音声音小的问题分析
1、先确认播放音量是否被设置的很小;如果很小,适当调大之后再测试;
2、如果声音还是很小,查看输入音量设置是否过低;
amixer:ALSA(Advanced Linux Sound Architecture)的音量控制工具。
# 查询输入设备的音量设置
# Mic:麦克风输入的直接控制(可独立于`Capture`)
# Capture:控制录音输入的音量
amixer -c 0 scontrols | grep 'Mic\|Capture'
amixer -c 0 sget 'Capture'

从上图可以看到:
- Front Left 和 Front Right 的 Capture 值均为 0,表示录音通道的音量增益为 0%。
- [on] 表示通道已启用,但音量被归零。
Capture 音量设置为 0(0%),这会导致录音声音极其微弱甚至无声,解决办法如下:
# 取值范围限制:Limits: Capture 0 - 15 表示最大可设置为 15(对应 100% 或更高分贝增益)。
amixer -c 0 set 'Capture' 15 # 设置为最大值(15 = 100%)
或者分别调节左右声道:
amixer -c 0 set 'Capture' 15,15 # 左,右

3、重新录制,播放声音变大,问题解决。
# 采集音频
ffmpeg -f alsa -i hw:0,0 output.wav
# 播放音频
ffplay output.wav
完~
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)