3

有没有人遇到过可以动态流式传输由 HTTP URL 标识的任意源的软件。

我正在寻找一种基于服务器的软件,它可以公开一个 RESTful 接口以接收播放列表的定义并用一个流 URL 响应,这将播放播放列表。播放列表中的声音文件位于可通过 HTTP 访问的不同系统上。

我确实看过liquidsoap项目,但不知道如何将其包装到RESTful Web服务中。

4

1 回答 1

2

在 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 服务器来发送流。

于 2012-04-01T00:33:42.927 回答