기본적으로 기본 수신기에 피드백이 없으면 펄스 오디오가 포함된 새 가상 수신기를 생성할 수 없지만 선택한 수신기만 사용할 수 있습니다.

기본적으로 기본 수신기에 피드백이 없으면 펄스 오디오가 포함된 새 가상 수신기를 생성할 수 없지만 선택한 수신기만 사용할 수 있습니다.

Linux, Ubuntu를 사용하고 있으며 pulse audio오디오 소스(예: 마이크)에 오디오 효과를 적용하고 이를 arecord 또는 기타 응용 프로그램에서 사용할 수 있고 일반적으로 사용되는 새 싱크에 파이프하고 싶지만 주요 콘텐츠에 대한 피드백을 받았습니다. 싱크대(비격리).

VirtualSink모듈을 사용하여라는 더미 수신기를 만들었습니다.모듈 널 수신기통과하다:

pactl load-module module-null-sink sink_name=VirtualSink sink_properties=device.description=Virtual_Sink

내 마이크 소스를 포함하는 모든 소스 목록을 얻은 pactl list sources short다음 ffmpeg를 실행하여 마이크 소스를 사용하여 에코를 적용하고 다음을 통해 VirtualSink의 모니터에 전달합니다.

ffmpeg -f pulse -i <mic-source> -af "aecho=0.8:0.9:1000:0.3" -f pulse "VirtualSink.monitor"

가상 수신기는 실제로 생성되어 arecord/Skype 등과 같은 응용 프로그램에서 볼 수 있으며 스트림은 통과하지만 문제가 있습니다.

  • 마이크의 오디오는 스피커/헤드폰을 통해 들을 수 있습니다(애플리케이션 및 기본 수신기 출력으로 전달됨).
  • 몇 초 후에 스피커/헤드폰에서 소리가 들립니다(일종의 피드백).

음소거 및 변경 컨트롤을 살펴보고 pavucontrol시도했지만 아무런 차이가 없었습니다. 두 가지 문제 중 하나도 해결하지 못한 채 스트림을 침묵시키는 경우가 있습니다. ffmpeg가 자동으로 기본 싱크로 스트리밍하는 것이 문제일까요, 아니면 OS가 새 싱크를 일반 전체 싱크로 보내는 것일까요? 누락된 구성이 있나요?

피드백을 받지 않고 소스에서 싱크로 오디오를 스트리밍하는 싱크를 만드는 방법은 무엇입니까?

관련 정보