在icecast.xml中配置<on-connect>时出现问题

时间:2019-01-14 15:01:13

标签: icecast

我在icecast.xml项目中定义了以下安装点:

<mount type="normal">
<mount-name>/data.ogg</mount-name>
.....
   <on-connect>sh /bin/stream-start.sh</on-connect> 
</mount>

并在/bin/stream-start.sh中定义了stream.sh脚本。

假设执行http://..../data.ogg请求时,必须执行stream-start.sh但不执行。我现在有以下问题:

  1. 如何定义连接脚本(/ bin / stream-start或/bin/stream-start.sh)
  2. 如何将参数传递给启动脚本。

1 个答案:

答案 0 :(得分:1)

一般来说,检查Icecast日志会有所帮助。 access.log error.log都可能包含重要信息。此外,调整loglevel并重新启动Icecast使其生效可能会有所帮助。
https://icecast.org/docs/icecast-2.4.1/config-file.html#log

  

连接

     

声明启动时运行的程序。 传递了一个参数,该参数是正在启动的安装点的名称。流的处理不会等待脚本结束。

     

应谨慎行事,因为如果FD编号超过1024,流文件描述符与脚本文件描述符混合的可能性很小。

在下一个Icecast版本中将对此进行进一步处理。

     

此选项在Win32上不可用

(重点是我的)

https://icecast.org/docs/icecast-2.4.1/config-file.html#mountsettings

还请注意,您不能依赖存在的交互式shell的“通常”环境变量,例如不会填充PATH。您可能只想在脚本中export >/tmp/on-connect-env.txt并检查其内容以了解将要使用的内容。同样,您也不能像上面一样将解释器作为命令的一部分传递,您必须 将解释器及其完整路径放在脚本第一行的shebang(#!)中。