我希望pulseaudio(远程实例)将发送到主要alsa设备的音频通过互联网直接推送到RTP,以便我可以在家用计算机上的VLC上收听它。
在我的 /etc/pulse/default.pa
load-module module-rtp-send source=alsa_output.0.analog-stereo.monitor destination=x.x.x.x port=8080 loop=1
其中 xxxx 是我的服务器的互联网 IP
启动pulseaudio后,netstat显示(我无法从远程VLC连接到这个)
udp 0 0 10.170.94.16:58606 x.x.x.x:9875 ESTABLISHED 2109/pulseaudio
udp 0 0 10.170.94.16:35597 x.x.x.x:8080 ESTABLISHED 2109/pulseaudio
它与 cvlc 一起产生预期的结果(我可以从 remove VLC 连接到这个)
cvlc -vvv pulse://alsa_output.0.analog-stereo.monitor --sout '#transcode{acodec=mpga,ab=32,channels:1}:rtp{sdp=rtsp://0.0.0.0:8080/test.sdp}'
产生
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1944/pulseaudio
我可以连接到它。
所以我认为我理解的是,pulseaudio 工作正常,并且正在将音频发送到端口 8080。但是,它没有监听传入连接以将数据路由到。我将如何告诉pulseaudio,或者设置路由,以便在发生入站连接时端口8080 传输rtp 提供的音频。我还看到 cvlc 使用 rtsp 作为源。
还是有点懵。。