如何从Nao机器人流式传输音频
本文关键字:传输 音频 机器人 Nao | 更新日期: 2023-09-27 18:31:10
我想创建一个从Nao到我的WPF表单的流音频。
我发现的唯一方法是我们可以通过SSH在Nao上下载录制的声音。
但它不是真正的流媒体...
如果有人有想法!
谢谢
在您的
NAO(通过ssh登录)上运行此命令gst-launch-0.10 pulsesrc ! audioconvert ! vorbisenc ! oggmux ! tcpserversink port=1234
通过VLC列出:vlc tcp://IP:1234/
你应该看看嵌入在机器人中的gstreamer。这会有点慢,但这将是真正的流媒体......
对于窗口:下载最新的 pulseaudio(不是官方的)并使用以下两行创建一个 config.pa 文件:
load-module module-native-protocol-tcp listen=0.0.0.0 auth-anonymous=1
load-module module-waveout
首先在Windows机器上运行pulseaudio,使用pulseaudio -F config.pa
在您的 NAO 上:
pacmd load-module module-tunnel-sink sink_name=nao server=192.168.1.152
(将此地址更改为您的 Windows 一。还要确保脉冲音频在窗口上运行,否则这将不起作用)
qicli call ALAudioDevice._listOutputs
上一个命令将显示刚刚创建的脉冲音频设备的索引号。在下一个命令中使用此数字
pacmd set-default-sink 1
qicli call ALAudioDevice._setDefaultOutput 1
就是这样。现在一切都通过您的 PC 扬声器进行。索引 0 是 NAO 的声卡
对于 Linux:在终端上运行以下命令:
pactl load-module module-rtp-recv
在 NAO 上:
pactl load-module module-null-sink sink_name=nao (creates the sink)
qicli call ALAudioDevice._listOutputs (checks the index on sink)
qicli call ALAudioDevice._setDefaultOutput 1
pactl load-module module-rtp-send source=nao.monitor
我发现Linux方法更稳定。Windows上的TCP可能会在一段时间后中断。