【问题标题】:How can I use Python to stream multiple audio files simultaneously如何使用 Python 同时流式传输多个音频文件
【发布时间】:2019-10-13 05:40:35
【问题描述】:

我希望将多个 .wav 格式的音频文件流式传输到 Raspberry Pi 以进行同步播放。我希望使用 Python 作为我选择的语言和 TCP 套接字,尽管我知道 UDP 可能是延迟所必需的。任何能指出我正确方向/提供一些意见的人将不胜感激!

【问题讨论】:

  • 这个问题会得到固执己见的答案。下次将您的问题改写为类似于“如何使用 python 流式传输音频文件?”
  • 我的错,现在刚刚编辑
  • 任何人...?

标签: python sockets tcp stream raspberry-pi


【解决方案1】:

实际上,有很多方法可以做这样的事情。例如,您可以编写自己的 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 的流媒体功能的更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多