Pulseaudio는 모든 소스로부터 RTP 멀티캐스트를 수신할 수 있습니까?

Pulseaudio는 모든 소스로부터 RTP 멀티캐스트를 수신할 수 있습니까?

Pulseaudio가 VLC에서 RTP 스트림을 수신하도록 시도했습니다. 문제 없이 TCP 오디오 스트림을 수신할 수 있습니다. Pulse를 실행하는 pi는 예상대로 멀티캐스트 데이터를 수신하지만 --verbose를 실행하면 중단되는 것을 볼 수 있습니다. sap_address가 올바른 네트워크에 대해 구성되어 있고 rcv가 주석 처리되어 있지 않습니다. 포트가 정의되지 않았으므로 모든 포트에서 수신 대기하고 있습니까? 주소 뒤에 CIDR을 추가해야 합니까?

답변1

정확히 무엇을 시도했는지는 모르겠지만(지정하지 않음) 다음과 같은 방법으로 두 개의 pulseaudio 서버가 멀티캐스트 RTP를 통해 통신하도록 할 수 있었습니다.

발신자에,

pacmd load-module module-rtp-send source=name_of_mic_source destination_ip=232.43.211.230 inhibit_auto_suspend=always

name_of_mic_source테스트를 위해 마이크에 연결된 소스는 어디에 있습니까( pamcd list-sources | grep name:이름을 보려면 꺾쇠 괄호를 무시하십시오).

수신기에서,

pacmd load-module module-null-sink sink_name=rtpsink
pacmd load-module module-rtp-recv sink=rtpsink sap_address=232.43.211.230

pavucontrol이렇게 하면 마이크 앞에 넣은 소음이 통과되는지 확인하기 위해 모니터링할 수 있는 "빈" 수신기가 생성됩니다 . Wireshark는 패킷이 실제로 멀티캐스트인지 확인합니다.

또한 destination_ip응답 없이 작동합니다. sap_address, 이 경우 224.0.0.56기본 멀티캐스트 그룹이 사용됩니다. 그러나 그룹은 링크 로컬이므로 라우팅되지 않으며 이 작업을 수행하려면 두 컴퓨터가 동일한 네트워크 세그먼트에 있어야 합니다.

이것은 테스트 설정입니다. 등의 사운드를 전달하려면 vlc발신자에 빈 수신기를 만들고 vlc이 수신기로 재생하도록 한 다음 관련 rtpsink.monitor소스를 사용한 module-rtp-send다음 module-rtp-recv수신기의 가청 수신기에 직접 연결합니다.

직접 생성된 RTP 스트림을 시도하지는 않았지만 vlc설정을 설명하면 그것도 테스트할 수 있습니다. 문제가 발생하면 먼저 SDP/SAP 게시판을 Wireshark와 비교하여 문제가 있는지 확인해야 합니다.

관련 정보