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.monitormodule-rtp-send,然后module-rtp-recv直接连接到接收器上的可听接收器。

我还没有尝试过直接由 生成的 RTP 流vlc,但如果您描述您的设置,我也可以对此进行测试。如果出现问题,应该先将 SDP/SAP 公告与 Wireshark 进行比较,看看问题是否存在。

相关内容