如何使每个应用程序在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测试过。 qjackctl