我希望将多个.wav格式的音频文件流式传输到Raspberry Pi中以进行同步播放。我希望使用Python作为我的选择语言和TCP套接字,尽管我知道UDP对于延迟可能是必需的。任何可以将我指向正确方向/提供一些意见的人,将不胜感激!
答案 0 :(得分:0)
实际上,有很多方法可以做到这一点。例如,您可以编写自己的Python脚本并在套接字上发送音频帧。但是,如果您只需要进行流处理,则可以使用FFmpeg之类的高级工具。它将为您提供一系列解决方案,以使用裸UDP或经过优化的协议(例如RTP或RTSP)在网络上流式传输音频和视频。
例如,如果您要将ALSA设备plughw:1,0
流式传输到您的本地主机,它将变成这样:
ffmpeg -ac 1 -f alsa -i hw:0,0 -acodec libmp3lame -ab 32k -ac 1 -re -f rtp rtp://localhost:1234
此外,您还可以使用Alsa录制应用程序(arecord
)之类的其他工具,并将其输出传递给FFmpeg:
arecord -f cd -D plughw:1,0 | ffmpeg -i - -acodec libmp3lame -ab 32k -ac 1 -re -f rtp rtp://localhost:1234
然后您可以简单地用ffplay
播放它:
ffplay rtp://localhost:1234
您可以在here中找到有关FFmpeg的流功能的更多信息。