我有一些关于mp3无线电流设置的问题

时间:2016-07-06 01:10:52

标签: streaming mp3 shoutcast icecast internet-radio

所有这些之间的区别是什么?它们的含义是什么?

  1. /;stream.mp3 [; 分号在 / 斜杠之后的含义到底是什么意思?]

  2. 另外,如果我取消stream.mp3,只是在斜杠/;之后留下分号,或者如果我留下`stream.mp3附加?<? / p>

  3. /stream [为什么这个只有stream,这就是它。 [{1}}斜线后面没有;分号,而且/没有?

  4. 为什么一个流能够在没有分号的情况下工作,为什么一个流需要有一个?

  5. stream.mp3 [icecast]为什么这个问题最后有http://91.223.18.205:8000/c11_4?个问号[这意味着什么?]

1 个答案:

答案 0 :(得分:0)

SHOUTcast从与流完全相同的端口和路径提供其管理界面。例如,假设我在8000上的端口198.51.100.100上运行了SHOUTcast服务器。如果我在浏览器中转到以下内容...

http:///198.51.100.100:8000/

...我将看到SHOUTcast管理页面,我可以在哪里登录并删除连接,什么不可以。但是,如果我使用媒体播放器(例如VLC或Winamp)访问相同的URL,我会听到一个流。

SHOUTcast知道根据User-Agent请求标头给我的内容。此标头指示客户端尝试连接到服务器的内容。当我连接浏览器时,它可能看起来像这样:

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36

如果我与VLC连接,User-Agent请求标头可能如下所示:

NSPlayer/7.10.0.3059

SHOUTcast没有所有浏览器的列表。相反,它只查找一个关键字... Mozilla。出于历史原因,这在大多数浏览器和用户代理字符串中都可找到。如果Mozilla请求标头中有User-Agent,则SHOUTcast会发送管理页面。对于所有其他人,它会发送一个流。

这会产生很多问题。最值得注意的是,这意味着您无法在浏览器中收听流。如果您在网页上加载该流,User-Agent字符串将包含Mozilla,SHOUTcast服务器将发送管理页面,导致播放器出错。

有一种解决方法。如果在请求路径中添加了分号;,则SHOUTcast会忽略实际的User-Agent并将其替换为MPEG OVERRIDE。 (您可以在SHOUTcast服务器日志中看到这一点。)这会导致服务器发送实际的无线电流。

因此,在SHOUTcast流的路径中看到分号;是很常见的。但是,;stream.mp3呢?有一天有人做了,其他人都复制并粘贴了它。就那么简单。 SHOUTcast服务器会在分号后忽略所有内容,因此您可以在那里放置任何内容。

有时,可能有.mp3的原因。通过HTTP加载时,您应该能够通过Content-Type响应标头确定某些类型。 &#34;文件名&#34;完全没有意义。您可以将Web服务器配置为使用任何文件扩展名命名任何内容,只要您发送了正确的Content-Type响应标头,一切都很好。有一次,在过去的15年里,我遇到了software that assumed file name extensions were valid and required。这是一种非常错误的做事方式。幸运的是,他们修好了,一切都很顺利。这是一个非常罕见的问题,而不是你应该担心的问题。

现在已经解释了SHOUTcast黑客攻击你的其他问题。

  

/ stream [为什么这个只有流,那就是它。 [没有; /斜杠后面有分号,没有stream.mp3?

运行服务器的人可以随心所欲。它只是普通的HTTP。路径可以是任何东西。在这种情况下,有人决定调用在那里运行的任何内容/stream。他们可能也没有使用SHOUTcast。 (同样,SHOUTcast是非标准的,不正常。)

  

为什么一个流能够在没有分号的情况下工作,为什么一个流需要有一个?

只有SHOUTcast要求分号;按预期工作。其他服务器不需要这种黑客攻击。

  

http://91.223.18.205:8000/c11_4? [icecast]为什么这个有?最后的问号[这意味着什么?]

网址中的问号?将路径与query string分开。查询字符串可用于提供参数列表,通常用于路径中的脚本。在这种情况下,问号并不重要,因为它后面没有参数。

旧的IE(4,我认为)过去常常过度缓存,但如果涉及到查询字符串,通常不会。有时人们会使用随机数添加查询字符串,以确保他们从服务器收到新的副本。这是一个在很长一段时间内都不需要的黑客攻击。 IE 4近20年前问世。这些天,我们使用适当的缓存控制标头。 SHOUTcast,Icecast和其他人都正确地做到了这一点。