![使用 avconv 录制扬声器音频](https://linux22.com/image/829106/%E4%BD%BF%E7%94%A8%20avconv%20%E5%BD%95%E5%88%B6%E6%89%AC%E5%A3%B0%E5%99%A8%E9%9F%B3%E9%A2%91.png)
我在使用 avconv 从扬声器录制音频时遇到了一些问题。
这是我在终端中输入的命令:
avconv -f alsa \
-i pulse -f x11grab -r 30 -s 1920*1080 \
-i :0.0 \
-vcodec libx264 -preset ultrafast \
-ab 320k -threads 8 \
screen.mkv
问题:avconv 正在录制扬声器音频和麦克风音频,但扬声器音频非常低。我尝试过调整所有音频/音量级别,但似乎无法让 avconv 更好地拾取扬声器音频。
avconv 命令是否有用于扬声器音频的选项?
请不要回复“使用 gtk-recordMyDesktop”或“kazam”,我发现 avconv 更方便。
任何帮助都值得感激,谢谢!
答案1
信息位于avconv 手册页在我的版本中(可能与您的相同),我在“输入设备”一章的“脉冲”一节的第 1854 行找到了它。
输入:
$ pactl list sources | less
您将看到有关“来源 #0”、“来源 #1”等的信息,具体取决于您有多少个声卡等等。
获取“Name:”下的字符串,它将类似于:
alsa_output.pci-[some number].analog-stereo.monitor
其中“某个数字”取决于您的硬件。
不要像上面尝试的那样直接使用 alsa (avconv ... -f alsa ...) 进行解复用,而是使用脉冲:
avconv ... -f pulse -i alsa_output.pci-....analog-stereo.monitor ...
这将记录正在监控的音频并传送到扬声器或耳机或任何地方。如果您希望使用脉冲来解复用并记录麦克风,请使用其他“名称:”(或其他名称之一),其中不包含单词“monitor”。
我希望它有帮助。
答案2
安装pavucontrol
包。从仪表板打开 PulseAudio 音量控制应用程序。
在输入设备标签,向下并选择所有输入设备。然后,按下名为“监视器...(您的设备名称)”的设备旁边带有复选标记的按钮。脉冲输入设备现在是通过扬声器的任何内容。
您当前在 avconv 上使用的设置应该可以保证其正常工作。
答案3
扬声器音量很小,因为它是通过麦克风录制的。你有没有找到同时录制两者的方法?我遇到了同样的问题。我戴着耳机玩,这样声音也会好得多……对脉冲不够熟悉,不知道该改什么 :-/
答案4
我已经完成 pactl 命令来查找名称。但是,当我运行 avconv 时,我得到: john@JudithLaptop:~$ avconv -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -f x11grab -s $(xwininfo -root | grep 'geometry' | awk '{print $2;}') -r 25 -i :0.0 -vcodec mpeg2video -ar 44100 -s wxga -aspect 16:9 -y /home/john/Temporary/p.mpg avconv version 0.8.9-4:0.8.9-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developersbuilt on Nov 9 2013 19:12:07 with gcc 4.6.3 Unknown input format: ‘脉搏’
PS 我不知道这是否是转移注意力的借口,但我在某处看到 ffmpeg 需要 libpulse-simple 包才能使用 pulse 参数。我在我的 Ubuntu Precise 32 位存储库中没有看到 libpulse-simple 包。