添加流派/歌曲名称/艺术家元数据的python icecast / shoutcast stream代理?

时间:2012-09-12 01:21:53

标签: python metadata shoutcast icecast

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

所以我想编写一个简单的python代理来向流添加元数据。元数据来自于从3FM网站抓取JSON的定期抓取工具。

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

有一种相当直接的方法来整合元数据(在传统格式流的情况下):

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

来自官方文件:

元数据更新

此功能使源客户端或任何外部程序能够更新特定安装点的元数据信息。

示例:

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

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

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

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

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

相关问题