7

我需要向 Icecast 流添加额外的元数据(除了艺术家和歌曲标题)。我已经尝试了很多想法,但似乎没有一个能产生任何结果。情况变得更加复杂,因为元数据也通过了重新传输 Icecast 流的 Wowza。是否有 Icecast 支持的元数据字段的规范列表,是否有人有将自定义元数据作为 Icecast 流的一部分传递到 Wowza 的经验?

4

2 回答 2

6

我的node-icy模块能够读取任意 Icecast 流并拦截和/或将“元数据”事件添加到输出流。您实际上是在“代理”流。一个好的(虽然有点复杂)的例子可能在这里:proxy.js

请注意,虽然“元数据”格式是分号分隔的键值对字符串,但 Icecast 客户端只对StreamTitle值做出反应,因此只需将您想要的所有信息填入其中:

StreamTitle='Pink Floyd - Welcome to the Machine';

我已经完成了诸如每秒发送一个元数据事件以保持跟踪位置计数器(尽管这可能有点网络繁重):

StreamTitle='Pink Floyd - Welcome to the Machine (0:12/4:02)';

祝你好运!

于 2012-02-13T20:12:02.947 回答
1

虽然有点复杂,但 Savonet/Liquidsoap 脚本语言具有修改/设置流元数据的功能。Liquidsoap wiki 中有几个示例,网址为https://wiki.sourcefabric.org/display/LS/UserScripts

于 2012-02-18T17:44:06.777 回答