所以,我已经提前在我的主机上设置了我的ShoutCast服务器DNAS和在Winamp中设置我的DSP。服务器监听的端口是8000,所以根据一些说明,我为winamp安装了一个输出插件(Shoutcast DSP),并使用8000和密码进行连接。服务器接受了这个连接。
现在,我到底该怎么做呢?我的主机是SSL安全的,DNAS服务器安装在安全的web目录下(如果这很重要的话)。我想要的最终结果是,我想在家里(主机)的任何一台电脑上收听我的ShoutCast设置。
我试着浏览我的IP地址和8000端口(不使用HTTPS),结果什么都没有。如果我用 HTTPS://my.server.com:8000
我得到错误代码:ssl_error_rx_record_too_long)
我是完全错过了什么,还是我只是一个完全的白痴?
谢谢。
SHOUTCast不支持SSL。8000端口上的服务是一个HTTP和ICY(相当无意义的SHOUTcast本地流媒体协议,几乎是但不完全是HTTP)的未加密服务器。这个 "SHOUTcast "是一个未加密的服务器,用于HTTP和ICY(相当无意义的SHOUTcast原生流媒体协议,几乎不完全是HTTP)。ssl_error_rx_record_too_long
错误的特征是试图以HTTPS方式访问一个非HTTPS服务。
你应该可以用网页浏览器连接到8000,并得到DNAS状态页面。另一方面,如果你用媒体播放器连接到该端口,它将直接返回MP3流。不幸的是,在一个令人难以置信的愚蠢设计中,SHOUTcast决定响应的方式是通过嗅探你的 User-Agent
开头的东西。Mozilla
所以如果你使用的是一个替代的浏览器或者屏蔽了你的UA,你将无法获得状态,如果流媒体中断,你可能什么都得不到。)
要通过SSL监听SHOUTcast服务器,你需要在另一个端口上设置一个代理,将HTTPS请求转发给本地的HTTP请求;它也必须是一个支持流媒体的代理,你可能需要一些黑客来阻止ICY破坏它。
可能更简单,你可以设置一个从客户端到服务器的SSH转发端口。这也是允许DJ连接到SHOUTcast的唯一方法,因为DJ协议根本不兼容HTTP。很明显SSH隧道对于随机的公共听众来说是没有好处的。
你也可以试试Icecast,一个SHOUTcast的替代方案,我相信它有一些SSL的支持(也使用普通的HTTP流而不是ICY)。