xvidcap:从 /dev/dsp 访问声音输入时出错

xvidcap:从 /dev/dsp 访问声音输入时出错

我正在运行 Ubuntu 11.10,并且尝试使用 xvidcap 录制带有麦克风音频的屏幕录像,但是它无法录制任何声音:

$ xvidcap --file appo.avi --cap_geometry 700x500-0+0 
Error accessing sound input from /dev/dsp
Sound disabled!

果然根本/dev/dsp不存在:

$ sudo ls -lh /dev/dsp
ls: cannot access /dev/dsp: No such file or directory

我找到了一篇关于修复 xvidcap 声音输入但是如果我尝试这个建议,我会得到:

$ sudo modprobe snd-pcm-oss
FATAL: Module snd_pcm_oss not found.

所以问题是,我如何才能创建 /dev/dsp

问题背后的问题是:如何使用 xvidcap 录制麦克风的声音?因此也欢迎解决方法。

更新:我听从了詹姆斯的建议,有些事情已经有所改善。

错误访问/dev/dsp已消失,但是现在我得到:

[oss @ 0x8e0c120] Estimating duration from bitrate, this may be inaccurate
xtoffmpeg.c add_audio_stream(): Can't initialize fifo for audio recording

现在,当我录制时,xvidcap在录制选项卡中会出现“录制”对话框pavucontrol,我可以选择“来自内部音频模拟立体声”或“内部音频模拟立体声监视器”的音频流,我为了以防万一都尝试了,但视频仍然是静音的。

更新2:我发现“Monitor of”是录制应用程序声音的,而对于麦克风,我应该选择“Internal Audio Analog Stereo”。为了排除其他问题,例如麦克风,我尝试了,gnome-sound-recorder并且成功了。实际上,我吓得从椅子上跳了起来,因为音量太大了!:-)

答案1

/dev/dsp设备属于过时的OSS 声音 API,现已被阿尔萨斯大学API。OSS API 已于去年从内核中删除(请参阅错误 #579300

假设应用程序没有使用 ALSA API 的选项,那么可能解决问题的一个选项是在 下运行该应用程序padsp,它会将 OSS API 调用重定向到脉冲音频守护进程。也就是说,不是运行xvidcap,而是运行padsp xvidcap

答案2

另一个解决方案是安装 osspd 来模拟 pulseaudio 下的 oss。

sudo apt-get install osspd

此后,我的 /dev/dsp 可以用来捕获麦克风,例如将音频输出保存到文件。

cat /dev/dsp > mic.out

相关内容