如何使每个应用程序在pulseaudio中拥有自己的音频监视器?
我想同时录制两个实时video流(浏览器中的rtmp flashvideo),我正在为此运行两个SimpleScreenRecorder实例。 每个实例都在屏幕上记录不同的区域。 唯一的问题是声音。 我使用单独的浏览器,因此每个浏览器在pulseaudio中都有自己的音频播放。
如何分离播放,以便每个播放流都有一个单独的pulseaudio监视器? 我只有“内置音频模拟立体声监听”,但我需要两个显示器,一个用于Firefox,另一个用于Chrome。
我用Jack音频服务器完成了它:
- 安装jackd和qjackctl:当被要求拥有实时访问权限时,请说“是”,然后重新启动以应用此访问权限。
- 使用以下3个命令暂时停止pulseaudio:
mkdir ~/.pulse
echo autospawn=no > ~/.pulse/client.conf
pulseaudio -k
(稍后,要恢复到pulseaudio正常模式,运行echo autospawn=yes > ~/.pulse/client.conf
然后使用pulseaudio
)
- 在你的家庭目录中创建.asoundrc(重点很重要)包含:
pcm。!default {type plug slave {pcm“jack”}}
pcm.jack {type jack
playback_ports {0 system:playback_1 1 system:playback_2}
capture_ports {0 alsa_pcm:capture_1 1 alsa_pcm:capture_2}}ctl.mixer0 {type hw card 1}
-
从声音菜单运行qjackctl,单击“开始”,单击“连接”以显示“连接”窗口。
-
启动2个不同的SimpleScreenRecorder,选择“jack”作为音频,启动预览模式以显示两者中的vumeter
- 启动Firefox和Chrome,在每个video中播放video
- 转到qjackctl“连接”窗口,从第一个左侧“jack-alsa-xxx”拖放到第一个右侧“simplescreenrecorder”:您将显示一个连接,并且vumeter将在第一个简单屏幕记录中移动。 为第二个“jack-alsa”和“simplescreenrecorder”做同样的事情
- 现在,您可以在每个简单屏幕记录中记录每个浏览器的音频
可能是Firefox在youtube上有html5和jack音频服务器的问题,我只用flashplayer测试过。