如何让 pulseaudio 中的每个应用程序都有自己的音频监视器?

如何让 pulseaudio 中的每个应用程序都有自己的音频监视器?

我想同时录制两个实时视频流(浏览器中的 rtmp flash 视频),为此我运行了两个 SimpleScreenRecorder 实例。每个实例记录屏幕上的不同区域。唯一的问题是声音。我使用单独的浏览器,因此每个浏览器在 pulseaudio 中都有自己的音频播放。

在此处输入图片描述

我如何分离播放,以便每个播放流都有单独的 pulseaudio 监视器?我只有“内置音频模拟立体声监视器”,但我需要两个监视器,一个用于 Firefox,一个用于 Chrome。

在此处输入图片描述

答案1

我已经使用 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 { 类型插头从属 { pcm "jack" } }

pcm.jack { 类型 jack
播放端口 { 0 系统:播放 1 系统:播放 2 }
捕获端口 { 0 alsa_pcm:捕获 1 alsa_pcm:捕获 2 } }

ctl.mixer0 { 类型硬件卡 1 }

  • 从声音菜单运行 qjackctl,单击“开始”,单击“连接”以显示“连接”窗口。

  • 启动 2 个不同的 SimpleScreenRecorder,选择“jack”作为音频,启动预览模式以在两者中显示 vumeter

  • 启动 Firefox 和 Chrome,在每个浏览器中播放视频
  • 转到 qjackctl“连接”窗口,从左侧第一个“jack-alsa-xxx”拖放到右侧第一个“simplescreenrecorder”:您将看到一个连接显示,并且 vumeter 将在第一个 simplescreenrecorder 中移动。对第二个“jack-alsa”和“simplescreenrecorder”执行相同操作
  • 现在您可以在每个 simplescreenrecorder 中录制来自每个浏览器的音频

可能是 Firefox 与 html5 和 youtube 中的 jack 音频服务器有问题,我只用 flashplayer 测试过。 qjackctl

相关内容