没有status.xsl的icecast流标题

1 投票
1 回答
3927 浏览
提问于 2025-04-30 07:11

我想在一些icecast流媒体中获取标题(艺术家 - 歌曲)。这里有很多讨论,大多数人只是查看status.xsl文件(就像Icecast Now Playing PHP脚本那样)。
但是:
- 很多流媒体不允许其他脚本读取这个文件(例如
http://95.81.147.3/status.xsl?mount=/fip/all/fiphautdebit.mp3
- 正如ePirat所说,像这样解析HTML并不安全。不过他提出的解决方案只有在我们能访问服务器时才有效。

根据我所读到的内容:icecast流媒体本身有元数据,但这个解决方案只适用于shoutcast。所以对于这个链接也是如此。
我找到的最接近的东西是这个代码审查,但尽管标题提到icecast,我看到的只是带有Icy-MetaData检查的shoutcast代码。

这个非常完整的链接可能会有用(“带外标准”部分),但它解释说这仍然无法工作。

问题基本上是:为了获取艺术家 - 歌曲的信息,如何读取icecast流媒体的元数据,当:
- 我不是服务器的管理员
- 我不想/不能解析status.xsl?

谢谢你的帮助

暂无标签

1 个回答

2

从Icecast 2.4开始,获取服务器上运行的流的机器可读元数据的推荐方式是使用status-json.xsl。这个JSON接口在所有安装中默认是开启的。

如果status-json.xsl返回404错误,说明服务器管理员故意选择关闭了访问。在这种情况下,或者在一些老版本的Icecast(2.3.x)中,这些版本不会更新为支持JSON接口(管理员只需将status-json.xslxml2json.xslt复制到web目录就可以了),那么尝试直接解析流来获取元数据的方法虽然不太好,但也是可行的。不过,大家可能会想,如果管理员选择不允许访问元数据,那他们是否也同意在简单收听之外,其他人使用他们的流呢?

撰写回答