Pulseaudio에서 두 개의 입력 소스를 믹싱하는 방법(SimpleScreenRecorder를 사용하여 마이크와 스피커를 녹음하는 경우)

Pulseaudio에서 두 개의 입력 소스를 믹싱하는 방법(SimpleScreenRecorder를 사용하여 마이크와 스피커를 녹음하는 경우)

저는 Linux에서 SSR(SimpleScreenRecorder)을 사용하여 회의를 녹화하고 있습니다.

기본 구성으로 Pulseaudio를 사용하고 있습니다.

SSR이 화면과 오디오를 녹음할 때 스피커 출력은 녹음되지만 마이크는 녹음되지 않습니다. pactl load-module module-loopback latency_msec=1마이크가 스피커에 연결되고 SSR이 둘 다 녹음할 수 있도록 SSR을 사용하여 루프백을 만들 수 있다는 것을 알고 있지만 헤드폰을 사용하지 않을 때 피드백과 Larson 효과가 생성됩니다.

분명히 SSR에 두 개의 오디오 소스를 동시에 녹음하도록 요청할 수는 없습니다. SSR이 해당 가상 소스에서 녹음하도록 지시할 수 있도록 스피커와 마이크가 포함된 가상 Pulseaudio 소스를 생성하는 방법이 있습니까?

내가 읽을 때애플리케이션과 마이크를 하나의 입력으로 혼합, 마이크와 스피커를 라우팅할 수 있는 가상 스피커를 생성할 수 있으며 SSR은 여기에서 콘텐츠를 읽을 수 있습니다. 하지만 여전히 회의 중에 마이크와 스피커가 제대로 작동하기를 원하며, 이 솔루션이 그렇게 할 수 있을지 확신할 수 없으므로 Pulseaudio 경험이 있는 사람이 필요합니다.

방법이 안맞으면 SSR에서 OBS로 갈아타야지...

답변1

마이크와 스피커 출력을 동시에 녹음하려면 가상 스피커와 두 개의 루프백 모듈을 생성하십시오. 하나는 마이크를 가상 스피커에 미러링하고 두 번째는 스피커를 미러링합니다. 그런 다음 해당 가상 스피커의 모니터링을 ssr에 녹음하도록 선택하십시오.

주문하다:

pactl load-module module-null-sink sink_name=both sink_properties=device.description=Both-mic-and-speakers
pactl load-module module-loopback source=alsa_output.pci-0000_00_1f.3.analog-stereo.monitor sink=both
pactl load-module module-loopback sink=both

alsa_output.pci-0000_00_1f.3.analog-stereo스피커 이름으로 바꾸면 됩니다 pactl list sinks short.

그러나 이 솔루션에는 다음과 같은 단점이 있습니다.

  • 모든 응용프로그램의 소리를 녹음합니다.
  • 시스템 볼륨은 녹음 볼륨에 영향을 미칩니다(따라서 볼륨을 20%로 설정하면 녹음이 매우 조용해집니다). 이를 마이크 볼륨(100%일 수 있음)의 영향을 받는 음성과 비교해 보세요.
  • 헤드폰을 사용하여 녹음하지 않으면 에코가 발생합니다.

더 복잡한 스크립트(단일 애플리케이션을 기록하는 데 사용함)를 사용하면 처음 두 가지 문제를 완화할 수 있습니다.

pactl load-module module-null-sink sink_name=fake_speakers sink_properties=device.description=Virtual-speakers
pactl load-module module-remap-source source_name=fake_mic master=fake_speakers.monitor source_properties=device.description=Virtual-mic
pactl load-module module-null-sink sink_name=fake_speakers2 sink_properties=device.description=Second-virtual-speakers
pactl load-module module-loopback source_dont_move=true sink_dont_move=true sink=fake_speakers2 source=fake_speakers.monitor
pactl load-module module-loopback sink_dont_move=true sink=fake_speakers2
pactl load-module module-remap-source source_name=fake_mic2 master=fake_speakers2.monitor source_properties=device.description=Second-virtual-mic
pactl load-module module-loopback source_dont_move=true source=fake_speakers.monitor

그런 다음 애플리케이션의 수신기를 가상 스피커로 설정합니다. 그런 다음 SSR 오디오 소스를 Second-Virtual-mic로 설정합니다. 앱 소리는 계속 들리지만 SSR은 선택한 앱과 사용자의 음성만 녹음하며 모든 볼륨은 기본적으로 100%로 설정되며 사용자가 제어할 수 있습니다. 사운드 대기 시간이 발생하는 경우 루프백에 대기 시간_msec 매개변수를 추가해 보세요.

관련 정보