
答え1
シンクを追加できます。
pacmd load-module module-null-sink sink_name=MySink
pacmd update-sink-proplist MySink device.description=MySink
次のコマンドを使用してループバックデバイスを追加できます。
pacmd load-module module-loopback sink=MySink
答え2
sudo modprobe snd_aloop
PulseAudio ボリュームコントロールに表示される ALSA にループバックデバイスを追加します。ストリームをそこにリダイレクトしてください!
複数のループバックデバイスを追加する方法がわかりません。
答え3
@mxcの答えにいくつかの追加があります。彼は module-null-sink をダミー出力として使用できると述べた。
pacmd load-module module-null-sink sink_name=MySink
これにより、アプリケーションで使用できる新しいシンク(「仮想出力」)が作成されます。作成したシンクごとに、pulseaudioはモニタソースも作成するため、MySink出力デバイスに加えて、仮想出力に送信される内容をキャプチャするために使用できるMySink.monitor入力デバイスがあります。
これにより、アプリケーションのオーディオ出力を簡単にキャプチャ、再送信、または録音できます。
これはAlsaを必要としない純粋なPulseaudioソリューションなので、PulseaudioのAlsaとは異なるバックエンドを使用することもできます。
答え4
snd_aloop
私のシステムで動作させることはできません。また、使用時にffmpeg -f pulse -i alsa_output.pci-0000_00_1f.3.analog-stereo.monitor etc.
システム録画が1〜2秒程度遅れます。 mxcの答えは解決策を見つけるのに役立ちましたが、いくつかの情報を追加したいと思います。
まず、内蔵オーディオのパルスモニターをデフォルト値に設定する必要がありました。次に、上記のコマンドを実行します。毎回私のプロフィールでデフォルトに設定したいので、~/.config/pulse/default.pa
次の行を作成して追加しました。
.include /etc/pulse/default.pa
set-default-source alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
load-module module-null-sink sink_name=MySink
update-sink-proplist MySink device.description=MySink
load-module module-loopback sink=MySink
最初の行には、システム全体のPulseAudio設定が含まれています。これにより、最後の4行がすべてのシステム設定よりもユーザーに優先的に適用されます。もちろん、前に4行があれば端末で実行できますpacmd
。
内蔵オーディオデバイスのパルスモニタ名を取得するには、次の手順を実行します。
pacmd list-sources | awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}'