我一直在寻找解决方案,我完全陷入了困境。 icecast / shoutcast libs似乎都是Python 2.7,这是一个问题,因为我使用的是3.6
从广播和身份验证开始的任何想法都非常有用。我正在寻找流式mp3文件。
TIA。
首先,您需要对音频流进行编码。您需要实时运行此流,并且需要具有恒定的采样率。仅通过管道传输MP3文件是不够的......它们可能有ID3标签可能会破坏流,并且它们可能处于不同的采样率。对于互联网流媒体具有恒定比特率也是理想的(但这不是流工作所必需的)。
最后,你基本上会有一个永无止境的大MP3文件以与播放时相同的速度创建。
接下来,您只需要对Icecast服务器进行HTTP PUT。看到这个问题:Is there any way to do HTTP PUT in python
Icecast一般使用basic auth。
如果你想让自己更容易(虽然控制力较弱),请向FFmpeg发送:
ffmpeg -re -i [some playlist] -f mp3 -method PUT http://example.com/some-stream
(其中example.com
是你的Icecast服务器)