就上下文而言,我的总体意图是在同一台机器上创建不同 Firefox 窗口的视频和音频记录。
我正在以编程方式创建两个具有不同用户配置文件的 Firefox 实例。两个 Firefox 窗口正在播放带音频的视频。我目前正在使用pulseaudio
以下命令(其中USER
是唯一字符串)来配置pulseaudio
服务器:
pulseaudio -D --exit-idle-time=-1
pacmd load-module module-virtual-sink sink_name=${USER} # Load a virtual sink as ${USER}
pacmd set-default-sink ${USER} # Set ${USER} as the default sink device
pacmd set-default-source ${USER}.monitor # Set the monitor of the ${USER} sink to be the default source
此命令在创建每个 Firefox 窗口之前运行。使用ffmpeg
作为编码器,我已经能够创建视频,这些视频仅在视觉上记录生成它们的 Firefox 窗口,但在同时创建窗口时音频会重叠。下面,我编辑了ffmpeg
命令以包含我使用的部分pulse
。
ffmpeg -f pulse -ac 2 -i default
我想知道的是:我是否从根本上误解了这里的某些东西,即,是否可以在从任一窗口同时播放声音的同时制作 Firefox 窗口的独立录音?
如果可能的话,请让我知道我是否应该进一步扩展我的实施细节。
使用 pavucontrol“播放”选项卡,您可以解锁频道,然后将每个 Firefox 实例设置为不同的频道(一个左,一个右)。
然后将 ffmpeg 选项 -ac 设置为仅录制左侧或仅右侧:
ffmpeg -f pulse -ac 1 -i default testleft.mp4
ffmpeg -f pulse -ac 2 -i default testright.mp4
jackd 可以完成更灵活的音频路由,但 Firefox 需要 pulseaudio。
也许您可以使用带有 jackd 支持的特殊 Firefox 。