有没有人遇到过可以动态流式传输由 HTTP URL 标识的任意源的软件。
我正在寻找一种基于服务器的软件,它可以公开一个 RESTful 接口以接收播放列表的定义并用一个流 URL 响应,这将播放播放列表。播放列表中的声音文件位于可通过 HTTP 访问的不同系统上。
我确实看过liquidsoap项目,但不知道如何将其包装到RESTful Web服务中。
有没有人遇到过可以动态流式传输由 HTTP URL 标识的任意源的软件。
我正在寻找一种基于服务器的软件,它可以公开一个 RESTful 接口以接收播放列表的定义并用一个流 URL 响应,这将播放播放列表。播放列表中的声音文件位于可通过 HTTP 访问的不同系统上。
我确实看过liquidsoap项目,但不知道如何将其包装到RESTful Web服务中。
在 Liquidsoap 中实现一个 RESTful 服务器会很麻烦。我会用任何“普通”网络编程语言(如 PHP)构建 RESTful 网络服务,然后让 Liquidsoap 调用相同的服务来获取曲目/文件。在此示例中,对http://127.0.0.1/next的 GET 请求应将一个 http url 返回到 mp3/ogg/whatever。
(liquidsoap 1.0 版的示例代码 - 此示例不会在早期的 0.x-something 版本上运行)
def autopilot() =
def result()
result =
list.hd(
get_process_lines('curl http://127.0.0.1/next')
)
request.create(result)
end
audio_to_stereo(request.dynamic(result))
end
radio =
mksafe(
autopilot()
);
output.icecast(%mp3(samplerate=44100, stereo=true, bitrate=128),
host="127.0.0.1",
port=8000,
password="secretpassword",
mount="radio.mp3",
radio
);
在这个例子中,你需要一个 icecast2 服务器来发送流。