1

我正在收听 3FM 流,但不幸的是它没有在其 aac/mp3/wma 流中提供音乐名称/艺术家信息。

所以我想写一个简单的python代理来将元数据添加到流中。元数据来自从 3FM 网站抓取 JSON 的定期爬虫。

知道我可以从哪里开始吗?

4

2 回答 2

5

您可以使用:http ://www.3fm.nl/data/dalet/dalet.xml获取元信息。您想如何构建元数据?

于 2012-10-31T11:49:18.643 回答
2

有一种相当直接的方法来滑动元数据(在旧格式流的情况下):

  • 设置一个 Icecast 服务器来中继您选择的流。
  • 运行你的 python(或其他)脚本来获取元数据并将更新发送到 Icecast。
    • 将传入元数据与当前元数据进行比较
    • 如果更改,使用元数据更新功能将数据推送到 Icecast

来自官方文档:

元数据更新

此功能为源客户端或任何外部程序提供更新特定挂载点的元数据信息的能力。

例子:

/admin/metadata?mount=/stream&mode=updinfo&song=ACDC+Back+In+Black

需要进行身份验证,使用特定于挂载的源或一般管理员凭据。

遗留流的元数据是一个文本字段。“艺术家”、“标题”等没有单独的字段。这是这种传统流类型的限制。有些玩家遇到“-”时会分场。

如果使用 Ogg 封装(如 Vorbis 或 Opus)的正确流,则涉及更多,因为支持许多元数据字段,包括任意数据,甚至专辑封面。要注入这些东西,需要源客户端。Liquidsoap 可能很容易做到这一点。在未来(计划在 2.5 中)Icecast 也将支持 Ogg 流的所有字段的直接元数据更新。

PS:我知道这是一个老问题,但我认为值得记录下来以供将来参考。

于 2016-04-29T05:13:16.757 回答