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